BUZERDISPLEJ - začínáme
DISPLEJ - Programovatelný LED maticový displej
Popis zařízení
DISPLEJ je chytré IoT zařízení založené na mikrokontroléru ESP32, který ovládá LED maticový displej. Zařízení umožňuje zobrazovat text s automatickým posouváním nebo statické bitmapové obrázky. DISPLEJ lze ovládat přes webové rozhraní, HTTP API nebo pomocí MQTT protokolu. Zařízení se připojuje k WiFi síti a může být ovládáno lokálně z vaší domácí sítě nebo vzdáleně prostřednictvím MQTT brokeru.
Technická specifikace
- Mikrokontrolér: ESP32
- Displej: LED maticový displej 32x8 (4 moduly MAX7219, každý 8x8 LED)
- Konektivita: WiFi 2.4 GHz
- Podporované protokoly: HTTP, MQTT
- Napájení: USB 5V
- Rozměry: Závisí na konkrétním modelu
- Úroveň jasu: 0-15 (nastavitelné)
- Rychlost posouvání textu: 10-200 (nižší hodnota = rychlejší)
První připojení a konfigurace
Uvedení do provozu
- Připojte DISPLEJ k napájení pomocí USB kabelu
- Po zapnutí se na displeji zobrazí "BUZERDISPLEJ" a následně "WIFI", což indikuje, že je zařízení v režimu Access Point
- Ve vašem telefonu nebo počítači vyhledejte WiFi síť s názvem BUZERDISPLEJ-XXXXXX (kde XXXXXX je unikátní identifikátor odvozený z MAC adresy zařízení)
- Připojte se k této WiFi síti
- Ve webovém prohlížeči se automaticky otevře konfigurační stránka, nebo ji můžete otevřít ručně zadáním adresy 192.168.4.1
Konfigurace WiFi
- Na konfigurační stránce vyberte záložku Basic Settings
- Zadejte název (SSID) a heslo vaší WiFi sítě
- Volitelně můžete nastavit heslo zařízení pro zabezpečení přístupu k API
- Klikněte na tlačítko Save Configuration
- Zařízení se restartuje a pokusí se připojit k zadané WiFi síti
- Úspěšné připojení k WiFi bude indikováno návratem k normálnímu zobrazení. V případě chyby se na displeji zobrazí "WiFi ERROR"
Ověření připojení
- Po úspěšném připojení k WiFi zůstává captive portál aktivní po dobu 5 minut
- Můžete se připojit zpět k WiFi síti BUZERDISPLEJ-XXXXXX a ve webovém rozhraní zkontrolovat přidělenou IP adresu
- Alternativně můžete IP adresu zařízení zjistit ve vašem routeru
- Otevřete webový prohlížeč a zadejte zjištěnou IP adresu pro přístup ke konfigurační stránce zařízení
Aktualizace firmware
- Připojte zařízení k počítači pomocí USB a zajistěte stabilní napájení během celé aktualizace.
- Otevřete webový prohlížeč (ideálně Google Chrome) a přejděte na adresu https://pajenicko.cz/webflash/.
- Klikněte na tlačítko Připojit / Connect a v zobrazeném dialogu vyberte odpovídající sériový port zařízení. Potvrďte přístup.
- Po dokončení procesu se zařízení automaticky restartuje. Neodpojujte kabel ani neobnovujte stránku, dokud se aktualizace nedokončí.
- Po restartu můžete zařízení znovu nakonfigurovat nebo ověřit jeho provoz podle potřeby.
Ovládání zařízení
Webové rozhraní
DISPLEJ má vestavěné webové rozhraní, které umožňuje:
- Zobrazit text s volitelným nastavením jasu a rychlosti posouvání
- Vytvořit a zobrazit vlastní bitmapový obrázek pomocí vizuálního editoru
- Konfigurovat WiFi připojení
- Nastavit MQTT parametry
- Nastavit HTTP fetch pro automatické načítání textu nebo bitmapy z URL
- Nastavit heslo pro zabezpečení API
Pro přístup k webovému rozhraní zadejte IP adresu zařízení do webového prohlížeče.
HTTP API
DISPLEJ má HTTP API, které umožňuje ovládat zobrazení pomocí HTTP požadavků.
Lokální API (na zařízení)
-
Zobrazení textu:
http://[IP-adresa-zarizeni]/set-text?text=[text]&brightness=[0-15]&speed=[10-200]
Příklad:
http://192.168.1.100/set-text?text=Hello%20World&brightness=10&speed=50Pokud je nastaveno heslo zařízení, je třeba jej přidat do požadavku:
http://[IP-adresa-zarizeni]/set-text?text=[text]&brightness=[0-15]&speed=[10-200]&password=[heslo]
Parametry brightness a speed jsou volitelné.
-
Zobrazení bitmapy:
http://[IP-adresa-zarizeni]/set-bitmap?bitmap=[base64-encoded-bitmap]&brightness=[0-15]
Bitmapa musí být kódována v base64 a reprezentovat 32 bajtů (256 bitů) dat pro displej 32x8.
Pokud je nastaveno heslo zařízení, je třeba jej přidat do požadavku:
http://[IP-adresa-zarizeni]/set-bitmap?bitmap=[base64-encoded-bitmap]&brightness=[0-15]&password=[heslo]
Parametr brightness je volitelný.
-
Získání stavu zařízení:
http://[IP-adresa-zarizeni]/status
Vrátí JSON se stavem zařízení, včetně aktuálního zobrazení, připojení k WiFi a MQTT, atd.
Vzdálené API (server buzer.cz)
DISPLEJ se automaticky registruje na serveru buzer.cz, který poskytuje následující API endpointy:
-
Zobrazení textu pomocí GET požadavku:
http://buzer.cz/api/displej/[device-id]/text?text=[text]&brightness=[0-15]&speed=[10-200]
Kde [device-id] je identifikátor zařízení (MAC adresa bez dvojteček)
Příklad:
http://buzer.cz/api/displej/A1B2C3D4E5F6/text?text=Hello%20World&brightness=10&speed=50 -
Zobrazení textu pomocí POST požadavku:
POST http://buzer.cz/api/displej/[device-id]/text
S tělem požadavku ve formátu JSON:
{ "text": "Hello World", "brightness": 10, "speed": 50, "password": "volitelne-heslo-zarizeni" } -
Zobrazení bitmapy pomocí GET požadavku:
http://buzer.cz/api/displej/[device-id]/bitmap?bitmap=[base64-encoded-bitmap]&brightness=[0-15]
-
Zobrazení bitmapy pomocí POST požadavku:
POST http://buzer.cz/api/displej/[device-id]/bitmap
S tělem požadavku ve formátu JSON:
{ "bitmap": "base64-encoded-bitmap-data", "brightness": 10, "password": "volitelne-heslo-zarizeni" } -
Získání historie příkazů:
http://buzer.cz/api/displej/[device-id]/history
Poznámka: Pro použití API na serveru buzer.cz musí být vaše zařízení autorizováno (jeho MAC adresa musí být na whitelist seznamu). Zařízení je při nákupu obvykle předem autorizováno.
MQTT
DISPLEJ podporuje MQTT protokol, který umožňuje ovládat zařízení z jiných systémů nebo aplikací.
Konfigurace MQTT
- V webovém rozhraní zařízení přejděte na záložku MQTT
- Zaškrtněte možnost Enable MQTT
- Zadejte adresu MQTT serveru (výchozí je buzer.cz)
- Zadejte port MQTT serveru (výchozí je 1883)
- Zadejte MQTT téma (výchozí je "devices/displej/" + MAC adresa)
- Klikněte na tlačítko Save Configuration
MQTT témata
-
Ovládání displeje:
Téma:
devices/displej/[device-id]Formát zprávy pro zobrazení textu (JSON):
{ "text": "Text k zobrazení", "brightness": 10, "speed": 50, "password": "volitelne-heslo-zarizeni" }Formát zprávy pro zobrazení bitmapy (JSON):
{ "bitmap": "base64-encoded-bitmap-data", "brightness": 10, "password": "volitelne-heslo-zarizeni" } -
Registrace zařízení:
Zařízení odesílá registrační zprávu na téma
devices/register/displejpři připojení k MQTT serveru.
Režim textu
V režimu textu zařízení zobrazuje zadaný text. Pokud je text delší než šířka displeje (32 pixelů), bude se automaticky posouvat zprava doleva. Pokud je text kratší nebo roven šířce displeje, bude zobrazen staticky a centrovaný.
Parametry v režimu textu
- Text: Řetězec znaků, který má být zobrazen
- Jas (brightness): Úroveň jasu displeje (0-15, výchozí je 5)
- Rychlost posouvání (speed): Rychlost posunu textu (10-200, nižší hodnota znamená rychlejší posun, výchozí je 50)
Režim bitmapy
V režimu bitmapy zařízení zobrazuje statický obrázek definovaný jako mřížka 32x8 bodů (pixelů). Každý pixel může být zapnutý (svítí) nebo vypnutý (nesvítí).
Vytvoření bitmapy
Bitmapový obrázek můžete vytvořit pomocí:
- Vestavěného editoru ve webovém rozhraní zařízení (záložka Control -> Bitmap Mode)
- Programově vytvořením 32 bajtů (256 bitů) dat a jejich zakódováním v base64
Formát bitmapy
Bitmapa je reprezentována jako 32 bajtů (256 bitů) dat, uspořádaných po řádcích. Každý řádek displeje (celkem 8 řádků) je reprezentován 4 bajty (32 bitů). Bity jsou uspořádány tak, že nejvýznamnější bit (MSB) bajtu odpovídá levému sloupci v daném 8-pixelovém segmentu.
Pro odeslání bitmapy přes API nebo MQTT musí být data zakódována v base64.
Parametry v režimu bitmapy
- Bitmapa (bitmap): Base64-kódovaná data reprezentující 32 bajtů (256 bitů) pro displej 32x8
- Jas (brightness): Úroveň jasu displeje (0-15, výchozí je 5)
Časté dotazy
Jak resetovat zařízení do továrního nastavení?
Otevřete webové rozhraní zařízení a v URL adrese zadejte http://[IP-adresa-zarizeni]/reset-config. Zařízení se restartuje a spustí se v režimu Access Point s výchozí konfigurací.
Na displeji se zobrazuje "WIFI" místo mého textu, co to znamená?
Tato zpráva indikuje, že zařízení je v režimu Access Point a čeká na konfiguraci WiFi připojení.
Na displeji se zobrazuje "WiFi ERROR", co to znamená?
Tato chybová zpráva indikuje problém při připojování k WiFi síti. Zkontrolujte zadané přihlašovací údaje nebo dostupnost vaší WiFi sítě.
Jak mám zjistit MAC adresu zařízení?
MAC adresa je uvedena v názvu WiFi sítě v režimu Access Point (BUZERDISPLEJ-XXXXXX) nebo ji můžete zjistit v webovém rozhraní zařízení v sekci "Status information".
Jak vytvořit animaci na displeji?
Animaci můžete vytvořit pomocí HTTP fetch funkce, která pravidelně načítá nová data z URL adresy. Nastavíte ji v záložce "Basic Settings". URL by měla vracet JSON ve formátu {"text":"Váš-text"} nebo {"bitmap":"Base64-data"}. Změnou výstupu této URL v pravidelných intervalech můžete vytvořit animaci.
Text na displeji se posouvá příliš rychle/pomalu, jak změním rychlost?
Rychlost posouvání textu můžete změnit parametrem "speed" v rozsahu 10-200, kde nižší hodnota znamená rychlejší posun. Výchozí hodnota je 50. Nastavit ji můžete ve webovém rozhraní, přes API nebo v MQTT zprávě.
Displej je příliš jasný/tmavý, jak změním jas?
Jas displeje můžete změnit parametrem "brightness" v rozsahu 0-15, kde vyšší hodnota znamená vyšší jas. Výchozí hodnota je 5. Nastavit ho můžete ve webovém rozhraní, přes API nebo v MQTT zprávě.
Jak zabezpečit přístup k zařízení?
V záložce "Basic Settings" můžete nastavit heslo zařízení, které pak bude vyžadováno pro ovládání pomocí API a MQTT.
Zařízení se po několika dnech odpojuje, jak to vyřešit?
Zkontrolujte dosah a kvalitu vašeho WiFi signálu. Zařízení má automatickou detekci odpojení a pokusí se znovu připojit. Pokud problémy přetrvávají, zvažte použití WiFi repeateru nebo umístění zařízení blíže k routeru.
Jaké znaky mohu zobrazit na displeji?
Zařízení podporuje ASCII znaky a některé speciální znaky včetně základních diakritických znaků pro české písmo. Pro zobrazení speciálních znaků nebo grafiky, které nejsou podporovány základní sadou znaků, použijte režim bitmapy.