כולנו מכירים את לוח המודעות האלחוטי מכיוון שכבר בנינו לוח מודעות אלחוטי באמצעות GSM וארדואינו. אבל היום אנו הולכים צעד אחד קדימה ובמקום להשתמש ב- GSM כמדיום אלחוטי, הפעם אנו משתמשים באינטרנט כדי לשלוח באופן אלחוטי את ההודעה מדפדפן האינטרנט ל- LCD המחובר ל- Raspberry Pi. ככל שההודעה נשלחת דרך דפדפן האינטרנט, כך ניתן לשלוח אותה באמצעות מחשב, טלפון חכם או טאבלט, כך שהיא תוסיף עוד פרויקט אחד באוסף הפרויקטים שלנו ב- IoT.
בכך אינטרנט מבוקר לוח מודעות, יצרנו שרת אינטרנט מקומי הפגנה, זה יכול להיות שרת גלובלי על גבי אינטרנט. ב- Raspberry Pi השתמשנו ב- LCD בגודל 16x2 כדי להציג הודעה ובקבוק לקבלת ההודעה ברשת. בכל פעם שפטל מקבל הודעה אלחוטית כלשהי מדפדפן האינטרנט, הוא מוצג על גבי LCD. נדון בפירוט אודות דברים אלה במאמר זה.
רכיבים נדרשים:
- פטל פי 3 (כל דגם)
- מתאם USB Wi-Fi (אם לא משתמשים ב- Raspberry Pi 3)
- LCD בגודל 16x2
- לוח לחם
- כבל חשמל לפטל פי
- חוטי חיבור
- סיר 10K
הסבר עבודה ויצירת דף האינטרנט:
בפרויקט זה, המרכיב העיקרי הוא Raspberry Pi, שהוא לב ליבו של פרויקט זה ומשמש לבקרה על התהליכים הקשורים לפרויקט זה. כמו: נהיגה ב- LCD, קבלת "הודעות הודעה" מהשרת וכו '.
כאן יצרנו שרת אינטרנט המספק דרך לשלוח "הודעת הודעה" אל פטל פי באמצעות Flask בדפדפן אינטרנט. הבקבוקון הוא מיקרו-מסגרת עבור פייתון. כלי זה מבוסס על Unicode עם שרת ופיתוח באגים מובנה, תמיכה בבדיקות יחידות משולבות, תמיכה בעוגיות מאובטחות וקל לשימוש, דברים אלה הופכים אותו ליעיל עבור התחביב .
יש לנו יצר דף אינטרנט עם טקסט ו כפתור שלח, שבו אנו יכולים להיכנס "מסר הודעה" שלנו בתיבת הטקסט ולאחר מכן להגיש אותו לשרת על ידי לחיצה על כפתור שלח. יישום אינטרנט זה פותח באמצעות שפת HTML. הקוד של דף אינטרנט זה ניתן להלן וקל מאוד להבנה.
לוח מודעות לניהול בקרה באינטרנט (Circest Digest)
ההודעה הוגשה בהצלחה: {{value}}
{% endif%}המשתמש צריך להעתיק ולהדביק את קוד ה- HTML הנתון לעיל בעורך טקסט כלשהו (פנקס רשימות) ולשמור את הקובץ באמצעות סיומת HTML. לאחר מכן הכניסו את קובץ ה- HTML לאותה תיקייה בה הנחתם את קובץ ה- Python Code (שניתן בסוף) עבור לוח המודעות הנשלט הזה. עכשיו אתה יכול פשוט להפעיל את קוד הפייתון ב- Raspberry Pi, לפתוח את ה- IP_address_of_your_Pi: 8080 בדפדפן האינטרנט (כמו 192.168.1.14:8080) ולהזין את ההודעה וללחוץ על שלח, ברגע שתגיש את ההודעה, תקבל את ההודעה LCD מחובר לפטל פטל. בדקו את כל התהליך בסרטון הדגמה בסוף.
דף האינטרנט נוצר באמצעות שפת HTML, אשר מכילה טופס בעל טקסט ואת להגיש כפתור, עם הכותרת (תג h1) לוח מודעות בקרת אינטרנט . הטופס יש "שינוי" הוא הפעולה אשר תבוצע בקוד באמצעות דואר שיטה, כאשר אנו לוחצים על כפתור שולחים. המחוון הוא בלוק עם תווית "מסר הודעה".
לאחר מכן, אנו יכולים להוסיף שורה אופציונלית כדי להציג את הטקסט ששלחנו ל- Raspberry Pi דרך השרת.
{% אם ערך%}
ההודעה הוגשה בהצלחה: {{value}}
{% endif%}הוא בודק את הערך בתיבת הטקסט ואם יש ערך כלשהו בתיבת הטקסט אז הוא מדפיס את הטקסט בדף האינטרנט עצמו, כך שהמשתמש יוכל לראות גם את ההודעה שנשלחה. כאן 'ערך' הוא "קלט טקסט או הודעת הודעה" שנקליד בתיבת המחוון או בתיבת הטקסט.
הסבר מעגל:
החיבורים ללוח ההודעות האלחוטי הזה קלים מאוד; עלינו לחבר רק LCD עם לוח Raspberry Pi באמצעות כמה מחברים מעל לוח לחם. המשתמש רשאי להשתמש באפס PCB לחיבורים. סיכות RS, RW ו- EN של LCD מחוברות ישירות לסיכה 18, GND ו- 23. וסיכות נתונים של LCD D4, D5, D6, D7 מחוברות ישירות ל- GPIO 24, 16, 20, 21. של Raspberry Pi. משמש לשליטה על בהירות ה- LCD.
זכרו גם אם אין לכם Raspberry Pi 3, עליכם להשתמש במתאם ה- Wi-Fi USB לגרסה נמוכה יותר של Raspberry Pi מכיוון שאין להם Wi-Fi מובנה כמו Raspberry Pi 3.
הסבר לתכנות ובקבוק:
אנו משתמשים כאן בשפת פיתון לצורך התוכנית. לפני קידוד, המשתמש צריך להגדיר את Raspberry Pi. אתה יכול לבדוק את ההדרכות הקודמות שלנו בנושא התחלת העבודה עם Raspberry Pi והתקנה והגדרת תצורה של Raspbian Jessie OS ב- Pi.
לפני התוכנית Raspberry Pi, המשתמש צריך להתקין חבילת תמיכה בבקבוק ב- Raspberry Pi באמצעות פקודות נתונות:
$ pip להתקין בקבוק
אחריה תוכלו להפעיל את תוכנית הפייתון בעורך הפיתונים של Raspberry Pi אך לפני כן עליכם להחליף את כתובת ה- IP בתוכנית לכתובת ה- IP של ה- Raspberry Pi שלכם. אתה יכול לבדוק את כתובת ה- IP של לוח ה- RPi שלך באמצעות הפקודה ifconfig:
Ifconfig
לחלק התכנותי של פרויקט זה תפקיד חשוב מאוד לביצוע כל הפעולות. קודם כל, אנו כוללים ספריות נדרשות עבור Flask, מאתחלים משתנים ומגדירים סיכות עבור LCD.
מייבוא בקבוק בקבוק מייבוא בקבוק render_template, בקש ייבוא RPi.GPIO כ- gpio ייבוא os, זמן app = בקבוק (__ name__) RS = 18 EN = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
עבור LCD, פונקציית def lcd_init () משמשת לאתחול LCD במצב ארבעה סיביות, פונקציית def lcdcmd (ch) משמשת למשלוח פקודה ל- LCD, פונקציית def lcddata (ch) משמשת לשליחת נתונים ל- LCD ו- def lcdstring (Str) פונקציה משמשת לשליחת מחרוזת נתונים ל- LCD. אתה יכול לבדוק את כל הפונקציות האלה בקוד שניתן לאחר מכן.
חלק מתחת לתוכנית משמש לשליחת ההודעה מדפדפן האינטרנט ל- Raspberry Pi באמצעות Flask. תוכל ללמוד עוד על התכנות באמצעות Flask כאן.
@ app.route ("/") def index (): return render_template ('web.html') @ app.route ("/ change", שיטות =) def change (): if request.method == 'POST': # קבלת הערך מדף האינטרנט data1 = request.form lcdcmd (0x01) lcdprint (data1) להחזיר render_template ('web.html', value = data1) אם __name__ == "__main__": app.debug = נכון app.run ('192.168.1.14', port = 8080, debug = True)
אז ככה נוכל לשלוח את ההודעה מהמחשב או מהסמארטפון שלנו ל- LCD של Raspberry Pi ונוכל ליצור לוח מודעות אלחוטי מבוסס IoT הנשלט ברשת. בדוק את קוד הפיתון המלא והדגמת הווידאו להלן.