תוכן עניינים:

מכונת מזין לחיות מחמד עם RasPi ובוט טלגרם: 4 שלבים (עם תמונות)
מכונת מזין לחיות מחמד עם RasPi ובוט טלגרם: 4 שלבים (עם תמונות)

וִידֵאוֹ: מכונת מזין לחיות מחמד עם RasPi ובוט טלגרם: 4 שלבים (עם תמונות)

וִידֵאוֹ: מכונת מזין לחיות מחמד עם RasPi ובוט טלגרם: 4 שלבים (עם תמונות)
וִידֵאוֹ: 2000+ Common Swedish Nouns with Pronunciation · Vocabulary Words · Svenska Ord #1 2024, דֵצֶמבֶּר
Anonim
מכונת מזין לחיות מחמד עם RasPi ובוט טלגרם
מכונת מזין לחיות מחמד עם RasPi ובוט טלגרם
מכונת מזין לחיות מחמד עם RasPi ובוט טלגרם
מכונת מזין לחיות מחמד עם RasPi ובוט טלגרם

קודם כל אני צריך להבהיר שזה לא מכרה רעיונות מקורי, פשוט עדכן והתאם את סקריפט התכנות לעבודה עם מברק, מצאתי אותו ב- Instructable הקודם כך שהזיכויים הם באמת המחבר שלו.

אתה יכול לראות את הגרסה הספרדית של זה בבלוג האישי שלי:

אתה צריך לבנות מעגל קטן שמפעיל מנוע בעל מומנט גבוה, ומכיוון שהידע שלי באלקטרוניקה הוא מאוד מאוד נדיר, נאלצתי להקדיש כמה ימים ללמוד את היסודות על ידי צפייה בסרטונים ב- YouTube.

סקריפט האוטומציה המקורי כתוב ב- Python ומשתמש בחיבור GMail כדי להתייעץ עם הפקודות, מעולם לא השתמשתי בשפת התכנות הזו אבל האמת לא כל כך שונה מהאחרות, שיניתי אותו קצת כך שיתאים יותר לחדש ספריות Python ותהליך האוטומציה יחד עם תצורות מערכת ההפעלה מאפשרות לך לבצע פרמטרים של הדברים הבאים:

  • אינטראקציה באמצעות פקודות שנשלחות לצ'אט הנשלטות באמצעות ChatBots.
  • זה מאפשר לעקוב אחר מצב המזון שנמסר.
  • שולט בכמה אוכל יינתן.
  • יש לו לחצנים המאפשרים לך להאכיל ידנית.
  • הוא אינו מאפשר הזנת יתר על ידי השבתת האכלה במרווחים של 8 שעות.
  • יש לו מצב LCD המציג את הנתונים כתאריך ושעה בפעם הבאה עבור ספק הכוח הבא, ה- SSID שאליו הוא מחובר ל- WiFi וכתובת ה- IP של המכשיר.
  • אופציונלי: מציג כמה בדיחות אקראיות של צ'אק נוריס ו / או טריוויה של מספרים באמצעות זוג APIS ציבורי (גאוני מאת המחבר המקורי).
  • המערכת חסינה מפני הפעלה מחדש עקב הפסקת חשמל מכיוון שהיא שומרת קובץ סטטוס.
  • המערכת מזהה כאשר יש אובדן חיבור ומנסה להתחבר מחדש עד שהוא מצליח.

שלב 1: חומרים משומשים

  • 1 Raperry Pi, רצוי גרסה 3 שכבר משולבת עם כרטיס האלחוט, אתה יכול גם להשתמש בגרסת Pi 3 Zero, זה דורש קצת יותר עבודה כי אתה צריך להלחם את הפינים, אבל גיליתי מאוחר מאוד שזה יכול השתמש באחד מאלה החסכוניים יותר.
  • מנוע חשמלי בעל מומנט אחד גבוה, 37 מ"מ, 3.5 סל"ד ו -12 וולט.
  • בראקט 1 עבור מנוע 37 מ"מ.
  • מסך LCD בעל תווים של 20 x 4 קווים עם בקרת HD44780.
  • 1 מתקן דגנים Zevro דגם WM1001 פיר-D באורך 5 סנטימטרים, קוטר 0.63 ס"מ (יש צורך בחיתוך D כדי להצמיד אותו למתקן)
  • מצמד פיר אחד מ- 1/4 אינץ 'עד 6 מ"מ להצטרפות אל המנוע.

