Displej pro MQTT

Ke svému měřicímu soustrojí (viz minulé články) jsem si dobastlil malinkatý displej pro jednu hodnotu.

Vyšel jsem ze svého oblíbeného kitu WeMos D1 Mini a k němu jsem přes devboard připojil miniaturní displej OLED. WeMos sice nabízí OLED shield, ale s polovičním rozlišením, než jsem si sehnal sám. Displej má rozhraní I2C, tak jsem ho zapojil stejně, jako má originál, tedy SCL na D1 a SDA na D2 (což odpovídá GPIO 4 a 5).

Použil jsem knihovnu od Adafruit (Adafruit SSD1306), a k ní samozřejmě Adafruit GFX. Při překladu mi řval kompiler, že je potřeba upravit soubor Adafruit_SSD1306.h – tak jsem ho upravil. Úprava spočívá v zakomentování a odkomentování řádků podle konfigurace displeje – takto:

Dál jsem použil PubSubClient pro MQTT a knihovnu WiFiManager.

Zdrojáky jsou na GitHubu.

Připojuju se ke svému MQTT serveru, kam mi tečou data z BigClowních senzorů. Chytám si topic s prvním teploměrem, a payload ani moc neparsuju, jen úplně primitivně hledám znak „[„, který v payloadu označuje začátek dat, a kopíruju čtyři znaky. Ty pak zobrazím na displeji. Pokud budete mít data jinak, upravte si příslušnou pasáž v kódu.

Neřeším žádné uspávání ani šetření baterie, jedu furt naplno – počítám s tím, že displej poběží napojený na adaptér.

Další úpravy: co třeba střídání několika různých hodnot po deseti sekundách, a k tomu nějaký titulek?

14355731_10153964291112496_6747077918353356864_n

Líbil se vám článek? Podpořte autora na Patreonu
banner