Kazalo:
- 1. korak: Kako deluje digitalna oglasna deska?
- 2. korak: Potrebne stvari:
- 3. korak: Oblikovanje grafičnega vmesnika za prikaz obvestil:
- 4. korak: Nastavite račun CloudMQTT:
- 5. korak: Razložena končna koda Raspberry Pi:
- 6. korak: Vmesnik za računalnik z operacijskim sistemom Windows:
- 7. korak: Pojasnjena končna koda računalnika Windows:
- 8. korak: Nastavitev digitalne oglasne deske:
Video: Digitalna oglasna deska z uporabo protokola Raspberry Pi in MQTT: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Oglasne deske se uporabljajo skoraj povsod, na primer v pisarnah, šolah, bolnišnicah in hotelih. Znova in znova jih lahko uporabite za prikaz pomembnih obvestil ali oglaševanje prihajajočih dogodkov ali srečanj. Vendar je treba obvestilo ali oglase natisniti na papir in jih pritrditi na oglasne deske.
V tem navodilu se naučimo zgraditi našo tablo z digitalnimi obvestili z Raspberry Pi, da prihranimo veliko papirja in tonerja!
1. korak: Kako deluje digitalna oglasna deska?
- Raspberry Pi, povezan z zaslonom HDMI, ki je naša digitalna oglasna deska.
- Računalnik z operacijskim sistemom Windows se uporablja za objavo obvestila na digitalni oglasni deski prek interneta.
- Obvestilo, ki ga objavi računalnik z operacijskim sistemom Windows, prejme tabla za digitalna obvestila prek posrednika CloudMQTT.
- Komunikacija med osebnim računalnikom z operacijskim sistemom Windows in digitalno oglasno desko je dosežena s protokolom MQTT.
2. korak: Potrebne stvari:
- Raspberry Pi z Rasbian OS
- Zaslon z vrati HDMI
- Računalnik z operacijskim sistemom Windows
- Internetna povezava
- Račun CloudMQTT
3. korak: Oblikovanje grafičnega vmesnika za prikaz obvestil:
Oblikovati moramo 2 grafična vmesnika, enega za Raspberry Pi za prikaz obvestila na zaslonu HDMI in drugega za računalnik z operacijskim sistemom Windows za objavo obvestila Raspberry Pi prek posrednika CloudMQTT.
Zasnova grafičnega vmesnika je odvisna od kraja, kamor boste namestili digitalno oglasno desko. Naj na primer oblikujem grafični vmesnik za pisarno Instructables za prikaz prihodnjih dogodkov in sestankov, da bodo zaposleni lahko posodobljeni z najnovejšimi informacijami.
Grafični vmesnik v računalniku z operacijskim sistemom Windows je enostavno oblikovati, zato naj v računalniku z operacijskim sistemom Windows oblikujemo grafični vmesnik digitalne oglasne deske in kodo kopiramo v Raspberry Pi.
Potrebna programska oprema:
Anaconda (ki vključuje python 2.7, paket Qt Designer in Spyder IDE).
Qt Designer je orodje za oblikovanje grafičnih vmesnikov. Izhod Qt Designerja bo datoteka.ui, kasneje pa jo je mogoče za nadaljnji postopek pretvoriti v.py.
Kaj se dogaja v videu?:
- Prenesite Anaconda Windows Installer za python 2.7 in ga namestite v računalnik z operacijskim sistemom Windows (običajen postopek namestitve).
- Po namestitvi lahko najdete orodje Qt Designer v "installation_directory / Library / bin / designer.exe" (zame je to "C: / Anaconda2 / Library / bin / designer.exe")
- Ustvarite bližnjico za "designer.exe" in jo postavite na namizje.
- odprite "designer.exe".
- Ustvarite novo glavno okno.
- Izberite in postavite postavitve in zahtevane poglede (pogled besedila, pogled nalepke itd.).
- Shrani kot datoteko Rpi_UI.ui.
- Če ga želite pretvoriti v datoteko.py, odprite poziv cmd v trenutni mapi, kjer obstaja datoteka Rpi_UI.ui, in vnesite naslednji ukaz
namestitveni_direktorij / Knjižnica / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
zame je, C: / Anaconda2 / Library / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
ta ukaz pretvori datoteko Rpi_UI.ui v datoteko Rpi_UI.py in jo postavi v isti imenik.
- Odprite datoteko Rpi_UI.py z ID -jem Spyder, ki je vključen v Anacondo.
- Zagon skripta bo prikazal grafični vmesnik, ki smo ga oblikovali prej.
Nato nastavimo račun CloudMQTT.
4. korak: Nastavite račun CloudMQTT:
- Obiščite to povezavo.
- Ustvarite račun z e-pošto in se prijavite v svoj račun.
- Ustvari nov primerek (poimenoval sem ga kot TEST_1).
- Odprite podatke o primerku.
- Zabeležite strežnik, uporabnika, geslo in vrata.
- Oglejte si dokumentacijo CloudMQTT Python in shranite skript kot CloudMQTT.py.
- Primer kode v dokumentaciji zahteva knjižnico paho, namestite odjemalca Paho Python z orodjem pip, odprite poziv cmd kot skrbnik in vnesite naslednji ukaz.
pip install paho-mqtt
5. korak: Razložena končna koda Raspberry Pi:
Tukaj naj razložim, kako sem združil datoteko RPi_UI.py z CloudMQTT.py in jo shranil kot RPi_UI.py.
Uvozite knjižnice, če niso nameščene, jih le namestite
uvozite paho.mqtt.client kot mqtt
uvoz urlparse iz PyQt5 uvoz QtGui, QtWidgets, QtCore iz PyQt5. QtCore uvoz QTimer, QTime iz navojev uvozov Thread import sys uvoz re iz google_drive_downloader uvoz GoogleDriveDownloader kot gdd import os
Če želite namestiti googledrivedownloader, uporabite ukaz
pip install googledrivedownloader
Inicializiranje spremenljivk,
icon = "[email protected]"
contestImg = "black" meeting1 = "Meeting1:" venue1 = "Čas in kraj1." meeting2 = "Srečanje2:" venue2 = "Ura in kraj2." meeting3 = "Meeting3:" venue3 = "Čas in kraj3."
Sledi razred Ui_MainWindow
razred Ui_MainWindow (objekt):
def setupUi (self, MainWindow):… def retranslateUi (self, MainWindow):… def _update (self):…
Naslednje vrstice v setupUi funkcije posodabljajo grafični vmesnik vsake 3 sekunde s klicem funkcije _update
self.retranslateUi (MainWindow)
QtCore. QMetaObject.connectSlotsByName (MainWindow) self.timer = QTimer () self.timer.timeout.connect (self._update) self.timer.start (3000)
Funkcija on_message počaka na sporočilo posrednika, ko sporočilo prejme, prenese sliko z google pogona z ID -jem povezave za skupno rabo google drive in spremeni tudi vrednosti globalnih spremenljivk
def on_message (client, obj, msg):
print (str (msg.payload)) if (str (msg.payload)): noticeReceived = str (msg.payload) result = re.search ('%1 (.*)%2 (.*)%3 (. *)%4 (.*)%5 (.*)%6 (.*)%7 (.*)%8 ', obvestilo Prejeto) globalno tekmovanjeImg globalno srečanje1 globalno prizorišče1 globalno srečanje2 globalno mesto2 globalno srečanje3 globalno mesto3 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 = pot) contestImg = rezultat.skupina (1) sestanek1 = rezultat.skupina (2) prizorišče1 = rezultat.skupina (3) sestanek2 = rezultat.skupina (4) venue2 = rezultat.skupina (5) sestanek3 = rezultat.skupina (6) venue3 = rezultat.skupina (7)
Koda je sestavljena iz 2 neskončnih zank,
rc = mqttc.loop ()
in
sys.exit (app.exec_ ())
Za istočasno izvajanje teh zank sem uporabil koncept 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 (target = sqImport, args = [0]) threadB = Thread (target = sqImport, args = [1]) threadA.start () threadB.start () threadA.join () threadB.join ()
Super, končali smo nastavitev Raspberry Pi, nato pa oblikujmo grafični vmesnik za računalnik z operacijskim sistemom Windows, ki bo objavil sporočilo na Raspberry Pi.
6. korak: Vmesnik za računalnik z operacijskim sistemom Windows:
- Oblikujte grafični vmesnik za Windows in ga shranite kot Windows_UI.ui.
- Pretvorite ga v datoteko python.
- Združite ga z datoteko CloudMQTT.py in jo shranite kot Windows_UI.py.
- Funkcija datoteke Windows_UI.py je podobna datoteki RPi_UI.py, razlika je le v tem, da datoteka Windows_UI.py objavi sporočilo, medtem ko RPi_UI.py prejme sporočilo.
7. korak: Pojasnjena končna koda računalnika Windows:
- Datoteka Windows_UI.py vsebuje vse razrede in funkcije RPi_UI.ui, razen nekaj.
- Namesto funkcije on_message ima funkcijo on_publish za objavo sporočila.
- Naslednja koda v okviru funkcije retranslateUi pokliče funkcijo objave, ko kliknete gumb OBJAVI.
self.pushButton.clicked.connect (self.publish)
- Funkcija objave združuje ID povezave za skupno rabo google pogona in podatke o sestanku ter jih objavi pod temo "obvestilo".
- To sporočilo bo prejel Raspberry Pi.
8. korak: Nastavitev digitalne oglasne deske:
- Priključite Raspberry Pi na zaslon HDMI, svoj televizor Sony sem uporabil kot zaslon za digitalno obvestilo.
- Zaženite datoteko RPi_UI.py v Raspberry Pi.
- Zaženite datoteko Windows_UI.py v računalniku z operacijskim sistemom Windows.
- Vnesite ID povezave do Googlovega pogona slike natečaja in napoved srečanja.
- Kliknite gumb OBJAVI.
- Zdaj lahko v nekaj sekundah vidite posodobljeno tablo z digitalnimi obvestili.
Namigi:
- Ustvarite lahko želeno število digitalnih oglasnih desk in se lahko naročite na različne teme.
- Če želite, da je datoteka Windows_UI.py prenosna, jo lahko z pyinstallerjem pretvorite v izvedljivo datoteko, tako da lahko zaženete izvedljivo datoteko v katerem koli računalniku z operacijskim sistemom Windows, ne da bi v računalnik namestili potrebne knjižnice.
Hvala vam
SABARI KANNAN M
Priporočena:
LCD Messenger LCD z nadzorom Bluetooth -- 16x2 LCD -- Hc05 -- Enostavno -- Brezžična oglasna deska: 8 korakov
LCD Messenger LCD z nadzorom Bluetooth || 16x2 LCD || Hc05 || Enostavno || Brezžična oglasna deska: …………………………. PRIJAVITE SE na moj YouTube kanal za več videov …… ………………………………… Oglasna deska se uporablja za posodabljanje ljudi z novimi informacijami ali Če želite poslati sporočilo z v sobi ali na pol
Brezžična oglasna deska (Bluetooth): 5 korakov (s slikami)
Brezžična oglasna deska (Bluetooth): V tem sodobnem svetu, kjer je vse digitalizirano, zakaj ne bi konvencionalna oglasna deska dobila nov videz. Omogočimo torej zelo preprosto tablo z obvestili, ki je pod nadzorom Bluetooth. To nastavitev lahko uporabite namesto statičnega obvestila deska kot na fakultetah/v
Oglasna deska LED traku: 3 koraki
Oglasna deska LED traku: Ta navodila vam bodo povedala postopek ustvarjanja oglasne deske iz posamično naslovljivih LED trakov NeoPixel. Ta projekt je prilagojena različica znaka Josha Levina, ki ga najdete na https://github.com/bigjo
Oglasna deska Raspberry Pi: 11 korakov (s slikami)
Oglasna deska Raspberry Pi: To je projekt, na katerem sem delal za svojo cerkev. Želeli smo elektronsko oglasno desko, ki bi bila nameščena v narteksu/preddverju in bi vsakih nekaj sekund krožila po statičnih diapozitivih. To so bili naši oblikovalski cilji: statični diapozitivi, brez video ali av
IoT RPi LED oglasna deska: 3 koraki (s slikami)
IoT RPi LED oglasna deska: V tem navodilu sem z Raspberry Pi (RPi) izdelal LED oglasno desko, povezano z wifi. Uporabniki se bodo s svojimi brskalniki povezali s spletnim strežnikom Raspberry Pi in oddali kratka sporočila, ki bodo prikazana na 8x8 LED zaslonu. Od interfa