את כל החומרים הקודמים פרט לשניים האחרונים לא יכולתי להשיג אותם בארצתי (או לפחות לא ידעתי היכן ניתן להשיג אותם), אולם המוט והצמד נמצאים כנראה בסדנת ריתוך אך בהיותי הפעם הראשונה שאני עושה משהו ככה, לא היה לי מושג איך זה צריך להתאים את המנוע אז שאלתי את דף הקישורים המתוארים למעלה; מתחת לחומרים שיכולתי לקנות בחנויות המקומיות:

  • 1 קופסת עץ, אני משתמש ברוחב 20.3 ס"מ × 26.7 ס"מ על 13 ס"מ עומק. לקופסה יש דלת שנפתחת ימינה עם חור בגודל 10 ס"מ על 4 ס"מ למיקום מסך LCD (נגרות מקומיות)
  • 3 כפתורי לחיצה
  • 1 פרוטובורד קטן
  • 1 LED של 3.3 וולט (זה לא משנה את הצבע אבל למתח הם בדרך כלל אדומים)
  • טרנזיסטור PN2222 NPN
  • 1 התנגדות של 270 Ω
  • 1 התנגדות של 10 KΩ
  • פוטנציומטר אחד של 10 KΩ
  • דיודת IN4003 (IN4001 או IN4004 יכולה לפעול)
  • מתאם 1 12V 3A
  • מתאם 1 5V 2A
  • 4 ברגים עם אגוז כנף בין 1.5 אינץ 'ל -2 אינץ' (תלוי בעובי העץ המשמש, הם אמורים לתקן את סוגר המנוע לקופסת העץ)
  • כבלים גדילי מגשר בצבעים שונים
  • צינור מתקפל אחד או קבוצה של PVC בקוטר 4 אינץ ', זה תלוי בגובה שבו תיבת העץ תוצב.
  • 1 מרפק PVC המתחבר לגבס הקודם.
  • 3 מלחציים לצינורות לרכב (העולם)
  • 4 רגליים של כבל UTP (אנחנו צריכים את הזוגות המעוותים כדי ליצור את החיבורים)
  • 1 מצלמת רשת אינטרנט, אין צורך ברזולוציה גבוהה.

כמה חומרים שונים שניתן להשיג בחנויות חומרי בניין או שאולי כבר יש לנו: קלטת תעשייתית

  • רתך פח
  • פַּח
  • תרגיל
  • מקדחה 5/16
  • ברגים S8 עם מרחיבים

שלב 2: הצבת המבנה

הצבת המבנה
הצבת המבנה
הצבת המבנה
הצבת המבנה
הצבת המבנה
הצבת המבנה

הרעיון המרכזי הוא להחליף את ידית ההנפקה המגיעה ב- ZEVRO על ידי מוט D אשר לאחר מכן יתחבר אל המנוע באמצעות המצמד. המתקן יצורף לקופסת העץ וארגז העץ לקיר. מכיוון שאני לא יודע הרבה אלקטרוניקה, לא השתמשתי בכל צלחת באקליט כדי להרכיב את המעגל ולכן השתמשתי בלוח הלחם כדי לשים את כל הרכיבים כך שבתחתית הקופסה מהודקים בעזרת ברגים את ה- Rapberry Pi ולוח הלחם שכבר היה לו דבק. על הגב אז פשוט הלכתי להדביק אותו. התיבה חייבת להכיל שלושה כפתורים אשר יפעלו אתחול הטיימר, הפעל את המזין והאחרון יהיה צעד ישיר להפעלת המנוע מבלי לעבור במעגל. המנוע יוחזק בתוך התיבה בעזרת התושבת, כך שרק מוט D המתחבר למתקן יבלוט מהקופסה, בתחתית התיבה תתקן ויתאים את מצלמת הרשת כך שבכל התייעצות ואישור בדואר אני שלח תמונה של איך הצלחת, זה לא להאכיל יותר מדי במקרה שהם לא סיימו את סיבוב האוכל האחרון.

