Orodha ya maudhui:
- Hatua ya 1: Usanidi wa vifaa
- Hatua ya 2: Usanidi wa Programu
- Hatua ya 3: Usanidi wa Ukurasa wa Wavuti
Video: IoT RPi Bodi ya Ujumbe wa LED: Hatua 3 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Katika hii Inayoweza kufundishwa, nimeunda bodi ya ujumbe iliyounganishwa na wifi kwa kutumia Raspberry Pi (RPi). Watumiaji wataunganisha kwenye seva ya wavuti ya Raspberry Pi wakitumia vivinjari vyao kuwasilisha ujumbe mfupi ambao utaonekana kwenye onyesho la 8x8 LED. Kwa kuwa kuingiliana kwa tumbo la 8x8 la LED na dereva wa MAX7219 huko Python imeandikwa vizuri na wengine kwenye mtandao, mradi huu unazingatia kujenga kiolesura cha webserver na kutumia Ujumbe wa ZeroMQ kudhibiti ujumbe unaoingia.
Sasisha: Hapa kuna mradi wa ufuatiliaji IoT Decimal / Hexadecimal 8x8 LED Matrix Drawing Board
(Mimi ni mwezeshaji wa kilabu cha Wasichana Who Code Club na nilikuja na mradi huu rahisi kufundisha wanafunzi juu ya muundo wa wavuti na ujumbe.)
Hatua ya 1: Usanidi wa vifaa
Mradi huu unahitaji vifaa vifuatavyo:
- Pi ya Raspberry
- Chanzo cha umeme cha USB kama Anker na USB fupi kwa kebo ya MicroUSB
- Moduli ya tumbo ya MAX7219 ya dot na kebo ya utepe (Aliexpress kwa chini ya $ 2)
- Ufungaji (nilitengeneza moja kutoka kwenye sanduku la kadibodi na dawa ya kupaka rangi nyeusi)
Usanidi wa vifaa ni sehemu rahisi. Unganisha tu kebo ya waya 5 kutoka kwa tumbo la LED hadi RPi kwa hati ya maktaba ya MAX7219.
LED-> RPi ======== VCC-> GPIO Pin # 2 (5v) GND-> GPIO Pin # 6 (GND) DIN-> GPIO Pin # 19CS -> GPIO Pin # 24CLK-> GPIO Pin # 23
Nilitumia mkanda wa povu wenye pande mbili kubandika kitengo cha LED kwenye kesi ya RPi. Kisha, nilitengeneza kizuizi kutoka kwenye sanduku la kadibodi ili kuweka RPi na betri.
Hatua ya 2: Usanidi wa Programu
RPi inapaswa kuwa na programu ifuatayo:
- Python 3
- Mtaftaji wa wavuti wa Apache 2
- Dereva wa Max7219 wa chatu
- Ujumbe wa ZeroMQ
Python 3
RPi inapaswa kuwa na Python 3 tayari iliyowekwa tayari. Wakati nambari yangu imeandikwa kwa Python 3, Python 2 inapaswa kufanya kazi na mabadiliko kadhaa madogo.
Apache 2
Sanidi Apache na uwezeshe Python CGI scripting. Chini ni rasilimali kubwa kadhaa za kuanzisha Apache kwenye RPi kwa hivyo sitarudia hapa. Fuata tu mafunzo hapa chini ili kusanidi Apache na CGI. Hakikisha hati za.py zinatekelezwa kutoka kwa kivinjari.
- https://raspberrywebserver.com/cgiscripting/
- https://www.knight-of-pi.org/apache-web-server-with-cgi-for-python/
Dereva wa Max7291
Sakinisha dereva wa Max7219 kwa kufuata mwongozo wa hivi karibuni wa kusakinisha:
https://max7219.readthedocs.io/en/latest/install.html
Baada ya kusakinisha, endesha nambari ya mfano, matrix_test.py, kwa mwongozo wa kusanikisha kuonyesha "Hello World" kwenye Matrix ya LED. Hii inapaswa kufanya kazi kabla ya kwenda hatua inayofuata.
Ujumbe wa ZeroMQ
Kwa nini tunahitaji Ujumbe? Jaribu kutumia nambari ya mfano hapo juu, matrix_test.py, kwenye skrini mbili za terminal wakati huo huo. Mfumo huo utaruhusu nambari kadhaa za simu kuendesha wakati huo huo lakini utaona ujumbe ukipishana ambao hauhitajiki. Katika mazingira moja ya mtumiaji, hii inaweza kuwa sio shida kwani unaweza kuhakikisha kuwa programu moja tu inaweza kuendesha kwa wakati mmoja. Katika mazingira ya watumiaji anuwai kama wavuti, mfumo lazima uunde FIFO (Kwanza-Kwanza-Kwanza-Kati) foleni ili kuhakikisha ni mtu mmoja tu anayeweza kutekeleza nambari wakati wengine wanangoja. Wakati kunaweza kuwa na suluhisho zingine kufanikisha hili, niliamua kutumia ZeroMQ kusimamia foleni ya FIFO. Nambari ya seva ya ZeroMQ ina simu halisi ya kazi ili kuonyesha ujumbe kwenye tumbo la LED moja kwa wakati wakati seva ya wavuti hufanya kama mteja wa ZeroMQ kuuliza na kuwasilisha ujumbe kwa seva ya ZeroMQ. Kwa njia hii, wakati watumiaji wengi wangeweza kuwasilisha ujumbe kupitia ukurasa wa wavuti wakati huo huo, seva ya ZeroMQ itaonyesha ujumbe mmoja tu kwa wakati mmoja.
Kwa mradi huu, tutaweka tu kifurushi cha Python pyzmq na sio kifurushi chote cha ZeroMQ.
kukimbia:
sudo pip3 kufunga pyzmq
Soma mwongozo wa ZeroMQ kwenye https://zguide.zeromq.org na ujaribu seva ya ulimwengu ya hello na mfano wa mteja katika Python. Nakili msimbo wa mfano wa Python kwa seva na mteja kwa RPi na uhakikishe wanafanya kazi kabla ya kwenda hatua inayofuata.
Hatua ya 3: Usanidi wa Ukurasa wa Wavuti
Katika ukurasa wa wavuti, nilitumia mfumo wa bootstrap css / js kufanya ukurasa uonekane mzuri. Hii ni hiari kabisa.
Pakua faili iliyoongozwa ya led_msg.tar.gz kwenye mzizi wa Apache au saraka ndogo. Ili kufungua faili ya gzip'd tar, endesha:
tar -xzvf inayoongozwa_msg.tar.gz
Hii inaunda faili zifuatazo:
msg.py (programu kuu)
templates / interstitial.
Kwa hiari, sakinisha bootstrap css / js mfumo chini ya saraka ya tuli.
Ingiza URL ya msg.py kivinjari chako na uhakikishe ukurasa wa wavuti unakuja. Usiwasilishe ujumbe bado !!!
Kabla ya ujumbe kuwasilishwa, seva ya ZeroMQ lazima ianzishwe kupokea ujumbe kutoka kwa mteja wa ukurasa wa wavuti na kuonyeshwa kwenye tumbo la LED. Hakuna chochote kitaonyesha kwenye skrini ikiwa seva ya ZeroMQ haifanyi kazi.
Pakua nambari iliyoambatishwa max7219_server.py kwenye saraka yako ya nyumbani, sio kwenye mizizi ya Apache ambapo inaweza kutekelezwa na watumiaji wa wavuti. Endesha kama mzizi:
sudo chatu max7219_server.py
Sasa seva ya ZeroMQ iko tayari kupokea ujumbe kutoka kwa ukurasa wa wavuti. Ingiza na uwasilishe ujumbe rahisi kutoka kwa ukurasa wa wavuti. Ikiwa kila kitu kimewekwa kwa usahihi, utaona ujumbe huo kwenye skrini ya seva ya ZeroMQ na pia kwenye Matrix ya LED.
Ikiwa unataka kuzima seva, fanya tu Udhibiti-C ili kutoka skrini ya seva.
Hiyo tu. Natumahi utafurahiya mradi huu kama vile nilivyofanya.
Kuboresha moja unayoweza kufanya ni kufanya mawasiliano ya ZeroMQ kati ya seva na wateja kuwa sawa ili ukurasa wa wavuti usisubiri wakati ujumbe mwingine unaonyeshwa. Pia, unaweza kushikamana na matrix ya ziada ya LED katika hali ya kuteleza. Nitakuachia hiyo.
Ilipendekeza:
Bodi ya Ujumbe wa Ukanda wa LED: Hatua 3
Bodi ya Ujumbe wa Ukanda wa LED: Hii inayoweza kufundishwa itakutembea kupitia mchakato wa kuunda bodi ya ujumbe kutoka kwa vipande vya LED vya NeoPixel vinavyojibiwa. Mradi huu ni toleo lililobadilishwa la ishara iliyozalishwa na Josh Levine, ambayo inaweza kupatikana kwenye https://github.com/bigjo
Bodi ya MXY - Bodi ya Uchoraji wa chini ya Bajeti ya XY ya Bajeti: Hatua 8 (na Picha)
Bodi ya MXY - Bodi ya Robot ya Kuchora ya Bajeti ya chini ya Bajeti: Lengo langu lilikuwa kubuni bodi ya mXY kutengeneza bajeti ndogo mashine ya kuchora ya XY. Kwa hivyo nilibuni bodi ambayo inafanya iwe rahisi kwa wale ambao wanataka kufanya mradi huu. Katika mradi uliopita, wakati wa kutumia pcs 2 Nema17 stepper motors, bodi hii u
Jinsi ya kutengeneza Tovuti ya Bodi ya Ujumbe Kutumia PHP na MySQL: Hatua 5
Jinsi ya kutengeneza Tovuti ya Bodi ya Ujumbe Kutumia PHP na MYSQL: Hii inayoweza kufundishwa itakuonyesha jinsi ya kuunda wavuti ya bodi ya ujumbe ukitumia php, mysql, html, na css. Ikiwa wewe ni mpya kwa ukuzaji wa wavuti, usijali, kutakuwa na maelezo ya kina na milinganisho ili uweze kuelewa vizuri dhana hizo. Mkeka
Bodi ya mkate ya Bodi ya Dev: Hatua 12 (na Picha)
Bodi ya Mkate wa Bodi ya Dev: Maagizo haya yanaonyesha jinsi ya kuunda ubao wa mikate uliotengenezwa maalum kwa bodi ya dev
Njia Rahisi zaidi za Kuchapa Ujumbe wa Nakala au Mazungumzo ya Ujumbe Kutoka kwa IPhone: Hatua 3
Njia Rahisi Zaidi za Kuchapisha Ujumbe wa Nakala au Mazungumzo ya Meseji Kutoka kwa IPhone: Halo kila mtu, Katika hii inayoweza kufundishwa, nitakuonyesha njia chache rahisi za kuchapisha ujumbe mfupi kutoka kwa iPhone yako. haji kwa barua, au hata kwa barua pepe, lakini badala yake kupitia maandishi