2014 környékén fedezte fel a barkácsoló nagyközönség, hogy a kínaiak egy ultra-kicsi, és több célra használható WiFi képes vezérlőt kezdtek nagy tételben gyártani, amit már a Vezérlő/feldolgozó hardvereknél emlegettem. A dokumentációk kezdetben a kínai nyelvre korlátozódtak, de idővel sok lelkes önkéntes közreműködésével megjelentek az angol nyelvű leírások, példaprogramok és SDK-k. Rendkívül kedvező ára miatt elképesztően népszerűvé vált rövid idő alatt, és több mint 10 féle variációja is közkézen forog, különböző megjelenési formában, csatlakozószámmal és adattárolóval.
A 80Mhz-es órajele nem valami óriási, de a 8-16Mhzes Arduino modulokhoz képest egészen jónak mondható. WiFi routert azért senki ne tervezzen építeni belőle, sem a processzora, sem a WiFi modul sávszélessége nem erre van kitalálva. Kiválóan alkalmas viszont mindenféle WiFi-s érzékelő és okoskütyü építésére. Nyilván nem említhető egy napon egy Raspberry-hez hasonló mikroszámítógéppel a teljesítménye, viszont kisebb, nem kell külön SD kártya a működtetéséhez és az új modelleken van analóg bemenet is.
Jelenleg a kezdeti ESP-01 kódnevű 8 csatlakozó tűvel rendelkező alapmodell és a kifinomultabb ESP-12E/12F 20 tűs modell a legnépszerűbb a legkülönfélébb okoskütyükbe építés szempontjából.
Létezik még egy fokozattal kisebb méretű testvére ESP8285 néven, kapcsolókban használja pl az ITEAD cég, PSF-A85 fantázianéven. Fix, beágyazott 1MB memóriamérettel rendelkezik, a futtatható kód egyébként szinte megegyezik az ESP8266-al, de feltöltéskor a memória elérésének módját át kell állítani.
Ha valaki ismerkedni akar az ESP8266-al, célszerű egy mikroUSB csatlakozóval ellátott "Development Board" néven futó változatot választani - mint amilyen a NodeMCU vagy D1 Mini - ezzel nagyságrendekkel megkönnyítve a Firmware feltöltését az eszközbe, USB-ről kapja az 5V tápot és az adatkapcsolat is azon keresztül valósul meg.
Természetesen, ha minél kisebb helyre akarunk bezsúfolni mindent, ez a fejlesztői alaplap nagynak bizonyulhat, így az alap ESP-12 önmagában is beszerelhető, de ez esetben biztos kéz és jó szem kell a forrasztásához, illetve 3.3V tápegység vagy akkumulátoros megoldás...
A programozni vágyóknak az Arduino IDE fejlesztőkörnyezet teljesen használható, ha valami egyedit szeretnének kialakítani ESP-vel, akik viszont gyorsabban akarnak célhoz érni, létezik egy ESPEasy nevű webes felületen beállítható firmware, aminek segítségével sok szenzort lehet használni. Az előbbi ESPEasy univerzális, sok célra használható firmware, de akadnak speciális célra kifejlesztettek, mint például a Tasmota, amivel a sokféle Sonoff WiFi kapcsolókat/reléket lehet működtetni, illetve az ESPurna, ami többféle (nem csak Sonoff) kapcsolóval kompatibilis.
Technikai adatok:
- 32 bit RISC CPU - 80Mhz
- 64KiB memória utasításoknak, 96KiB memória adatoknak
- QSPI flash adattároló 512KiB-16MiB (vezérlőprogram tárolására)
- 2.4Ghz WiFi (WEP/WPA/WPA2) - maximum 5 egyidejű csatlakozást tud kiszolgálni!
- 16 GPIO (SPI, I2C, I2S, UART, 10bit ADC)
Fejlesztői modulok / Development Board-ok:
A könnyebb beüzemelés és használat kedvéért fejlesztői modulokat szoktam beszerezni, amik tartalmazzák az 5V-os USB tápellátáshoz szükséges alap alkatrészeket, és az USB kábelen keresztüli közvetlen soros programozáshoz való hidat. Úgy mint:
D1 Mini Development Board: (eredeti Wemos, vagy kínai klón ESP8266MOD)
Ebben jellemzően egy ESP-12 chip van, és kapunk hozzá pár tetszőleges szettnyi csatlakozót, amit ízlés szerint ráforraszthatunk. Nagyon praktikus, népszerű és kicsi lapka, a szabványos "D1" méretéhez kapható külön többféle modul, amit lego-szerűen egymásra lehet építeni. Általában 4MByte/32Mbit flash memóriával szerelt, de létezik ESP8285 alapú verziója is "Mini Lite" néven, amiben 1Mbyte/8Mbit van.
Aki az 5V lábról szeretne másik eszközt meghajtani, ne élje nagyon bele magát, mert nagyon kis teljesítményű.
A minden felesleges extrát és ismétlődést nélkülöző minimalisztikus lábkiosztása az alábbi:

Láb cimke | Alternatív megnevezés | Megjegyzések |
TX | GPIO1/D10 | Alapértelmezetten soros kommunikációra fenntartva (Adó). Használható normál be/kimenetnek is, de bootoláskor állapotot vált, így nem tökéletes. |
RX | GPIO3/D9 |
Alapértelmezetten soros kommunikációra fenntartva (Vevő). Használható normál be/kimenetnek is, de bootoláskor állapotot vált, így nem tökéletes. |
D1 | GPIO5/SCL | Normál GPIO láb, gyakran használt I2C kommunikáció SCL-ként, de bármi lehet. |
D2 | GPIO4/SDA | Normál GPIO láb, gyakran használt I2C kommunikáció SDA-ként, de bármi lehet. |
D3 | GPIO0 | Ezt a lábat GND-re húzva kényszeríthető ki a programozói módba lépés, így bemenetként nem szerencsés használni. Kimenetként meg azért nem olyan megbízható, mert normál induláskor logikai 1 értéket vesz fel. |
D4 | GPIO2 | Kimenetként nem olyan megbízható, induláskor állapotot vált, a Mini lapnál a kék színű LED is erre van kötve. |
A0 | TOUT | Analóg bemenet, eredetileg 1V-os érzékenységgel, ami a fejlesztői lapokon feszültségosztó ellenállással 3.3V-ra van felhúzva, de a visszaadott érték szoftveresen akkor is 0-1023 között lesz. |
D0 | GPIO16/WAKE | A DeepSleep módból való felébresztéshez használt láb, használható általános be/kimenetként. Ez az egyetlen GPIO láb, ami NEM támogat PWM/INT működési módokat. |
D5 | GPIO14 | Általános célú be/kimeneti láb. |
D6 | GPIO12 | Általános célú be/kimeneti láb. |
D7 | GPIO13 | Általános célú be/kimeneti láb. |
D8 | GPIO15 | Bemenetként nem ajánlott, ha induláskor logikai 1 állapotban van, akkor megpróbál SD kártyáról bootolni - ha nincs SD kártya, így nem tud elindulni. |
Megj: a D5+D6+D7+D8 együttesen SPI csatlakozásként is használható. (HSPI, külső eszközhöz) Azt viszont több helyen említik, hogy az ESP moduloknak úgy általában nem erőssége az SPI kommunikáció,főleg ha 40Mhz-nél gyorsabbról lenne szó.
NodeMCU v0.9 ESP-12:
Az előbbinél szélesebb és hosszabb, három vidám színben kapható modell, ESP-12 a központi chip és 4MB/32Mbit flash tárhellyel szerelve kapható. Könnyítésként a lábak ráforrasztott állapotban érkeznek, így kezdőknek ideális. A nagysága miatt (47x31mm) próbapanelbe nem túl ideális, de jumper kábelekkel tökéletesen használható. Ennek a változatnak az 5V lábáról már lehet nagyobb áramfelvételű eszközt is táplálni (max 0,8A a wifi chippel együtt). Lábkiosztása az alábbi:
Ha az ember jól megnézi, ugyanazokat az ismerős lábakat látja, mint az előző Mini-lapnál, viszont itt több GND és 3.3V/5V tápláb áll rendelkezésre a perifériák működtetésére. (A Mininél is el tudjuk osztani persze többfelé ezeket, de teszteléshez ez a megoldás mégiscsak kényelmesebb)
NodeMCU v3 LOLIN ESP-12:
Az előző lap keskenyebb változata, ahol a korábban fenntartott lábakra további funkciókat kötöttek, az SPI direkt eléréséhez. (Ez általában a 4MB flash tárhelyhez van direktben kötve, így csak mérsékelten hasznos. Külső eszközt a fentebb írt HSPI lábakra lehet kötni.)
Lábkiosztás:
>> ESP alapú projektjeim <<
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.
Kommentezéshez lépj be, vagy regisztrálj! ‐ Belépés Facebookkal