מתחתית המתקן, הצינור שיורד לצלחת הונח והרפק PVC הונח על הבסיס, הנחתי מעט קלטת תעשייתית בשקע כדי למזער את מהירות זרימת המזון והכנתי בסיס מחלק עבור למנוע מזון להתזת בכל מקום. כדי לתקן את הצינור לקיר, השתמש בסוגריים מתכת שאתה מתקן לקיר בעזרת ברגי S8.

על דלת הקופסה אחזו בצלחת מסך ה- LCD והשתמשו בזוגות המעוותים של כבל ה- UTP כדי להעביר אותם ישירות אל הפטל, בקצה השני של הכבלים חוברים את קצות הנקבות של המגשרים כדי להקל על החיבור פנימה. יציאות ה- GPIO של הפטל. זו תהיה תרשים המעגל. אני אנסה להסביר את זה במעט שאני יכול להשיג מאלקטרוניקה.

המנוע מחובר ישירות לקוטב החיובי של שנאי 12 וולט אך כדי שהזרם יזרום עליו לעבור דרך המעגל בקוטב הניטרלי של המנוע, שכן טרנזיסטור זה N2222 משמש. לטרנזיסטורים יש בדרך כלל 3 רגליים המתאימות לאספן, בסיס ופולט, בהתאם לדגם הטרנזיסטור מיקומן של רגליים אלה עשוי להשתנות; טרנזיסטור זה הופך את המתג לפעול. כאן אנו מחברים את הקוטב הנייטרלי של המנוע לאספן הטרנזיסטור, סיכה מס '19 של האוכמנית מחוברת לבסיס באמצעות התנגדות של 270Ω והפולט מחובר למסוף הניטרלי של הטרנזיסטור. שנאי 12V יחד עם אחד מקטבי האדמה של הפטל; הטרנזיסטור יאפשר לזרם הזרם בין אספן לפולט כל עוד הבסיס מגורה במתח מספיק; מאוחר יותר נתכנת את האוכמנית כך שעל פי פקודות מסוימות יציאה 19 תפלט 3.3 וולט, מספיק כדי שהמעגל ימשיך ויפעיל את המנוע.

עבור מסך ה- LCD, חלק אחר של הפרוטובארד משמש במעגל אחר שבו אתה מחבר את הפוטנציומטר 10KΩ אשר דוחה את הניגודיות של הטקסט שמופיע על LCD, כך שאם שום דבר לא מופיע על המסך זה כנראה בגלל שהפוטנציומטר הוא לגמרי סָגוּר; במקרה שלי אני משאיר אותו פתוח לחלוטין כך שהטקסט יהיה ויזואליזציה טובה יותר. בסופו של דבר החיבורים בלוח הלחם יהיו כדלקמן.

שלב 3: תצורת פטל פטל

קודם כל חשוב ליצור את Bot Telegram שהמערכת תנוהל, תזדקק למפתח כדי לשנות את סקריפט הפיתון המצורף. אנא קרא את השלבים במסמך הטלגרם:

core.telegram.org/bots#3-how-do-i-create-a-bot

כדי להגדיר את ה- rapberry, השתמש בגרסת ה- Lite של ה- Rapbian (איננו זקוקים לממשק הגרפי) והחל את התצורה הבסיסית המציגה את raspbian לאחר התקנתו או באמצעות פקודת raspi-config: הרחב את השטח ל -100% והפעל SSH אך הדבר החשוב ביותר הוא לשנות את הסיסמה ושם המשתמש לפאי המשתמש המגיע כברירת מחדל (אחרת, כפי שקרה לי, הם עלולים לסבול מהתקפה של יציאה 22 אם יש להם כתובת IP ציבורית הפונה אל הפטל). מלבד זאת התצורה להתחבר אוטומטית לרשת ה- WiFi שלי (בהנחה שהרשת שלי נקראת "BlogSoriano" והסיסמה שלי היא "$ ecure123!") אנו יוצרים ושומרים את המפתח בקובץ החיבורים האלחוטיים עם הפקודה הבאה:

sudo wpa_passphrase "BlogSoriano" "$ ecure123!" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf>/dev/null

הדבר הבא הוא לעדכן ולהתקין את "פיפ" מערכת ההתקנה של פייתון כך שנכנס כ- root, נעדכן ונתקין את החבילות הדרושות:

sudo -i apt-get update apt-get install build-essential python-dev python-smbus python-pip

