Obsah:
Video: Nástenka LED IoT RPi: 3 kroky (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
V tomto návode som vyrobil nástenku LED pripojenú k wifi pomocou Raspberry Pi (RPi). Používatelia sa pripoja k webovému serveru Raspberry Pi pomocou svojich prehliadačov a môžu odosielať krátke správy, ktoré sa zobrazia na LED displeji 8x8. Pretože prepojenie matice 8x8 LED s ovládačom MAX7219 v Pythone je dobre zdokumentované ostatnými na internete, tento projekt sa zameriava na vytvorenie rozhrania webového servera a používanie ZeroMQ Messaging na správu prichádzajúcich správ.
Aktualizácia: Tu je nadväzujúci projekt Desiatková/Šestnástková 8x8 LED maticová rysovacia doska IoT
(Som klubový facilitátor pre Girls Who Code Club a prišiel som s týmto jednoduchým projektom, ktorý má naučiť študentov návrh webového rozhrania a zasielanie správ.)
Krok 1: Nastavenie hardvéru
Tento projekt vyžaduje nasledujúci hardvér:
- Malinový koláč
- Zdroj napájania USB, ako napríklad Anker, s krátkym káblom USB na MicroUSB
- Bodový maticový modul MAX7219 s plochým káblom (Aliexpress za menej ako 2 doláre)
- Príloha (jednu som vyrobil z kartónovej škatule a nastriekal čiernou farbou)
Hardvérové nastavenie je jednoduchá časť. Jednoducho pripojte 5 -žilový plochý kábel z LED diódy k RPi podľa knižnice MAX7219 doc.
LED-> RPi ======== VCC-> GPIO Pin #2 (5v) GND-> GPIO Pin #6 (GND) DIN-> GPIO Pin #19CS-> GPIO Pin #24CLK-> GPIO Pin # 23
Na pripevnenie jednotky LED k puzdru RPi som použil obojstrannú penovú pásku. Potom som z kartónovej škatule vyrobil kryt, do ktorého sa zmestí RPi aj batéria.
Krok 2: Nastavenie softvéru
RPi by mal mať nasledujúci softvér:
- Python 3
- Webový server Apache 2
- Ovládač Max7219 pre Python
- Správy ZeroMQ
Python 3
RPi by mal mať už predinštalovaný Python 3. Aj keď je môj kód napísaný pre Python 3, Python 2 by mal fungovať s niekoľkými menšími zmenami.
Apache 2
Nastavte Apache a povoľte skriptovanie Python CGI. Nasleduje niekoľko skvelých zdrojov pre nastavenie Apache na RPi, takže sa tu nebudem opakovať. Pri inštalácii Apache a CGI postupujte podľa nižšie uvedených pokynov. Uistite sa, že skripty *.py sú spustiteľné z prehliadača.
- https://raspberrywebserver.com/cgiscripting/
- https://www.knight-of-pi.org/apache-web-server-with-cgi-for-python/
Ovládač Max7291
Nainštalujte ovládač Max7219 podľa najnovšieho sprievodcu inštaláciou:
https://max7219.readthedocs.io/en/latest/install.html
Po inštalácii spustite vzorový kód matrix_test.py podľa sprievodcu inštaláciou, aby sa na matici LED zobrazilo „Hello World“. To musí fungovať, kým prejdete na ďalší krok.
Správy ZeroMQ
Prečo potrebujeme Správy? Skúste spustiť vyššie uvedený príkladový kód, matrix_test.py, na dvoch terminálových obrazovkách súčasne. Systém umožní súčasné spustenie viacerých kódov, ale uvidíte, že sa správy prekrývajú, čo nie je žiaduce. V prostredí jedného používateľa to nemusí byť problém, pretože ste sa mohli uistiť, že súčasne môže bežať iba jeden program. V prostredí pre viacerých používateľov, akým je napríklad web, musí systém vytvoriť front FIFO (First-In-First-Out), aby sa zabezpečilo, že kód môže spustiť iba jedna osoba, kým ostatní čakajú. Aj keď na to môžu existovať iné riešenia, rozhodol som sa použiť ZeroMQ na správu frontu FIFO. Kód servera ZeroMQ obsahuje aktuálne volanie funkcie na zobrazenie správy na matici LED naraz, zatiaľ čo webový server funguje ako klient ZeroMQ na zisťovanie a odosielanie správ na server ZeroMQ. Týmto spôsobom, zatiaľ čo viacerí používatelia mohli odosielať správy prostredníctvom webovej stránky súčasne, server ZeroMQ bude zobrazovať iba jednu správu naraz.
Pre tento projekt nainštalujeme iba balík Python pyzmq a nie celý balík ZeroMQ.
beh:
sudo pip3 nainštalujte pyzmq
Prečítajte si príručku ZeroMQ na https://zguide.zeromq.org a vyskúšajte si príklad servera a klienta Hello World v Pythone. Skopírujte ukážkový kód Pythonu pre server aj klienta do RPi a pred ďalším krokom sa uistite, že funguje.
Krok 3: Nastavenie webovej stránky
Na webovej stránke som použil rámec bootstrap css/js, aby stránka vyzerala pekne. Toto je úplne voliteľné.
Stiahnite si priložený súbor led_msg.tar.gz do koreňového alebo podadresára Apache. Ak chcete rozbaliť súbor tar gzip'd, spustite:
tar -xzvf led_msg.tar.gz
Tým sa vytvoria nasledujúce súbory:
msg.py (hlavný program)
templates/interstitial.html (html template) templates/send_msg.html (html template) static/img/led_150x150.jpg (jpg used in html template)
Voliteľne nainštalujte rámec bootstrap css/js pod statický adresár.
Zadajte adresu URL pre msg.py svojho prehliadača a uistite sa, že sa webová stránka zobrazí. Zatiaľ neodosielajte správu !!!
Pred odoslaním správ je potrebné spustiť server ZeroMQ, aby prijímal správy od klienta webovej stránky a zobrazoval ich na matici LED. Pokiaľ nie je server ZeroMQ spustený, na obrazovke sa nič nezobrazí.
Stiahnite si priložený kód max7219_server.py do svojho domovského adresára, nie do koreňového adresára Apache, kde by ho mohli vykonať používatelia webu. Spustite to ako root:
sudo python max7219_server.py
Server ZeroMQ je teraz pripravený prijímať správy z webovej stránky. Zadajte a odošlite jednoduchú správu z webovej stránky. Ak je všetko správne nastavené, uvidíte túto správu na obrazovke servera ZeroMQ a tiež na matici LED.
Ak chcete vypnúť server, zatvorte obrazovku servera stlačením klávesu Control-C.
To je všetko. Dúfam, že sa vám tento projekt bude páčiť rovnako ako mne.
Jedným z vylepšení, ktoré by ste mohli urobiť, je zabezpečiť, aby bola komunikácia ZeroMQ medzi serverom a klientmi asynchrónna, aby webová stránka nečakala na zobrazenie ďalších správ. V kaskádovom režime môžete tiež pripojiť ďalšiu maticu LED. Nechám to na vás.
Odporúča:
Bluetooth ovládaný Messenger LCD -- 16x2 LCD -- Hc05 -- Jednoduché -- Bezdrôtová nástenka: 8 krokov
Bluetooth ovládaný Messenger LCD || 16x2 LCD || Hc05 || Jednoduché || Bezdrôtová nástenka: …………………………. REGISTRUJTE SA na môj kanál YouTube pre ďalšie videá …… ………………………………… Nástenka slúži na aktualizáciu ľudí o nové informácie alebo Ak chcete odoslať správu s v miestnosti alebo v
Bezdrôtová nástenka (Bluetooth): 5 krokov (s obrázkami)
Bezdrôtová nástenka (Bluetooth): V tomto modernom svete, kde je všetko digitalizované, prečo nie konvenčná nástenka dostane nový vzhľad. Umožňuje teda vytvoriť nástenku ovládanú technológiou Bluetooth, ktorá je veľmi jednoduchá. Toto nastavenie je možné použiť namiesto statického oznámenia doska ako na vysokých školách/v
Nástenka Malina Pi: 11 krokov (s obrázkami)
Bulletin Board Raspberry Pi: Toto je projekt, na ktorom som pracoval pre svoju cirkev. Chceli sme elektronickú nástenku, ktorá by bola namontovaná v oblasti narthex/lobby a každých niekoľko sekúnd by prechádzala statickými snímkami. To boli naše ciele návrhu: statické snímky, žiadne video alebo au
Digitálna nástenka využívajúca protokol Raspberry Pi a MQTT: 8 krokov
Digitálna nástenka využívajúca protokol Raspberry Pi a MQTT: Nástenky sa používajú takmer všade, napríklad v kanceláriách, školách, nemocniciach a hoteloch. Môžu byť použité znova a znova na zobrazenie dôležitých oznámení alebo na reklamu nadchádzajúcich udalostí alebo schôdzí. Oznámenie alebo reklamy sa však musia vytlačiť
LED nástenka: 6 krokov
LED nástenka: jednoduchý a zábavný projekt, ktorý si môžete urobiť vo svojom voľnom čase