תוכן עניינים:
- שלב 1: כיצד פועל לוח המודעות הדיגיטלי?
- שלב 2: הדברים הנדרשים:
- שלב 3: עיצוב GUI להצגת הודעות:
- שלב 4: הגדרת חשבון CloudMQTT:
- שלב 5: קוד הסופי של Raspberry Pi מוסבר:
- שלב 6: ממשק המשתמש של Windows PC:
- שלב 7: קוד הסופי של Windows PC מוסבר:
- שלב 8: הגדרת לוח המודעות הדיגיטלי:
וִידֵאוֹ: לוח הודעות דיגיטלי באמצעות פרוטוקול פטל ופרוטוקול MQTT: 8 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
לוחות המודעות משמשים כמעט בכל מקום, כגון משרד, בתי ספר, בתי חולים ומלונות. ניתן להשתמש בהם שוב ושוב להצגת הודעות חשובות או פרסום אירועים או פגישות הקרובות. אבל ההודעה או הפרסומות צריכות להיות מודפסות על נייר והוצמדות על לוחות המודעות.
במדריך זה בואו ללמוד כיצד לבנות את לוח המודעות הדיגיטלי שלנו עם Raspberry Pi כדי לחסוך הרבה ניירות וטונר!
שלב 1: כיצד פועל לוח המודעות הדיגיטלי?
- פטל פטל המחובר לתצוגת HDMI שהיא לוח המודעות הדיגיטלי שלנו.
- מחשב Windows משמש לפרסום ההודעה בלוח המודעות הדיגיטלי באמצעות האינטרנט.
- ההודעה שפורסמה על ידי מחשב Windows מתקבלת על ידי לוח המודעות הדיגיטלי באמצעות מתווך CloudMQTT.
- התקשורת בין מחשב Windows לבין לוח המודעות הדיגיטלי מושגת על ידי פרוטוקול MQTT.
שלב 2: הדברים הנדרשים:
- Raspberry Pi עם מערכת הפעלה Rasbian
- תצוגה עם יציאת HDMI
- מחשב Windows
- חיבור לאינטרנט
- חשבון CloudMQTT
שלב 3: עיצוב GUI להצגת הודעות:
עלינו לעצב 2 GUIs, אחד עבור Raspberry Pi כדי להציג את ההודעה על תצוגת HDMI ואחר עבור Windows PC לפרסם את ההודעה ל- Raspberry Pi באמצעות מתווך CloudMQTT.
עיצוב GUI תלוי במקום שבו אתה עומד להציב את לוח המודעות הדיגיטלי. לדוגמה, הרשה לי לעצב GUI עבור Office Instructables להצגת אירועים ופגישות הקרובות, כך שניתן יהיה לעדכן את העובדים במידע העדכני ביותר.
קל לעצב GUI במחשב Windows, אז תן לנו לעצב את ממשק המשתמש של לוח המודעות הדיגיטלי במחשב Windows ולהעתיק את הקוד ל- Raspberry Pi.
נדרשת תוכנה:
אנקונדה (הכוללת פייתון 2.7, חבילת Qt Designer וספיידר IDE).
מעצב Qt הוא הכלי המשמש לעיצוב ממשקי משתמש. הפלט של מעצב Qt יהיה קובץ.ui, מאוחר יותר ניתן יהיה להמיר אותו ל-.py להמשך תהליך.
מה קורה בסרטון ?:
- הורד את Anaconda Windows Installer עבור python 2.7 והתקן אותו במחשב Windows (תהליך התקנה רגיל).
- לאחר ההתקנה תוכל למצוא את הכלי מעצב Qt ב "installation_directory / Library / bin / designer.exe" (בשבילי הוא "C: / Anaconda2 / Library / bin / designer.exe")
- צור קיצור עבור "designer.exe" והנח אותו על שולחן העבודה.
- פתח את "designer.exe".
- צור חלון ראשי חדש.
- בחר והנח את הפריסות ואת התצוגות הנדרשות (תצוגת טקסט, תצוגת תוויות וכו ').
- שמור כקובץ Rpi_UI.ui.
- כדי להמיר אותו לקובץ.py פתח את שורת cmd בתיקיה הנוכחית שבה קיים הקובץ Rpi_UI.ui והקלד את הפקודה הבאה
installation_directory / Library / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
בשבילי זה, C: / Anaconda2 / Library / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
פקודה זו תמיר את הקובץ Rpi_UI.ui לקובץ Rpi_UI.py ותמקם אותו באותה ספריה.
- פתח את הקובץ Rpi_UI.py עם Spyder IDE הכלול ב- Anaconda.
- הפעלת התסריט תציג את ה- GUI שעיצבנו קודם לכן.
לאחר מכן, הרשה לנו להגדיר את חשבון CloudMQTT.
שלב 4: הגדרת חשבון CloudMQTT:
- בקר בקישור הזה.
- צור חשבון באמצעות דואר אלקטרוני והתחבר לחשבון שלך.
- צור מופע חדש (קראתי לו בשם TEST_1).
- פתח את פרטי המופע.
- רשום את השרת, המשתמש, הסיסמה והיציאה.
- עיין בתיעוד Python של CloudMQTT ושמור את הסקריפט כ- CloudMQTT.py.
- הקוד לדוגמא בתיעוד דורש ספריית paho, התקן את Paho Python Client באמצעות כלי pip, פתח את שורת cmd כמנהל והזן את הפקודה הבאה.
pip התקן paho-mqtt
שלב 5: קוד הסופי של Raspberry Pi מוסבר:
הנה, הרשה לי להסביר את הדרך שבה שילבתי קובץ RPi_UI.py עם CloudMQTT.py ושמרתי אותו כ- RPi_UI.py.
יבוא ספריות, אם היא לא מותקנת פשוט התקן אותה
ייבא את paho.mqtt.client כ- mqtt
ייבוא urlparse מ- PyQt5 ייבוא QtGui, QtWidgets, QtCore מ- PyQt5. QtCore ייבוא QTimer, QTime מיצירת שרשור ייבוא חוטים ייבוא מחדש מ- google_drive_downloader ייבוא GoogleDriveDownloader כ- gdd יבוא מערכת
כדי להתקין googledrivedownloader, השתמש בפקודה
pip התקן googledrivedownloader
אתחול משתנים,
icon = "[email protected]"
contestImg = "black" meeting1 = "Meeting1:" venue1 = "זמן ומקום 1". meeting2 = "Meeting2:" venue2 = "זמן ומקום 2." meeting3 = "Meeting3:" venue3 = "זמן ומקום 3."
ואחריו הכיתה Ui_MainWindow
class Ui_MainWindow (אובייקט):
def setupUi (self, MainWindow): … def retranslateUi (self, MainWindow): … def _update (self):…
השורות הבאות ב- setupUi הפונקציה מעדכנות את GUI כל 3 שניות על ידי קריאה לפונקציה _update
self.retranslateUi (MainWindow)
QtCore. QMetaObject.connectSlotsByName (MainWindow) self.timer = QTimer () self.timer.timeout.connect (self._update) self.timer.start (3000)
הפונקציה on_message ממתינה להודעה מהמתווך, לאחר קבלת ההודעה היא מורידה את התמונה מכונן Google באמצעות מזהה הקישור הניתן לשיתוף של google drive וגם משנה את ערכי המשתנים הגלובליים
def on_message (לקוח, obj, הודעה):
print (str (msg.payload)) if (str (msg.payload)): noticeReceived = str (msg.payload) result = re.search ('%1 (.*)%2 (.*)%3 (. *)%4 (.*)%5 (.*)%6 (.*)%7 (.*)%8 ', noticeReceived) תחרות גלובלית IMG גלובל מפגש 1 מקום עולמי 1 מפגש גלובלי 2 מפגש גלובלי 2 מפגש גלובלי 3 מקום 3 עולמי3 fileId = "" +result.group (1)+"" path = "/home/pi/Desktop/Instructables/RPi UI/ContestImages/"+result.group (1)+". jpg" gdd.download_file_from_google_drive (file_id = fileId, dest_path = נתיב) contestImg = result.group (1) meeting1 = result.group (2) venue1 = result.group (3) meeting2 = result.group (4) venue2 = result.group (5) meeting3 = result.group (6) venue3 = result.group (7)
הקוד מורכב משתי לולאות אינסופיות,
rc = mqttc.loop ()
ו
sys.exit (app.exec_ ())
על מנת להריץ את הלולאות האלה בו זמנית, השתמשתי בתפיסת ה- Threading
def sqImport (tId): if tId == 0: while 1: rc = 0 while rc == 0: rc = mqttc.loop () print ("rc:" + str (rc)) if tId == 1: while 1: app = QtWidgets. QApplication (sys.argv) MainWindow = QtWidgets. QMainWindow () ui = Ui_MainWindow () ui.setupUi (MainWindow) MainWindow.show () sys.exit (app.exec_ ()) threadA = Thread (יעד = sqImport, args = [0]) threadB = Thread (target = sqImport, args = [1]) threadA.start () threadB.start () threadA.join () threadB.join ()
מגניב, סיימנו את ההתקנה של Raspberry Pi, ותן לנו לעצב GUI עבור מחשב Windows כדי לפרסם את ההודעה ל- Raspberry Pi.
שלב 6: ממשק המשתמש של Windows PC:
- עיצוב GUI עבור Windows ושמור אותו כ- Windows_UI.ui.
- המר אותו לקובץ פייתון.
- שלב אותו עם הקובץ CloudMQTT.py ושמור אותו כ- Windows_UI.py.
- הפונקציה של קובץ Windows_UI.py דומה לקובץ RPi_UI.py, ההבדל היחיד הוא הקובץ Windows_UI.py המפרסם את ההודעה ואילו RPi_UI.py מקבל את ההודעה.
שלב 7: קוד הסופי של Windows PC מוסבר:
- הקובץ Windows_UI.py כולל את כל המחלקות והפונקציות של RPi_UI.ui למעט כמה.
- במקום הפונקציה on_message, יש לה פונקציה on_publish לפרסום ההודעה.
- הקוד הבא בתוך הפונקציה retranslateUi קורא לפונקציית הפרסום לאחר לחיצה על הלחצן PUBLISH.
self.pushButton.clicked.connect (self.publish)
- פונקציית הפרסום מחברת את מזהה הקישור הניתן לשיתוף ב- Google Drive ואת פרטי הפגישה ומפרסמים אותו תחת הנושא "הודעה".
- הודעה זו תתקבל על ידי ה- Raspberry Pi.
שלב 8: הגדרת לוח המודעות הדיגיטלי:
- חבר את ה- Raspberry Pi לתצוגת HDMI, השתמשתי בטלוויזיה של סוני כתצוגת לוח המודעות הדיגיטלית.
- הפעל את הקובץ RPi_UI.py ב- Raspberry Pi.
- הפעל את הקובץ Windows_UI.py במחשב Windows.
- הזן את מזהה הקישור של כונן Google של תמונת התחרות ואת הודעת הפגישה.
- לחץ על הלחצן פרסם.
- כעת תוכל לראות את לוח המודעות הדיגיטלי המעודכן תוך מספר שניות.
רמזים:
- אתה יכול ליצור את המספר הרצוי של לוחות המודעות הדיגיטליים וניתן להירשם ללוחות לנושאים שונים.
- כדי להפוך את הקובץ Windows_UI.py לנייד, תוכל להמיר את הקובץ לקובץ הפעלה באמצעות pyinstaller, כך שתוכל להריץ את קובץ ההפעלה בכל מחשב Windows מבלי להתקין את הספריות הנדרשות במחשב האישי.
תודה
SABARI KANNAN M
מוּמלָץ:
לוח תוצאות של פטל פטל: 4 שלבים
לוח תוצאות של פטל פאי: היום אסביר כיצד הכנתי לוח תוצאות זה הנשלט על ידי פטל פטל ומונע על ידי ספק כוח 5V. הוא משתמש בשילוב של נוריות ws2811 ו- ws2812b לתאורה והמבנה עשוי דיקט ועץ אלון אדום. לגרסה
תצוגת Nextion - ממשק ופרוטוקול מוסברים באמצעות PIC וארדואינו: 10 שלבים
תצוגת Nextion | ממשק ופרוטוקול מוסברים באמצעות PIC וארדואינו: תצוגת Nextion קלה מאוד לתפעול וממשק קל עם בקר מיקרו. בעזרת עורך Nextion נוכל להגדיר את התצוגה ונוכל לעצב ממשק משתמש על גבי תצוגה. כך מבוסס על אירועים או פקודות תצוגת Nextion יפעל על מנת להציג את
כיצד ליצור אתר לוח הודעות באמצעות PHP ו- MYSQL: 5 שלבים
כיצד להכין אתר לוח מודעות באמצעות PHP ו- MYSQL: מדריך זה יראה לך כיצד ליצור אתר לוח מודעות באמצעות php, mysql, html ו- css. אם אתה חדש בפיתוח אתרים, אל תדאג, יהיו הסברים מפורטים ואנלוגיות כדי שתוכל להבין טוב יותר את המושגים. מַחצֶלֶת
Claqueta Digital Con Arduino (לוח לוח דיגיטלי עם Arduino): 7 שלבים
Claqueta Digital Con Arduino (Digital Clapperboard With Arduino): יצירת ספרים קלאסיים דיגיטליים, ניתן להמיר ממך לא קלטה ולא דיגיטלית, להשתמש בארדואינו. קון ארדואינו. ארדואין
מנהל שרת / לוח אירוח אתרים עבור פטל פטל (Ajenti): 5 שלבים
מנהל / שרת פאנל אירוח אתרים עבור פטל פטל (Ajenti): שלום וברוכים הבאים למדריך הראשון שלי. מדריך זה עוסק בהתקנת Ajenti על פטל פטל. אך ניתן להשתמש במדריך זה גם להתקנת ajenti בכל מערכת הפעלה מבוססת דביאן. מהי Ajenti? Ajenti הוא פאנל לניהול שרת פתוח ש