עם זאת כבר יש לנו גישה לספריית מחלקת python, עבור הסקריפט שאנו הולכים להשתמש בו, עלינו להתקין את הדברים הבאים:

pip להתקין RPi. GPIO Adafruit-CharLCD httplib2 html2text netifaces טלפוט אלחוטי cv2

לאחר סיום התקנת התלות, נשתמש בתסריט המצורף לשלב זה, אני שומר אותו בנתיב /opt/petfeeder.py וניתן ליצור את הקובץ באמצעות הפקודה nano /opt/petfeeder.py ובתוך קובץ זה. אנו מדביקים את הקוד, או אם יש לך יותר ניסיון ב- Linux, תוכל להוריד ישירות באמצעות wget. בתסריט חשוב לשנות את המשתנים BOTKEY (בשורה 36) ו- SYSPASSWORD (בשורה 23).

אני מבהיר שקוד זה לא נכתב על ידי מאחר שמעולם לא תיכננתי ב- Python, שיניתי אותו רק לעבודה עם הספריות החדשות ועם מסך LCD בגודל 20x4 ושימוש בבוט מברק.

ברגע שיש לנו את הסקריפט, עלינו לשנות את ערכי המשתנים בעזרת המפתח לבוט; לשם כך יש צורך ליצור בוט טלגרם חדש, בכך שזה יהיה רק שמירת הקובץ ויציאה (עם Ctrl + או שמירה ו- ctrl + x עוזב את העורך ננו), אנחנו רק צריכים להיות הוכחה להפעלה מחדש; התסריט עצמו שומר את הפעם האחרונה שבה מערכת החשמל מופעלת, כך שעלינו רק להפעיל את הסקריפט בכל פעם שמערכת ההפעלה מתחילה, לשם כך מצאתי פתרון מאוד מיוחד עם תוכנית בשם supervisor, המותקנת ממאגרי Debian.:

מפקח ההתקנה apt-get

ולאחר ההתקנה, עלינו רק ליצור קובץ תצורה ב- /etc/supervisor/conf.d/petfeeder.conf, שכן במקרה הקודם אנו יכולים ליצור ולשמור אותו באמצעות ננו, לקובץ זה יהיו את הדברים הבאים:

[תוכנית: petfeederd] directory =/opt command = python petfeeder.py autostart = true autorestart = true

לאחר שמירת הקובץ נוכל להשתמש בפקודה supervisorctl [התחל | לעצור | restart] petfeederd, מכיוון שבמקרה זה השירות לא הופעל, אנו מבצעים אותו עם start:

supervisorctl start petfeederd

שלב 4: מוכן לבדיקה

Image
Image
מוכן לבדיקה
מוכן לבדיקה
מוכן לבדיקה
מוכן לבדיקה
מוכן לבדיקה
מוכן לבדיקה

ועם זאת המערכת צריכה לפעול, מסך ה- LCD צריך להציג מידע על מתי זה אמור להיות ההזנה הבאה או אם היא מוכנה להאכיל אם אני אגיד זאת. עליך גם להציג את שם הרשת האלחוטית שאליה אתה מחובר ואת כתובת ה- IP שבה נעשה שימוש במקרה שנצטרך להתחבר באמצעות SSH, אני משתף סרטון קטן שהכנתי, אני מתנצל על איכותו, אני אני לא ממש טוב זה הנושא של הוולוגים.

אתה אמור להיות מסוגל לחפש את הבוט שלך בטלגרם ולשלוח אחת מהפקודות הבאות לאחר שתאשר /תאשר את הצ'אט שלך:

/feed: מתחיל את תהליך ההזנה כל עוד חלפה פרק הזמן המוגדר כפרמטר.

/מתי: הוא מחזיר מידע על מתי הייתה ההזנה האחרונה ותמונה של צלחת המזון.

/צילום: החזר תמונה של צלחת האוכל.

/הפעלה מחדש: הפעל מחדש את המערכת, הגדר את המשתנה של ההזנה האחרונה ל- 0 כדי שתוכל להאכיל באופן מיידי.

/status הוא מודיע על מצב חיבור האינטרנט: SSID של האלחוטי המחובר וכתובת ה- IP שיש למערכת בתוך הרשת.

מוּמלָץ: