ESP alapú termékek és Firmware-eik

Az Arduino platform népszerűsége töretlen a hobbiépítők körében, lehet játékosan tanulva használni a meglévő modulokat, de akár az alapoktól is felépíthet bármit a vállalkozó szellemű hardverfejlesztő. Legyen ez akár egy számítógépes hálózatra kötött modul Ethernet Shield segítségével.

Pár éve azonban kijött egy nagyon olcsó mikrokontroller (pár dolláros áron), amivel a már meglévő Arduino projekteinket akár WiFi-re is köthetjük, ez az ESP8266 nevet viseli. De mi is ez és mire jó? Alapvetően egy vezeték nélküli hálózati protokollokat kezelő adapternek is tekinthetjük, mely esetben a meglévő Arduino lapkára kötve wifi modulként használhatjuk. Többféle fejlesztői kiadása van, melyek közül az ESP-01 és az ESP-12 a legelterjedtebb – ezek pár dollárért már megkaphatóak –, de kapható a mikrokontroller önmagában is.

De ennél azért többre is képes: Önmagában programozható mikrokontrollerről van szó több GPIO csatlakozással ellátva. Legjobb hogy nem csak kliensként képes működni, hanem AP módra is képes, sőt egyszerűbb webszervert is létrehozhatunk rajta. Részletesen a gyártó oldalán írnak a képességeiről.

ESP8266 Block diagram

Ugyan a gyártó kiadott egy SDK-t hozzá, de a lelkes "rajongói" közösségnek hála sok nyelvre irtak hozzá drivert. Ennek köszönhetően programozhatjuk Arduino-ban, Lua-ban vagy akár JavaScriptben is. 

Ezt több (főleg kínai) gyártó is felismerte, melynek eredményeképpen elérhetővé váltak a piacon olyan termékek, melyekbe ESP alapú megoldást építettek. Ezek leginkább olyan Wifis kapcsolók, melyeket mobilos alkalmazásból (gyártó saját fejlesztése és saját felhő rendszerét használva) bárhonnan vezérelhetünk.

ESP alapú termékek

Legnépszerűbb ilyen a – kedvező árával hódító – Sonoff termékcsalád, melyet az Itead gyárt. Ezen név alatt kaphatóak az egyszerű Wifis reléktől a dugaljakon át a designer kapcsolókat érintve az okos izzó foglalatokig. Az alapvető működés mindegyik esetben a ki/be kapcsolás, ám ez ezen termékeknél időzíthető is. Egyes termékeik sima rádiós távvezérlővel is kapcsolhatók, illetve rendelkezhetnek külső – legtöbbször hőmérséklet – szenzor csatlakozási lehetőséggel. Mivel egyre keresettebbek a termékeik, így folyamatosan fejlesztik is a termékkínálatot, illetve – nagy pozítívumként – támogatják a csináld magad mozgalmat.

Itead Sonoff

Hasonló ESP alapú reléket több másik gyártó is elkezdett forgalmazni, ilyen például az Electrodragon IoT Relay Board. Ezek nagyjából hasonló felépítésűek, főleg a relék számában, elrendezésben és méretben térnek el.

Electrodragon Relay Board

