Orodha ya maudhui:
- Hatua ya 1: Je! Bodi ya Ilani ya Dijiti Inafanyaje?
- Hatua ya 2: Vitu vinahitajika:
- Hatua ya 3: Ubuni wa GUI wa Kuonyesha Ilani:
- Hatua ya 4: Sanidi Akaunti ya CloudMQTT:
- Hatua ya 5: Kanuni ya Mwisho ya Raspberry Pi Imefafanuliwa:
- Hatua ya 6: Windows PC GUI:
- Hatua ya 7: Nambari ya Mwisho ya Windows PC Imefafanuliwa:
- Hatua ya 8: Sanidi Bodi ya Ilani ya Dijiti:
Video: Bodi ya Arifa ya Dijiti Kutumia Raspberry Pi na Itifaki ya MQTT: Hatua 8
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
Bodi za Ilani zinatumika karibu kila mahali, kama ofisi, shule, hospitali, na hoteli. Wanaweza kutumiwa tena na tena kuonyesha arifa muhimu au kutangaza hafla zinazokuja au mikutano. Lakini ilani au matangazo yanapaswa kuchapishwa kwenye karatasi na kubandikwa kwenye bodi za matangazo.
Katika hii inayoweza kufundishwa wacha tujifunze kujenga Bodi yetu ya Ilani ya Dijiti na Raspberry Pi kuokoa nakala nyingi na toner!
Hatua ya 1: Je! Bodi ya Ilani ya Dijiti Inafanyaje?
- Pi ya Raspberry iliyounganishwa na Uonyesho wa HDMI ambayo ni Bodi yetu ya Ilani ya Dijiti.
- Windows PC hutumiwa Kuchapisha ilani kwenye Bodi ya Ilani ya Dijiti kupitia wavuti.
- Ilani iliyochapishwa na Windows PC inapokelewa na Bodi ya Ilani ya Dijiti kupitia dalali wa CloudMQTT.
- Mawasiliano kati ya Windows PC na Bodi ya Ilani ya Dijiti inafanikiwa na itifaki ya MQTT.
Hatua ya 2: Vitu vinahitajika:
- Raspberry Pi na OS ya Rasbian
- Onyesha na bandari ya HDMI
- Windows PC
- Uunganisho wa Mtandao
- Akaunti ya CloudMQTT
Hatua ya 3: Ubuni wa GUI wa Kuonyesha Ilani:
Tunapaswa kubuni GUI 2, moja ya Raspberry Pi kuonyesha ilani kwenye Uonyesho wa HDMI na nyingine kwa Windows PC kuchapisha ilani kwa Raspberry Pi kupitia broker wa CloudMQTT.
Ubunifu wa GUI unategemea mahali ambapo utaweka Bodi ya Ilani ya Dijiti. Kwa mfano, wacha nipange GUI ya Ofisi ya Maagizo ili kuonyesha hafla na mikutano inayokuja ili wafanyikazi wasasishwe na habari mpya.
Ni rahisi kubuni GUI kwenye Windows PC, kwa hivyo wacha tuunde Bodi ya Ilani ya Dijiti kwenye PC ya Windows na unakili nambari hiyo kwa Raspberry Pi.
Programu inahitajika:
Anaconda (ambayo ni pamoja na chatu 2.7, kifurushi cha Qt Designer na Spyder IDE).
Mbuni wa Qt ni chombo kinachotumiwa kubuni GUI. Pato la Mbuni wa Qt litakuwa faili ya.ui, baadaye inaweza kubadilishwa kuwa.py kwa mchakato zaidi.
Je! Ni nini kinatokea kwenye video?
- Pakua Anaconda Windows Installer kwa python 2.7 na uiweke kwenye Windows PC (mchakato wa kawaida wa usanikishaji).
- Baada ya usanikishaji, unaweza kupata zana ya Mbuni wa Qt katika "ufungaji_directory / Maktaba / bin / designer.exe" (kwangu ni "C: / Anaconda2 / Library / bin / designer.exe")
- Unda njia ya mkato ya "designer.exe" na uweke kwenye desktop.
- fungua "designer.exe".
- Unda Dirisha kuu kuu.
- Chagua na uweke mipangilio na maoni yanayotakiwa (mwonekano wa maandishi, mwonekano wa lebo, n.k.).
- Hifadhi kama faili ya Rpi_UI.ui.
- Ili kuibadilisha kuwa faili ya.py fungua cmd haraka kwenye folda ya sasa ambapo faili ya Rpi_UI.ui ipo na andika amri ifuatayo.
ufungaji_directory / Library / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
kwangu ni, C: / Anaconda2 / Maktaba / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
amri hii itabadilisha faili ya Rpi_UI.ui kuwaRpi_UI.py faili na kuiweka kwenye saraka sawa.
- Fungua faili ya Rpi_UI.py na Spyder IDE ambayo imejumuishwa katika Anaconda.
- Kuendesha hati kutaonyesha GUI tuliyoiunda mapema.
Ifuatayo, wacha tuanzishe akaunti ya CloudMQTT.
Hatua ya 4: Sanidi Akaunti ya CloudMQTT:
- Tembelea kiunga hiki.
- Fungua akaunti na E-mail na uingie kwenye akaunti yako.
- Unda mfano mpya (niliipa jina kama TEST_1).
- Fungua maelezo ya hali.
- Andika maelezo ya Seva, Mtumiaji, Nenosiri, na Bandari.
- Rejea Nyaraka ya PythonMQTT na uhifadhi hati kama CloudMQTT.py.
- Nambari ya mfano katika nyaraka inahitaji maktaba ya paho, Sakinisha Mteja wa Paho Python kutumia zana ya bomba, fungua cmd haraka kama msimamizi na ingiza amri ifuatayo.
bomba funga paho-mqtt
Hatua ya 5: Kanuni ya Mwisho ya Raspberry Pi Imefafanuliwa:
Hapa, wacha nieleze jinsi nilichanganya faili ya RPi_UI.py na CloudMQTT.py na kuihifadhi kama RPi_UI.py.
Ingiza maktaba, ikiwa haijasakinishwa ingiza tu
kuagiza paho.mqtt.client kama mqtt
kuagiza urlparse kutoka PyQt5 kuagiza QtGui, QtWidgets, QtCore kutoka PyQt5. QtCore kuagiza QTimer, QTime kutoka kwa threading kuagiza Thread kuagiza sys kuagiza re kutoka google_drive_downloader kuagiza GoogleDriveDownloader kama gdd kuagiza os
Ili kufunga googledrivedownloader, tumia amri
bomba kufunga googledrivedownloader
Kuanzisha anuwai,
ikoni = "[email protected]"
mashindanoImg = mkutano mweusi1 = "Mkutano1:" ukumbi1 = "Wakati na ukumbi1." mkutano2 = "Mkutano2:" ukumbi2 = "Wakati na ukumbi2." mkutano3 = "Mkutano3:" ukumbi3 = "Wakati na ukumbi3."
Ikifuatiwa na darasa Ui_MainWindow
darasa Ui_MainWindow (kitu):
def setupUi (binafsi, MainWindow):… def retranslateUi (self, MainWindow):… def _update (self):…
Mistari ifuatayo katika usanidi wa kazi inasasisha GUI kila sekunde 3 kwa kupiga kazi ya _update
self.retranslateUi (MainWindow)
QtCore. QMetaObject.
Kazi ya on_message inasubiri ujumbe kutoka kwa broker, mara tu ujumbe unapopokelewa unapakua picha kutoka kwa gari la google ukitumia kitambulisho cha kiunga cha kiendeshi cha google na pia hubadilisha maadili ya anuwai za ulimwengu
def on_message (mteja, obj, msg):
chapa (str (msg.payload)) ikiwa (str (msg.payload)): noticeReceived = str (msg.payload) result = re.search ('% 1 (. *)% 2 (. *)% 3 (. *)% 4 (. *)% 5 (. *)% 6 (. *)% 7 (. *)% 8 ', taarifa Imepokelewa) mashindano ya kimataifaImg mkutano wa kimataifa1 ukumbi wa kimataifa1 mkutano wa kimataifa2 ukumbi wa kimataifa2 mkutano wa kimataifa3 ukumbi wa kimataifa3 fileId = "" Kikundi (1) + "" path = "/ home / pi / Desktop / Instructables / RPi UI / ContestImages /" + result.group (1) + " njia) mashindanoImg = matokeo. kikundi (1) mkutano1 = matokeo. kikundi (2) ukumbi1 = matokeo. kikundi (3) mkutano2 = matokeo. kikundi (4) ukumbi2 = matokeo. kikundi (5) mkutano3 = matokeo. kikundi (6) ukumbi3 = matokeo. kikundi (7)
Nambari hiyo ina vitanzi 2 visivyo na kipimo,
rc = mqttc. kitanzi ()
na
sys.exit (programu.exec_ ())
Ili kuendesha vitanzi hivi wakati huo huo, nimetumia dhana ya Threading
def sqImport (tId): ikiwa tId == 0: wakati 1: rc = 0 wakati rc == 0: rc = mqttc.loop () chapa ("rc:" + str (rc)) ikiwa tId == 1: wakati 1: programu = 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 (lengo = sqImport, args = [1]) threadA. Start () threadB.start () thread A. jiunge () threadB.join ()
Baridi, tumekamilisha usanidi wa Raspberry Pi, ijayo tuunde GUI ya Windows PC ili kuchapisha ujumbe kwa Raspberry Pi.
Hatua ya 6: Windows PC GUI:
- Tengeneza GUI ya windows na uihifadhi kama Windows_UI.ui.
- Badilisha iwe faili ya chatu.
- Unganisha na faili ya CloudMQTT.py na uihifadhi kama Windows_UI.py.
- Kazi ya faili ya Windows_UI.py ni sawa na faili ya RPi_UI.py, tofauti pekee ni faili ya Windows_UI.py inachapisha ujumbe huo wakati RPi_UI.py inapokea ujumbe.
Hatua ya 7: Nambari ya Mwisho ya Windows PC Imefafanuliwa:
- Faili ya Windows_UI.py ina madarasa na kazi zote za RPi_UI.ui isipokuwa chache.
- Badala ya kazi ya on_message, ina kazi ya kuchapisha kwenye_kuchapisha ujumbe.
- Nambari ifuatayo ndani ya kazi ya retranslateUi inaita kazi ya kuchapisha mara tu kitufe cha PUBLISH kibonye.
kitufe cha kibinafsi.bonyeza.bonyeza (unganisha).
- Kazi ya kuchapisha inasisitiza kitambulisho cha kiungo kinachoweza kushirikiwa cha google na habari ya mkutano na kuichapisha chini ya mada "ilani".
- Ujumbe huu utapokelewa na Raspberry Pi.
Hatua ya 8: Sanidi Bodi ya Ilani ya Dijiti:
- Unganisha Raspberry Pi kwenye onyesho la HDMI, nimetumia TV yangu ya Sony kama Onyesho la Bodi ya Ilani ya Dijiti.
- Endesha faili ya RPi_UI.py kwenye Raspberry Pi.
- Endesha faili ya Windows_UI.py kwenye Windows PC.
- Ingiza kitambulisho cha kiendeshi cha Google cha picha ya mashindano na tangazo la mkutano.
- Bonyeza kitufe cha KUCHAPISHA.
- Sasa unaweza kuona Bodi ya Tangazo la Dijiti iliyosasishwa ndani ya sekunde chache.
Vidokezo:
- Unaweza kuunda nambari inayotakiwa ya Bodi za Ilani za Dijiti na Bodi zinaweza kusajiliwa kwa Mada tofauti.
- Ili kufanya faili ya Windows_UI.py kubebeka, unaweza kubadilisha faili hiyo kuwa faili inayoweza kutekelezwa ukitumia pyinstaller, ili uweze kuendesha faili inayoweza kutekelezwa kwenye Windows PC yoyote bila kusanikisha maktaba zinazohitajika kwenye PC.
Asante
SABARI KANNAN M
Ilipendekeza:
Dimmer yenye nguvu ya Dijiti ya Dijiti Kutumia STM32: Hatua 15 (na Picha)
Nguvu ya Dijiti ya Dijiti yenye nguvu Kutumia STM32: Na Hesam Moshiri, [email protected] Mizigo ya AC hukaa nasi! Kwa sababu wako kila mahali karibu nasi na angalau vifaa vya nyumbani hutolewa na nguvu kuu. Aina nyingi za vifaa vya viwandani pia zinaendeshwa na awamu moja ya 220V-AC.
Kamera ya Picha Bado ya Dijiti Kutumia Bodi ya ESP32-CAM: Hatua 5
Kamera ya Picha Bado ya Dijiti Kutumia Bodi ya ESP32-CAM: Katika chapisho hili, tutajifunza jinsi ya kujenga kamera ya picha ya dijiti bado kutumia bodi ya ESP32-CAM. Kitufe cha kuweka upya kinapobanwa, bodi itachukua picha, kuihifadhi kwenye kadi ya MicroSD na kisha itarudi kwenye usingizi mzito. Tunatumia EEPROM t
Saa ya Mtandaoni: Tarehe ya Kuonyesha na Wakati na OLED Kutumia ESP8266 NodeMCU Na Itifaki ya NTP: Hatua 6
Saa ya Mtandaoni: Tarehe ya Kuonyesha na Wakati na OLED Kutumia ESP8266 NodeMCU Pamoja na Itifaki ya NTP: Halo jamani katika maagizo haya tutaunda saa ya mtandao ambayo itapata wakati kutoka kwa mtandao ili mradi huu hautahitaji RTC yoyote kuendesha, itahitaji tu kufanya kazi unganisho la mtandao Na kwa mradi huu unahitaji esp8266 ambayo itakuwa na
Jinsi ya Kupanga Bodi ya AVR Kutumia Bodi ya Arduino: Hatua 6
Jinsi ya Kupanga Bodi ya AVR Kutumia Bodi ya Arduino: Je! Una bodi ya kudhibiti microcontroller ya AVR iliyowekwa kote? Je! Ni ngumu kuipanga? Kweli, uko mahali pazuri. Hapa, nitakuonyesha jinsi ya kupanga bodi ndogo ya Atmega8a kwa kutumia bodi ya Arduino Uno kama programu. Kwa hivyo bila furth
Encoder ya NEC ya Itifaki ya Infrared na Bodi ya Decoder: Hatua 5
Encoder ya NEC ya Itifaki ya Infrared na Bodi ya Decoder: Inapokea ishara ya NEC IR iliyobadilishwa au iliyobadilishwa na kuibadilisha kuwa ka ambazo hutumwa nje ya bandari ya serial. Kiwango cha baud cha serial kinachaguliwa kutoka kwa kasi mbili chaguomsingi. Njia ya matumizi chaguomsingi hupitisha mlolongo wa amri na kauri ya kutunga