Telegram הוא יישום אופטימלי לשילוב עם Raspberry Pi לכל מטרת הבקרה הניידת שלנו. יש לו תמיכה טובה מאוד למפתחים והמון תכונות מתוכננות להתפרסם בקרוב בכדי לשפר את הביצועים של Telegram Bots. במדריך הקודם למדנו כיצד נוכל להקים בוט מברק לפטל פטל וגם למדנו לשוחח איתו ולשתף תמונות, מסמכים וקבצי שמע.
כעת, נעבור לשלב הבא בלמידה כיצד נוכל לשלוט בסיכות ה- GPIO על פינים של פטל באמצעות Telegram, כדי לספק קצת תמיכה בחומרה לבוט שלנו. במדריך זה נחבר ארבע נוריות לסיכות של פטל GPIO של Raspberry ונחליף אותן באמצעות שפה טבעית (משוחחת כמו) מטלגרם. נשמע מעניין נכון? בואו נתחיל.
חומרים נדרשים:
- ארבעה נוריות LED (בכל צבע)
- פטל פי (עם חיבור לאינטרנט)
- קרש לחם
- חוטי חיבור
דרישות מקדימות:
לפני שתמשיך בהדרכה וודא ש- Raspberry Pi שלך מחובר לאינטרנט ותוכל להריץ תוכניות פיתון ב- Pi שלך. קרא גם את ההדרכה הקודמת כדי לדעת כיצד להקים את הטלגרם בוט עם Raspberry Pi Pi, מכיוון שאניח שאתה מכיר את הדברים האלה כדי להמשיך בפרויקט.
אם אתה לא חדש ב- Raspberry Pi, עקוב אחר מאמר המבוא שלנו ל- Raspberry Pi והדרכות אחרות של Raspberry Pi.
תרשים מעגל:
דיאגרמת המעגל לשליטה על נוריות באמצעות Raspberry Pi ו- Telegram Android App היא לא יותר מארבע נוריות וכמה חוטים מחברים. לא נצטרך את הנגדים המגבילים הנוכחיים מכיוון שהסיכות של Raspberry Pi GPIO פועלות על TTL 3.3V. עקוב אחר המעגל למטה וחבר את ה- LED שלך.
הטבלה הבאה תעזור לך לקבוע את מספר הסיכה ואת מספר ה- GPIO לחיבור של ארבע נוריות.
טרמינל לד |
מספר סיכה |
מספר GPIO |
אנודה ירוקה |
סיכה 31 |
GPIO 6 |
אנודה אדומה |
סיכה 33 |
GPIO 13 |
אנודה צהובה |
סיכה 35 |
GPIO 19 |
אנודה לבנה |
סיכה 37 |
GPIO 26 |
קתודה מכל הארבע |
סיכה 39 |
קרקע, אדמה |
להלן תרשים המעגל בו מחוברות ארבע נוריות על פי הטבלה המפורטת לעיל:
ברגע שהחיבורים שלך הגדרת החומרה שלך אמורה להיראות כמו משהו למטה.
תוכנית פטל פטל:
לאחר שהחומרה מוכנה, נוכל להמשיך בתוכנית Python. בתוכנית זו עלינו לקרוא את הנתונים (ההודעה) שנשלחו מהבוט של Telegram ולהחליף את ה- LED בהתאם. כדי להפוך את זה ליותר טבעי, במקום לבדוק כל משפט ולקודד את המשפט במשפט בתוך התוכנית שלנו, נוכל לבדוק מילים ולהמשיך בהתאם.
אז התוכנית תבדוק בעיקר עבור שתי מילים, הם על ו off. לאחר גילוי אחת משתי המילים הללו, הוא יחפש מילות מפתח אחרות כמו לבן, צהוב, ירוק ואדום. נורית הצבע בהתאמה תופעל רק אם המילה מזוהה. אנו גם נעדכן מחרוזת למילים שזוהו כדי לשלוח הודעה בחזרה לבוט הטלגרם.
את התוכנית המלאה תוכלו למצוא בתחתית עמוד זה; ממש למטה הסברתי את התוכנית על ידי שבירתה לזרועות קטנות משמעותיות.
כדי שתוכנית זו תפעל, אנו זקוקים לטלפוט שהורד וייבא לפטל הפטל שלנו. במדריך הקודם שלנו כבר הורדנו את הטלפורטט בתוך ה- Raspberry Pi שלנו, אז עכשיו אנחנו רק צריכים לייבא אותו לתוכנית שלנו יחד עם ספריית GPIO כפי שמוצג להלן.
ייבא RPi.GPIO כ- GPIO ייבוא טלפוט מ- telepot.loop ייבא את MessageLoop
אנו נשלוט על נורות LED באמצעות תוכנית זו וצבע הנוריות יהיה לבן, צהוב, אדום וירוק. הם מחוברים לסיכות המוצגות בתרשים המעגל; בואו נגדיר את שמות הסיכות עבור נוריות LED אלה בהתבסס על צבען כך שישתמש בהן בתוכנית.
לבן = 26 צהוב = 19 אדום = 13 ירוק = 6
השלב הבא יהיה להגדיר את כל סיכות LED אלה כסיכות פלט ולהגדיר אותן כבויות כברירת מחדל באמצעות השורות שלהלן.
#LED לבן GPIO.setup (לבן, GPIO.OUT) GPIO.output (לבן, 0) # Off Off בהתחלה #ED GPIO צהוב setup (צהוב, GPIO.OUT) GPIO.output (צהוב, 0) # Off בהתחלה # LED GPIO.setup אדום (אדום, GPIO.OUT) GPIO.output (אדום, 0) # Off בהתחלה # LED ירוק GPIO.setup (ירוק, GPIO.OUT) GPIO. output (ירוק, 0) # Off בתחילה
כפי שלמדנו בהדרכה הקודמת שלנו, כל הפעולות שיש לבצע על ידי הבוט של פטל יוגדרו בתוך פעולת הפונקציה. כאן עלינו לגרום לבוט להקשיב להודעה הנשלחת מהנייד, להשוות אותו לכמה מילות מפתח ולהחליף נורית בהתאם.
לכל הודעה שאנו שולחים מהנייד, יהיה מזהה צ'אט ופקודה. מזהה הצ'אט הזה נדרש מהתוכנית כדי להשיב לשולח. אז אנו שומרים את מזהה הצ'אט ואת ההודעה כפי שמוצג להלן.
chat_id = msg command = msg
כעת כל מה שנשלח מהטלפון יישמר כמחרוזת בפקודה המשתנה. לכן, כל שעלינו לעשות הוא לבדוק אם קיימות מילות מפתח במשתנה זה. לפייתון יש פקודה להקל על הדברים כאן. לדוגמא, אם עלינו לבדוק אם המילה "on" קיימת במחרוזת המאוחסנת במשתנה הפקודה נוכל פשוט להשתמש בשורה הבאה.
אם 'מופעל' בפקודה:
באופן דומה אנו בודקים את כל מילות המפתח, ברגע שנקבל "פועל", אנו ממשיכים לבדוק איזה צבע המשתמש ציין. זה נעשה גם על ידי אותן פקודות על ידי השוואה בין אותן מילות מפתח. אנו גם מעדכנים מחרוזת בשם הודעה שניתן להשיב למשתמש כהודעת סטטוס.
אם 'מופעל' בפקודה: הודעה = "מופעלת" אם 'לבן' בפקודה: הודעה = הודעה + "לבן" GPIO. פלט (לבן, 1) אם 'צהוב' בפקודה: הודעה = הודעה + "צהוב" GPIO.פלט (צהוב, 1) אם 'אדום' בפקודה: הודעה = הודעה + "אדום" GPIO. פלט (אדום, 1) אם 'ירוק' בפקודה: הודעה = הודעה + "ירוק" GPIO.פלט (ירוק, 1) אם 'הכל' בפקודה: הודעה = הודעה + "הכל" GPIO.output (לבן, 1) GPIO.output (צהוב, 1) GPIO.output (אדום, 1) GPIO.output (ירוק, 1) הודעה = הודעה + "אור (ים)" telegram_bot.sendMessage (chat_id, הודעה)
כפי שמוצג לעיל אנו מחפשים מילות מפתח כמו 'ירוק', 'לבן', 'אדום', 'צהוב' ו'הכל 'ו'הדליק' את אותה נורית LED בלבד. לאחר סיום העבודה אנו מחזירים למשתמש הודעה על מה שקרה זה עתה. באותה שיטה שניתן להשתמש בהם כדי לכבות את האורות אמיד.
אם 'כבוי' בפקודה: הודעה = "כבוי" אם 'לבן' בפקודה: הודעה = הודעה + "לבן" GPIO. פלט (לבן, 0) אם 'צהוב' בפקודה: הודעה = הודעה + "צהוב" GPIO.פלט (צהוב, 0) אם 'אדום' בפקודה: הודעה = הודעה + "אדום" GPIO. פלט (אדום, 0) אם 'ירוק' בפקודה: הודעה = הודעה + "ירוק" GPIO.פלט (ירוק, 0) אם 'הכל' בפקודה: הודעה = הודעה + "הכל" GPIO.output (לבן, 0) GPIO.output (צהוב, 0) GPIO.output (אדום, 0) GPIO.output (ירוק, 0) הודעה = הודעה + "אור (ים)" telegram_bot.sendMessage (chat_id, הודעה)
שליטה על נוריות עם Raspberry Pi ו- Telegram bot:
חבר את נוריות ה- LED שלך והפעל את התוכנית שלך על פיתון. ודא ששינית את כתובת האסימון עבור הבוט שלך. והתחל להקליד את הפקודות הרצויות לך. לדוגמא להפעלת הנורה האדומה והצהובה תוכלו להשתמש בכל אחת מהפקודות הבאות.
1.Turn על האדום ו Yellow Light
2.Switch על האדום ו צהוב תקין צבע
3. ביום אדום ו צהוב
4.Please לשים על צהוב ו אדום בהיר
כפי שאתה יכול לראות הבוט מחפש רק את מילות המפתח ויתעלם מהמילים האחרות במשפט, כך תוכל לדבר אליו באופן טבעי. את העבודה המלאה של הפרויקט תוכלו למצוא בסרטון הווידיאו המופיע בסוף עמוד זה.
לך על זה! שחקו עם הפרויקט שלכם ותיהנו. אתה יכול לקחת את זה לרמה חדשה לגמרי עכשיו. עם שני ההדרכה המשולבת, יש לנו את הכוח לשלוט בכל חומרה מהטלפון החכם שלנו בכל מקום בעולם ולקבל תשומות / תוצאות מה- Raspberry Pi שלנו בצורה של הודעה, שמע, תמונה ואפילו כמסמך. אם אתה מחליף את הנוריות בממסרים ומכשירי AC, זה יכול להיות אוטומציה ביתית הנשלטת על ידי טלפון חכם. אז השתמשו ביצירתיות שלכם ובנו פרויקטים מגניבים משלכם…
מקווה שאהבתם את הפרויקט ונהניתם לבנות משהו דומה. ספר לי אם יש לך בעיות דרך קטע ההערות ואשמח לעזור לך. שתף אותי גם ברעיון המגניב שלך ותן לנו לראות מה אנחנו יכולים לבנות.