Persze ilyen relékkel már szinte bármi vezérelhető (akár 16 Amperig), de azért elérhetőek olyan termékek is mint az Ai-Thinker AiLight okosizzó (hasonlót az Itead is elkezdett gyártani. Ezekben az izzókban az a legjobb, hogy a ki/be kapcsoláson felül még a fényerősséget és a színeket is lehet állítani. Túl nagy teljesítményre az ilyen izzóknál ne számítsunk: átlagban 5-9 Watt körül mozognak (500-1000 lumen), azaz nagyjából egy 40-60 Wattos normál izzónak felelnek meg. Inkább hangulatvilágításhoz ajánlottak.

Ai-Thinker AiLight

Ha azonban nagyobb teljesítményre vágyunk sem kell aggódnunk, mivel elérhető egy ESP alapú LED szalag vezérlő is, mely a MagicHome LED controller névre hallgat. Ennél a terméknél sajnos nem igazán találtam hivatalos oldalt, de ezen termék is népszerű a hobbisták körében. Ez a kicsi eszköz több LED szalag típust támogat, egyes verzióit infra távirányítóval is irányíthatjuk, illetve akár 144 Watt vagy 192 Watt teljesítményű LED szalagot is ráköthetünk modelltől függően. Ez a teljesítmény akár 40 méternyi ilyen világítást jelent, természetesen színesben.

MagicHome LED Controller

Természetesen a gyári termékeken kívül több open source megoldás is született ESP-re építve, hiszen szinte az összes Arduino kompatibilis modult képes kezelni. Ilyen például az OpenEnergyMonitorm termosztárja is, de építhetünk akár időjárás állomást, kézi játékgépet, üvegház monitorozót vagy akár távirányítós játékot. Több ilyen projekt érhető el a Hackaday.io oldalon.

Nagyjából egy éve megjelent az ESP8266 fejlesztett változata az ESP32, mely – azon túl hogy gyorsabb és energiatakarékosabb lett – kiegészült Bluetooth LE modullal is.

ESP8266 vs ESP32

ESP firmware-ek

Bár a gyártók használatra kész állapotban árulják a fenti termékeket, lehetőség van az eszköz programjának cseréjére is. De miért jó ez nekünk, hogyha már most mobilról tudjuk vezérelni és akár időzíteni is az eszközünket? Leginkább azért hogy saját okosotthon rendszerünkbe integrálható legyen az eszköz. De ne feledkezzünk meg arról sem, hogy alapesetben – a távolról vezérelhetőség miatt – ezen eszközök kommunikálnak a gyártó felhős megoldásával. Sokszor hallottuk már, hogy nem minden esetben figyelnek oda a gyártók kellően a biztonságra, bár ebben javulás tapasztalható.

Azzal hogy lecseréljük az alap programot a korábbi alkalmazás ugyan használhatatlanná válik, de cserébe több funkcionalitást kapunk. Legelterjedtebb ilyen funkció az MQTT használata, melyet kommunikációra használ a legtöbb okosotthon szoftver.

A számítógépen kívül csak egyetlen USB TTL soros adapterre lesz szükségünk, melyet az eszközünk programozó portjaira kell kötnünk. Szerencsére nem kell félnünk egy ilyen firmware csere miatt, ugyanis ehhez rengeteg leírás és videó érhető el, illetve legtöbbször pár kattintásból áll az egész.

Az általam legtöbbet használt ilyen firmware a főleg Sonoff eszközökhöz fejlesztett Sonoff-Tasmota, mely rengeteg mindent támogat és gyakran frissül (ráadásul támogatja az OTA frissítést, azaz az új firmware verzió frissítéshez már nem kell az USB TTL adapter). Az gyárilag támogatott szenzorok körét kibővítették, több lehetőséget kötöttek a beépített gombra és natívan támogatja a legtöbb open source okosotthon automatizálási szoftvert. Bár a mobil alkalmazás használatát bukjuk, az eszköz IP címét a böngészőbe beírva egy mobil barát webfelületet kapunk, ahol minden funkciója elérhető. A támogatott eszközök listáján az összes Sonoff termék mellett többek között a MagicHome LED Controller és az Electrodragon Relay Board is szerepel.

Hasonlóan népszerű – ha nem népszerűbb – a Lets Control It féle ESPEasy, mely egy általánosabb megoldás az ESP alapú eszközökre. Itt a cél nem egy meglévő termék szoftverének lecserélése volt, hanem hogy minél könnyebben lehessen új modullal bővíteni ESP alapú áramkörünket. Itt egy összetettebb webes interfészt kapunk, ahol szolgáltatásokat vehetünk fel; beállíthatjuk, hogy mely portokra milyen modul van kötve; vagy akár eseményeket köthetünk be, vagy eseményekre reagálhatunk. A támogatott modulok száma meglehetősen széleskörű: lehet akár egy darab ledtől elkezdve a kijelzőig, bármi. Bár telepítése nagyon egyszerű, ezt a firmware-t inkább vállalkozó kedvűeknek ajánlom.

A fentiekhez meglehetősen hasonló az ESPurna mely szintén egy elsősorban Sonoff-ra készült programból nőtte ki magát. Tudását tekintve nagyban hasonlít a Tasmota firmware-re, azonban annál szebb webes interfésszel rendelkezik és több egyéb ESP alapú eszközt kezel. A főbb protokollokat és funkciókat ugyanúgy ismeri.

Akinek a fentiek túl robosztusnak tűnnek egyszerűen írhat saját megoldást is, melyhez leginkább az Arduino nyelvet ajánlom. Ehhez elérhetőek a legfrissebb ESP modulkönyvtárak mintakódokkal.

 

This article was updated on hétfő, november 20, 2017

Comments