Eladásból került a kezembe az ESP8266 - 12E modul. Kezdettől fogva csak annyit tudtam róla, hogy alkalmas az IOT - tárgyak internetére. Az IoT lényege, hogy bármilyen eszközt csatlakoztathat az internethez. Miért? Nos, hogy információkat szerezhessen pl. a hőmérsékletről, a páratartalomról, arról, hogy tárolják-e a dobozban, nyitva van-e a hűtőszekrény és milyen gyakran, mennyi ideig szabályozhatja a központi fűtést, és még sok minden másról. A modul kicsi ahhoz, hogy valóban bármilyen meglévő eszközben használható.

Ez egy modul, amely rendelkezik mikroprocesszoros Wifi modullal és egyszerű memóriával. Soros interfészen keresztül csatlakozik. E leírás szerint eléggé emlékeztet a prototípusok építésére szolgáló másik jól ismert táblára - az arduino-ra. És nem véletlenül. Az Arduino IDE programozási környezetet úgy módosították, hogy a programokat be lehessen tölteni az ESP modulokba. Maga az ESP modul nemcsak abban különbözik az Arduinótól, hogy nincs USB portja, csak soros vonala, hanem a program betöltésének módjában is. Az ESP modulnak van egy normál üzemmódja, amelyben az áramellátás bekapcsolásakor elindul, és egy programozási mód, amelyben az áramellátás bekapcsolása után indul. Az ESP tápfeszültsége 3,3 V! Továbbá az IO érintkezőkön lévő jelek logikai értéke 0-3,3 V. Ha 5 V-ot alkalmaz a tápegységre vagy néhány bemenetre, maga az ESP modul is megsérül. Ezeknek a moduloknak van egy sajátos fogyasztásuk, amely általában van, és elérheti a 800mA-t is. Ezért kellően méretezett forrást kell biztosítani a programozás és a telepítés során. Gyakran a PC/Notebook egyszerű USB-portja nem elegendő a működéshez vagy a programozáshoz. Ezek az USB-portok legfeljebb 500 mA-t képesek szolgáltatni (és ehhez a konverterrel/arduino-val is szükség lesz).

blog
Az ESP-12E alapvető csatlakozása

A fenti képen látható az ESP12E csatlakozás, amely szerint a tápegység csatlakoztatása után normál módba lép. Ha az S1 gomb lenyomása közben csatlakoztatjuk a tápegységet, az ESP elindul a programozási módba, és a csatlakoztatott TXD és RXD IDD csapokon keresztül tölthetjük be a programot az arduino IDE segítségével.

Az Interneten számos utasítás található arról, hogyan lehet egy programot feltölteni az ESP-re USB-TTL konverterek segítségével. Arduino tábla segítségével program is rögzíthető. Nem számít, melyik mellett döntesz, akár arduino uno, akár nano, akár mega.

Csak csatlakoztassa az RXD-t az ESP-n az arduino táblán található RXD-hez, valamint a TXD-csapokhoz. FIGYELEM! nem fordítva. Az RX-TX és a TX-RX közötti kapcsolat nem megfelelő, és az ilyen kapcsolattal történő felvétel meghiúsul. Ezután már csak annyit kell tennie, hogy a táblát az arduino IDE fórumkezelőjén keresztül telepíti, és a program ugyanúgy betöltődik, mint az arduino táblában. Figyelni kell azonban a panel helyes megválasztására és a modul további paramétereire. A képen látható paramétereket az ESP12 moduljaimhoz használtam, és felhasználhatók a kezdeti beállításhoz.

ESP-12E modul paramétereinek beállítása

Hozzáadom az egyik tudásomat e modulokkal való együttműködésről. Ha megszakításokat használ (külső vagy belső), akkor a megszakítások kezelésének függvényeit "void ICACHE_RAM_ATTR function ();" néven kell definiálni. Ez valójában azért van, hogy az operációs funkciók az ICACHE RAM részben és ne a Flash részben legyenek. E definíció nélkül a megszakítás végleges visszaállítást okoz, és a modul nem indítja vagy futtatja a betöltött programot.

Az arduino-t egy prototípus táblán teszteltem, a DHT22 szenzorral együtt, amely méri a páratartalmat és a levegő hőmérsékletét. Ezeket az adatokat a thingspeak könyvtárral együtt rendszeresen feltöltöttük egy távoli thingspeak szerverre, ahol megtekinthetem vagy tovább feldolgozhatom egy weboldalon vagy mobilalkalmazáson keresztül. Rengeteg olyan alkalmazás van a Google Playen, amely támogatja a thingspeak szervert. A Thingspeak szervert kifejezetten ezekre az IoT alkalmazásokra tervezték. Természetesen vannak más hasonló szerverek is, csak Önnek válassza őket.

ESP12E prototípus táblán és DHT22 érzékelőn.