Orodha ya maudhui:

Bodi ya Arifa ya Dijiti Kutumia Raspberry Pi na Itifaki ya MQTT: Hatua 8
Bodi ya Arifa ya Dijiti Kutumia Raspberry Pi na Itifaki ya MQTT: Hatua 8

Video: Bodi ya Arifa ya Dijiti Kutumia Raspberry Pi na Itifaki ya MQTT: Hatua 8

Video: Bodi ya Arifa ya Dijiti Kutumia Raspberry Pi na Itifaki ya MQTT: Hatua 8
Video: Шок!!! ДУШИ МЕРТВЕЦОВ В ЗАТОЧЕНИИ У ДЕМОНА В ЭТОМ СТРАШНОМ ДОМЕ / HERE ARE THE SOULS OF THE DEAD 2024, Novemba
Anonim
Image
Image
Bodi ya Arifa ya Dijiti Kutumia Raspberry Pi na Itifaki ya MQTT
Bodi ya Arifa ya Dijiti Kutumia Raspberry Pi na Itifaki ya MQTT

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?

Je! Bodi ya Ilani ya Dijiti Inafanyaje?
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:

  1. Raspberry Pi na OS ya Rasbian
  2. Onyesha na bandari ya HDMI
  3. Windows PC
  4. Uunganisho wa Mtandao
  5. Akaunti ya CloudMQTT

Hatua ya 3: Ubuni wa GUI wa Kuonyesha Ilani:

Image
Image
Ubunifu wa GUI wa Kuonyesha Ilani
Ubunifu 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:

Image
Image
  • 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:

Windows PC GUI
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: