Tartalomjegyzék:
- 1. lépés: Hogyan működik a digitális hirdetőtábla?
- 2. lépés: Szükséges dolgok:
- 3. lépés: A grafikus felhasználói felület tervezése az értesítések megjelenítéséhez:
- 4. lépés: CloudMQTT -fiók beállítása:
- 5. lépés: A Raspberry Pi végső kódja:
- 6. lépés: Windows PC GUI:
- 7. lépés: A Windows PC végső kódjának magyarázata:
- 8. lépés: A digitális hirdetőtábla beállítása:
Videó: Digitális hirdetőtábla a Raspberry Pi és az MQTT protokoll használatával: 8 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Az értesítő táblákat szinte mindenhol használják, például irodákban, iskolákban, kórházakban és szállodákban. Újra és újra felhasználhatók fontos értesítések megjelenítésére vagy a közelgő események vagy találkozók hirdetésére. De a hirdetményt vagy hirdetéseket papírra kell nyomtatni, és a hirdetőtáblákra kell rögzíteni.
Ebben az utasításban tanuljuk meg, hogyan építsük fel digitális értesítő táblánkat a Raspberry Pi segítségével, hogy sok papírt és festéket takarítsunk meg!
1. lépés: Hogyan működik a digitális hirdetőtábla?
- A Raspberry Pi egy HDMI -kijelzőhöz csatlakozik, amely a digitális hirdetőtábla.
- A Windows PC -t az értesítés internetes közzétételére használják a Digitális hirdetőtáblán.
- A Windows PC által közzétett értesítést a Digital Notice Board egy CloudMQTT brókeren keresztül kapja meg.
- A Windows PC és a digitális hirdetőtábla közötti kommunikációt az MQTT protokoll biztosítja.
2. lépés: Szükséges dolgok:
- Raspberry Pi Rasbian operációs rendszerrel
- Kijelző HDMI porttal
- Windows PC
- Internet kapcsolat
- CloudMQTT fiók
3. lépés: A grafikus felhasználói felület tervezése az értesítések megjelenítéséhez:
2 GUI -t kell terveznünk, egyet a Raspberry Pi számára, hogy megjelenítse az értesítést a HDMI -kijelzőn, a másikat pedig a Windows PC -hez, hogy közzétegye az értesítést a Raspberry Pi számára a CloudMQTT közvetítőn keresztül.
A grafikus felhasználói felület kialakítása attól függ, hogy hol helyezi el a digitális hirdetőtáblát. Például hadd tervezzek egy GUI -t az Instructables Office számára, hogy megjelenítse a közelgő eseményeket és találkozókat, hogy az alkalmazottak a legfrissebb információkkal frissüljenek.
Könnyű GUI -t tervezni Windows PC -n, ezért tervezzük meg a Digital Notice Board GUI -t a Windows PC -n, és másoljuk át a kódot a Raspberry Pi -re.
Szükséges szoftver:
Anaconda (amely tartalmazza a python 2.7 -et, a Qt Designer csomagot és a Spyder IDE -t).
A Qt Designer a GUI -k tervezésére használt eszköz. A Qt Designer kimenete egy.ui fájl lesz, később átalakítható.py formátumba a további folyamathoz.
Mi történik a videóban ?:
- Töltse le az Anaconda Windows Installer programot a python 2.7 programhoz, és telepítse egy Windows PC -re (normál telepítési folyamat).
- A telepítés után megtalálhatja a Qt Designer eszközt az "installation_directory / Library / bin / designer.exe" mappában (számomra ez a "C: / Anaconda2 / Library / bin / designer.exe")
- Hozzon létre egy parancsikont a "designer.exe" fájlhoz, és helyezze az asztalra.
- nyissa meg a "designer.exe" fájlt.
- Hozzon létre egy új főablakot.
- Válassza ki és helyezze el az elrendezéseket és a szükséges nézeteket (szövegnézet, címke nézet stb.).
- Mentse Rpi_UI.ui fájlként.
- . Py fájlba konvertálásához nyissa meg a cmd parancssort az aktuális mappában, ahol az Rpi_UI.ui fájl létezik, és írja be a következő parancsot
installation_directory / Library / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
számomra az, C: / Anaconda2 / Library / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
ez a parancs átalakítja az Rpi_UI.ui fájlt Rpi_UI.py fájlba, és ugyanabba a könyvtárba helyezi.
- Nyissa meg az Rpi_UI.py fájlt Spyder IDE -vel, amely az Anaconda része.
- A szkript futtatása megjeleníti a korábban tervezett GUI -t.
Ezután állítsuk be a CloudMQTT fiókot.
4. lépés: CloudMQTT -fiók beállítása:
- Látogassa meg ezt a linket.
- Hozzon létre egy fiókot e-mailben, és jelentkezzen be fiókjába.
- Hozzon létre új példányt (én TEST_1 -nek neveztem el).
- Nyissa meg a példányadatokat.
- Jegyezze fel a szervert, a felhasználót, a jelszót és a portot.
- Tekintse meg a CloudMQTT Python dokumentációját, és mentse a szkriptet CloudMQTT.py néven.
- A dokumentációban szereplő példakódhoz paho könyvtár szükséges, telepítse a Paho Python klienst a pip eszközzel, nyissa meg a cmd parancssort rendszergazdaként, és írja be a következő parancsot.
pip install paho-mqtt
5. lépés: A Raspberry Pi végső kódja:
Itt hadd magyarázzam meg, hogyan kombináltam az RPi_UI.py fájlt a CloudMQTT.py -vel, és mentettem el RPi_UI.py néven.
Importálja a könyvtárakat, ha nincs telepítve, csak telepítse
importálja a paho.mqtt.client -t mqtt -ként
import urlparse from PyQt5 import QtGui, QtWidgets, QtCore from PyQt5. QtCore import QTimer, QTime from threading import Thread import sys import re from google_drive_downloader import GoogleDriveDownloader as gdd import os
A googledrivedownloader telepítéséhez használja a parancsot
pip install googledrivedownloader
Változók inicializálása,
icon = "[email protected]"
CompetitionImg = "fekete" meeting1 = "Meeting1:" venue1 = "Idő és helyszín1." meeting2 = "Meeting2:" venue2 = "Idő és helyszín2." meeting3 = "Meeting3:" venue3 = "Idő és helyszín3."
Ezt követi az Ui_MainWindow osztály
osztály Ui_MainWindow (objektum):
def setupUi (self, MainWindow):… def retranslateUi (self, MainWindow):… def _update (self):…
A függvény setupUi következő sorai 3 másodpercenként frissítik a GUI -t a _update függvény meghívásával
self.retranslateUi (MainWindow)
QtCore. QMetaObject.connectSlotsByName (MainWindow) self.timer = QTimer () self.timer.timeout.connect (self._update) self.timer.start (3000)
Az on_message függvény várja az ügynöktől érkező üzenetet, miután az üzenet megérkezett, letölti a képet a Google meghajtóról a Google meghajtó megosztható link azonosítójával, és megváltoztatja a globális változók értékeit is
def on_message (kliens, obj, üzenet):
print (str (msg.payload)) if (str (msg.payload)): noticeReceived = str (msg.payload) eredmény = re.search ('%1 (.*)%2 (.*)%3 (. *)%4 (.*)%5 (.*)%6 (.*)%7 (.*)%8 ', értesítésÉrkezett) globális versenyImg globális találkozó1 globális helyszín1 globális találkozó2 globális helyszín2 globális találkozó3 globális helyszín3 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 = út) versenyImg = eredmény.group (1) meeting1 = result.group (2) helyszín1 = result.group (3) meeting2 = result.group (4) helyszín2 = result.group (5) meeting3 = result.group (6) helyszín3 = eredmény.group (7)
A kód 2 végtelen ciklusból áll,
rc = mqttc.loop ()
és
sys.exit (app.exec_ ())
Annak érdekében, hogy ezeket a köröket egyszerre futtassam, a Threading koncepciót használtam
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 (target) = sqImport, args = [0]) threadB = Thread (target = sqImport, args = [1]) threadA.start () threadB.start () threadA.join () threadB.join ()
Hűvös, befejeztük a Raspberry Pi beállítását, majd tervezzük meg a GUI -t Windows PC -hez, hogy közzétegyük az üzenetet a Raspberry Pi -n.
6. lépés: Windows PC GUI:
- Tervezzen GUI -t a Windows számára, és mentse el Windows_UI.ui néven.
- Konvertálja python fájlba.
- Kombinálja a CloudMQTT.py fájllal, és mentse el Windows_UI.py néven.
- A Windows_UI.py fájl funkciója hasonló az RPi_UI.py fájlhoz, az egyetlen különbség az, hogy a Windows_UI.py fájl közzéteszi az üzenetet, míg az RPi_UI.py fogadja az üzenetet.
7. lépés: A Windows PC végső kódjának magyarázata:
- A Windows_UI.py fájl néhány kivételével tartalmazza az RPi_UI.ui összes osztályát és funkcióját.
- Az on_message függvény helyett van egy on_publish függvénye az üzenet közzétételéhez.
- A retranslateUi függvényben található következő kód meghívja a közzétételi funkciót, miután a PUBLISH gombra kattint.
self.pushButton.clicked.connect (self.publish)
- A közzétételi funkció összefűzi a Google Drive megosztható link azonosítóját és a megbeszélés adatait, és közzéteszi a "megjegyzés" témában.
- Ezt az üzenetet megkapja a Raspberry Pi.
8. lépés: A digitális hirdetőtábla beállítása:
- Csatlakoztassa a Raspberry Pi -t egy HDMI -kijelzőhöz, a Sony TV -t digitális hirdetőtábla -kijelzőként használtam.
- Futtassa az RPi_UI.py fájlt a Raspberry Pi -ben.
- Futtassa a Windows_UI.py fájlt a Windows PC -n.
- Írja be a versenykép Google Drive -link -azonosítóját és a megbeszélés bejelentését.
- Kattintson a PUBLISH gombra.
- Most néhány másodpercen belül láthatja a frissített digitális hirdetőtáblát.
Tippek:
- Létrehozhatja a kívánt számú digitális hirdetőtáblát, és a táblák előfizethetők különböző témákra.
- A Windows_UI.py fájl hordozhatóvá tételéhez konvertálja a fájlt futtatható fájlba a pyinstaller segítségével, így a futtatható fájlt bármely Windows PC -n futtathatja anélkül, hogy a szükséges könyvtárakat telepítené a számítógépre.
Köszönöm
SABARI KANNAN M
Ajánlott:
Bluetooth -vezérelt üzenetküldő LCD -- 16x2 LCD -- Hc05 -- Egyszerű -- Vezeték nélküli hirdetőtábla: 8 lépés
Bluetooth -vezérelt üzenetküldő LCD || 16x2 LCD || Hc05 || Egyszerű || Vezeték nélküli hirdetőtábla: …………………………. További videókért Iratkozzon fel YouTube -csatornámra …… ………………………………… A hirdetőtáblát arra használják, hogy az embereket új információkkal frissítsék vagy Ha a szobában vagy a szobában szeretne üzenetet küldeni
Vezeték nélküli hirdetőtábla (Bluetooth): 5 lépés (képekkel)
Vezeték nélküli értesítő tábla (Bluetooth): Ebben a modern világban, ahol mindent digitalizálnak, miért nem kap új megjelenést a hagyományos hirdetőtábla. Tehát készítsünk Bluetooth -vezérelt hirdetőtáblát, ami nagyon egyszerű. Ez a beállítás használható a statikus értesítés helyett tábla, mint a főiskolákon/bent
Hogyan kell lebontani a digitális féknyerget és hogyan működik a digitális féknyereg: 4 lépés
Hogyan kell lebontani a digitális féknyerget és hogyan működik a digitális féknyereg: Sokan tudják, hogyan kell a féknyerget használni a méréshez. Ez az oktatóanyag megtanítja, hogyan kell lebontani a digitális féknyerget, és elmagyarázza, hogyan működik a digitális féknyereg
Raspberry Pi hirdetőtábla: 11 lépés (képekkel)
Raspberry Pi Bulletinboard: Ez egy projekt, amelyen az egyházam számára dolgoztam. Szerettünk volna egy elektronikus hirdetőtáblát, amelyet a narthex/előcsarnokba szerelnének fel, és néhány másodpercenként ciklikusan mozgatnák a statikus diákat. Ezek voltak a tervezési céljaink: Statikus diák, nincs videó vagy au
Apró hirdetőtábla (egyszerű Arduino projekt): 5 lépés
Apró óriásplakát (egyszerű Arduino -projekt): Az apró hirdetőtábla: Tanulja meg, hogyan jeleníthet meg egyéni üzenetet az LCD -n ezzel az Arduino -projekttel