תוכן עניינים:
וִידֵאוֹ: לוח הודעות IoT RPi LED: 3 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
במדריך זה הכנתי לוח הודעות LED המחובר ל- WiFi באמצעות פטל פטל (RPi). משתמשים יתחברו לשרת האינטרנט של ה- Raspberry Pi באמצעות הדפדפנים שלהם כדי לשלוח הודעות קצרות שיופיעו בתצוגת 8x8 LED. מכיוון שממשק מטריצת 8x8 LED עם מנהל ההתקן MAX7219 בפייתון מתועד היטב על ידי אחרים באינטרנט, פרויקט זה מתמקד בבניית ממשק שרת אינטרנט ושימוש ב- ZeroMQ Messaging לניהול הודעות נכנסות.
עדכון: להלן פרויקט המשך IoT Decimal/Hexadecimal 8x8 LED Matrix Drawing Board
(אני מנחה מועדונים של Girls Who Code Club והבאתי עם הפרויקט הפשוט הזה ללמד סטודנטים על עיצוב ממשקי אינטרנט והודעות.)
שלב 1: התקנת חומרה
פרויקט זה דורש חומרה הבאה:
- פאי פטל
- מקור כוח USB כגון Anker עם כבל USB קצר ל- MicroUSB
- מודול מטריקס MAX7219 עם כבל סרט (Aliexpress בפחות מ -2 $)
- מארז (הכנתי אחת מתוך קופסת קרטון וריסוס בצבע שחור)
התקנת חומרה היא החלק הקל. כל שעליך לעשות הוא לחבר כבל סרט 5 חוטים ממטריצת ה- LED למסמך ספריית RPi לכל MAX7219.
LED-> RPi ======== VCC-> GPIO Pin #2 (5v) GND-> GPIO Pin #6 (GND) DIN-> GPIO Pin #19CS-> GPIO Pin #24CLK-> GPIO Pin # 23
השתמשתי בקלטת קצף דו צדדית להדבקת יחידת ה- LED למארז RPi. לאחר מכן, הכנתי מארז מקופסת קרטון כדי להכיל RPi וסוללה.
שלב 2: התקנת תוכנה
ל- RPi צריכה להיות התוכנה הבאה:
- פייתון 3
- שומר אינטרנט של Apache 2
- מנהל התקן Max7219 עבור פייתון
- העברת הודעות ZeroMQ
פייתון 3
RPi צריך להיות מותקן מראש ב- Python 3. בעוד הקוד שלי כתוב עבור Python 3, Python 2 אמור לעבוד עם מעט שינויים קלים.
אפאצ'י 2
הגדר Apache והפעל סקריפטים של Python CGI. להלן מספר משאבים מצוינים להגדרת Apache ב- RPi כך שלא אחזור כאן. פשוט עקוב אחר ההדרכות להלן כדי להגדיר Apache ו- CGI. ודא כי סקריפטים של.py ניתנים להפעלה מדפדפן.
- https://raspberrywebserver.com/cgiscripting/
- https://www.knight-of-pi.org/apache-web-server-with-cgi-for-python/
נהג Max7291
התקן את מנהל ההתקן Max7219 על ידי ביצוע מדריך ההתקנה העדכני ביותר:
https://max7219.readthedocs.io/en/latest/install.html
לאחר ההתקנה, הפעל את הקוד לדוגמא, matrix_test.py, לפי מדריך ההתקנה להצגת "שלום עולם" על מטריצת ה- LED. זה צריך לעבוד לפני שעוברים לשלב הבא.
הודעות ZeroMQ
מדוע אנו זקוקים להודעות? נסה להריץ את קוד הדוגמא לעיל, matrix_test.py, בשני מסכי מסוף בו זמנית. המערכת תאפשר לרוץ מספר קודים בו זמנית אך תראה הודעות חופפות וזה לא רצוי. בסביבת משתמש אחד, ייתכן שזו לא בעיה, מכיוון שאתה יכול לוודא שרק תוכנית אחת יכולה לפעול בכל פעם. בסביבה מרובת משתמשים כגון אינטרנט, המערכת צריכה ליצור תור של FIFO (First-In-First-Out) כדי לוודא שרק אדם אחד יכול לבצע את הקוד בזמן שאחרים ממתינים. למרות שיש אולי פתרונות אחרים להשיג זאת, החלטתי להשתמש ב- ZeroMQ לניהול התור של FIFO. קוד שרת ZeroMQ מכיל את קריאת הפונקציה בפועל להצגת הודעה על מטריצת ה- LED אחת בכל פעם, בעוד שרת האינטרנט פועל כלקוח ZeroMQ לשאול ולשלוח הודעות לשרת ZeroMQ. כך, בעוד מספר משתמשים יכולים לשלוח הודעות באמצעות דף אינטרנט בו זמנית, שרת ZeroMQ יציג הודעה אחת בכל פעם.
עבור פרויקט זה, נתקין את חבילת Python pyzmq ולא את כל חבילת ZeroMQ.
לָרוּץ:
sudo pip3 התקן pyzmq
קרא את מדריך ZeroMQ ב https://zguide.zeromq.org ונסה את שרת העולם שלום ודוגמא לקוח ב- Python. העתק את קוד הדוגמה של Python הן לשרת והן ללקוח ל- RPi וודא שהם פועלים לפני שעבור לשלב הבא.
שלב 3: הגדרת דף אינטרנט
בדף האינטרנט השתמשתי במסגרת ה- bootstrap css/js בכדי לגרום לדף להיראות יפה. זה אופציונלי לחלוטין.
הורד את הקובץ המצורף led_msg.tar.gz לשורש Apache או לספריית המשנה. כדי לבטל את סימון קובץ הזפת gzip'd, הפעל:
tar -xzvf led_msg.tar.gz
פעולה זו יוצרת את הקבצים הבאים:
msg.py (תוכנית ראשית)
תבניות/interstitial.html (תבנית HTML) תבניות/send_msg.html (תבנית HTML) static/img/led_150x150-j.webp
לחלופין, התקן את מסגרת ה- bootstrap css/js תחת הספרייה הסטטית.
הזן את כתובת האתר של msg.py בדפדפן שלך וודא שדף האינטרנט יופיע. אל תשלח הודעה עדיין !!!
לפני שניתן יהיה לשלוח הודעות, יש להפעיל את שרת ZeroMQ כדי לקבל הודעות מלקוח דף האינטרנט ולהציג אותן על מטריצת ה- LED. שום דבר לא יוצג על המסך אם שרת ZeroMQ אינו פועל.
הורד את הקוד max7219_server.py המצורף לספריית הבית שלך, לא ב- dir apache root שבו הוא יכול להתבצע על ידי משתמשי אינטרנט. הפעל אותו כשורש:
sudo python max7219_server.py
כעת שרת ZeroMQ מוכן לקבל הודעות מדף האינטרנט. הזן ושלח הודעה פשוטה מדף האינטרנט. אם הכל מוגדר כראוי, תראה את ההודעה הזו על מסך שרת ZeroMQ כמו גם על מטריקס LED.
אם אתה רוצה לכבות את השרת, פשוט בצע את Control-C כדי לצאת ממסך השרת.
זהו זה. מקווה שתיהנו מהפרויקט הזה כמוני.
שיפור אחד שתוכל לבצע הוא להפוך את התקשורת ZeroMQ בין השרת ללקוחות לא -סינכרונית, כך שדף האינטרנט לא יחכה בזמן הצגת הודעות אחרות. כמו כן, תוכל לצרף מטריצת LED נוספת במצב אשד. אשאיר זאת בידיך.
מוּמלָץ:
מסך שליח מבוקר Bluetooth -- 16x2 LCD -- Hc05 -- פשוט -- לוח הודעות אלחוטי: 8 שלבים
מסך שליח מבוקר Bluetooth || 16x2 LCD || Hc05 || פשוט || לוח הודעות אלחוטי: …………………………. אנא הירשם לערוץ היוטיוב שלי לסרטונים נוספים …… ………………………………… לוח המודעות משמש לעדכון אנשים במידע חדש או אם אתה רוצה לשלוח הודעה בחדר או בחלל
לוח הודעות אלחוטי (Bluetooth): 5 שלבים (עם תמונות)
לוח הודעות אלחוטי (Bluetooth): בעולם המודרני הזה שבו הכל דיגיטאלי, מדוע לא לוח מודעות רגיל יקבל מראה חדש. אז אפשר ליצור לוח מודעות מבוקר Bluetooth שהוא פשוט מאוד. ניתן להשתמש בהתקנה זו במקום הודעה סטטית. לוח כמו במכללות/ב
לוח הודעות רצועת LED: 3 שלבים
לוח הודעות LED Strip: מדריך זה ינחה אותך בתהליך יצירת לוח מודעות מתוך רצועות LED NeoPixel הניתנות להתייחסות בנפרד. פרויקט זה הוא גרסה מותאמת לשלט המיוצר על ידי ג'וש לוין, שניתן למצוא בכתובת https://github.com/bigjo
לוח לוח לוח: 7 שלבים
לוח לוח: לפני זמן רב מאוד מצאתי כותב NC של Rotring ללא הבקר. שכחתי לגמרי מה אני רוצה לעשות עם זה, אבל בשבוע שעבר מצאתי אותו שוב ואני רוצה להכין ממנו מגש לוח. כתב היד האישי שלי על הלוח הוא לא
כיצד ליצור אתר לוח הודעות באמצעות PHP ו- MYSQL: 5 שלבים
כיצד להכין אתר לוח מודעות באמצעות PHP ו- MYSQL: מדריך זה יראה לך כיצד ליצור אתר לוח מודעות באמצעות php, mysql, html ו- css. אם אתה חדש בפיתוח אתרים, אל תדאג, יהיו הסברים מפורטים ואנלוגיות כדי שתוכל להבין טוב יותר את המושגים. מַחצֶלֶת