- Mi az ESP8266?
- A WiFi elmélet alapjai:
- Programozási típusok az ESP8266 segítségével:
- Hardver az ESP8266 modul programozásához:
- Szükséges anyagok:
- Áramkör magyarázat:
- Építési tanács az ESP8266 programhoz:
A tárgyak internete és a háztartási automatizálás az elmúlt napokban valóban hipotézis témája volt. Olyan saját építkezés, amely képes kommunikálni a világhálóval és elérhető a világ bármely pontjáról, valóban klasszul hangzik, nem igaz?
De várj!!! Bonyolultnak is hangzik ???….
Így tett helyettem is, azt hittem, hogy hatalmas időre és készségre van szükség az internettel kölcsönhatásba lépő dolgok felépítéséhez. NEM, teljesen tévedtem, hála ennek az ESP8266 nevű fantasztikus modulnak az Espressif Systems-től. Most ennek a modulnak a segítségével könnyedén kinyithatja kapuit az IoT-projektekhez. Ez az alacsony költségű, kis méretű modul csodákra képes, és valóban egyszerű és könnyen használható, feltéve, hogy a megfelelő lépéseket követjük.
Ez az oktatóanyag célja, hogy megismertesse Önt ezzel az ESP8266-01 modullal, és elősegítse a használatát. Talán már elhozta a modult, és elakadt, miközben megpróbálta használni. Akkor nem egyedül vagy, ne aggódj, sokan nagyon nehezen tudják kezdeni a modult, mert nincs megfelelő útmutatás vagy dokumentáció ehhez a modulhoz. Ez az oka az oktatóanyag elkészítésének. Kövesse az itt található utasításokat, és pillanatok alatt képesnek kell lennie az ESP8266-01 modul üzembe helyezésére, itt az FTDI USB - TTL soros adapter modult fogjuk használni az ESP8266 programozásához. Ellenőrizze a részletes videót az oktatóanyag végén.
Mielőtt belekezdenék a témába, áttekinthetünk néhány alapot az ESP8266-01 modulról.
Mi az ESP8266?
A legtöbb ember WIFI modulnak hívja az ESP8266-ot, de valójában mikrovezérlő. Az ESP8266 az Espressif Systems által kifejlesztett mikrovezérlő neve, amely egy sanghaji székhelyű vállalat. Ez a mikrovezérlő képes WIFI-vel kapcsolatos tevékenységek végrehajtására, ezért széles körben használják WIFI-modulként.
Sokféle ESP8266 modul érhető el, az ESP8266-01 és az ESP8266-12 között. Az oktatóanyagban használt ESP8266-01 az, mert a legolcsóbb és könnyen elérhető. Mindazonáltal az összes ESP modulnak csak egy típusú ESP processzora van, a különbség csak az alkalmazott kitörési sáv típusa. Az ESP8266-01 kitörő táblájának csak 2 GPIO csapja lesz, míg más táblákban magasabb lesz.
A modul teljes specifikációját az alábbi táblázat tartalmazza
Feszültség |
3.3V |
A jelenlegi felhasználás |
10uA-170mA |
Maximális áramfogyasztás villogás közben |
800mA |
Flashmemória |
16 MB (normál 512 KB) |
Processzor |
Tensilica L106 32 bit |
A processzor sebessége |
80-160MHz |
RAM |
32K + 80K |
GPIO |
17 (de a legtöbb multiplexelt) |
Analóg-digitális átalakító |
1 (10 bites) |
Maximális TCP kapcsolatok |
5. |
Oké, néhány dolog, ami meglephette volna a specifikációt, az az, hogy IGEN, az ESP8266 modul ADC átalakítóval van ellátva, és a készülék villogása közben nagyon magas, 0,8 A áramot fogyaszt.
Ellenőrizze a különböző ESP8266 alapú érdekes IoT-projekteket is.
A WiFi elmélet alapjai:
Transfer Control Protocol (TCP), Internet Protocol (IP), User Datagram Protocol (UDP), Access Point (AP), Station (Sta), Service Set Identifier (SSID), Application Programming Interface (API), Webserver…..
Van értelme az összes fenti kifejezésnek?
Ha igen. Ezután, BINGO, átugorhatja ezt a részt, és léphet a következő szakaszra.
Ha nem. Akkor biztosan egy vagy a sok villamos hallgató között, akik csak úgy pislogtak ezeken a kifejezéseken, mint én, amikor először ismertem meg ezeket a dolgokat. Gyorsan futtassuk át ezeket a feltételeket, mert csak akkor léphetünk be az IOT világába.
Transfer Control Protocol (TCP):
Legtöbben tudnák, mit jelent ez. Igen, ezek azok a szabályok, amelyek alapján az internet működik. Mivel az ESP8266 képes létrehozni WIFI kapcsolatokat. Magas szinten a Wi-Fi az a képesség, hogy vezeték nélküli kapcsolaton keresztül részt vehet a TCP / IP kapcsolatokban. Az ESP-t a TCP / IP protokollon vagy az UDP protokollon tudja működtetni.
Felhasználói datagram protokoll (UDP):
Az UDP szintén egy másik típusú internetes protokoll. Ez a típusú kommunikáció gyorsabb, mint a TCP, de kevésbé pontos. Ennek oka, hogy a TCP a nyugtázást használja a kommunikáció során, az UDP azonban nem. A TCP-t leginkább olyan hálózatokban használják, ahol nagy a megbízhatóság követelménye. Az UDP-t olyan helyeken használják, ahol a sebesség elsőbbséget élvez, mint a megbízhatóság. Például az UDP-t használják a videokonferenciákon, mert ott, még ha egyes pixeleket nem is továbbítanak, ez nem befolyásolja annyira a videó minőségét, de a sebesség nagyon fontos.
Az ESP8266 projektek és kódok többsége a TCP / IP körül működik, az UDP-t ez fogja legkevésbé zavarni.
Hozzáférési pont (AP) és állomás (STA):
Miután elkezdte dolgozni az ESP modullal, gyakran találkozik ezzel a két kifejezéssel. Mondjuk, hogy Ön és barátja szeretne internetezni az okostelefonjain, de mivel nincs aktív internetkapcsolata, úgy dönt, hogy bekapcsolja a hotspotot, és barátja csatlakozik hozzá. Itt az internetkapcsolatot beszerző telefonja az Access Point (AP), és barátja internetét használó telefonja Station (STA).
Az ESP8266 modul három módban használható, AP módban, STA módban, vagy STA és AP módban (kombináltan).
Szolgáltatáskészlet-azonosító (SSID):
Ez meglehetősen egyszerű kifejezés. Szinte mindannyian használtunk WIFI-t. A Wi-Fi hálózat nevét SSID-nek hívják. Ha több hozzáférési ponttal rendelkezünk egy állomáshoz, amihez csatlakozni kell, akkor az állomásnak tudnia kell, hogy melyik hozzáférési ponthoz kell kapcsolódnia, ezért minden hozzáférési pont (AP) kap egy identitást, amelyet SSID-nek hívnak.
Alkalmazás-programozási felület (API):
Leegyszerűsítve: az API egy olyan messenger, amely befogadja a kéréseit, feldolgozza azokat, és visszaadja a rendszerének a kívánt eredményt. Az interneten végzett tevékenységek többsége API-kat használ, például amikor repülőjegyet foglal, online vásárol stb. Minden webhely összekapcsol egy API-val, ahol a munka bizonyos része, például a regisztráció, a fizetés stb. ott.
Az ESP8266 az API-t használja az internet világával való beszélgetéshez. Például, ha meg akarja tudni az időt, az éghajlatot vagy bármit, amit API-ként kell kérnie a megfelelő webhelyhez. Az a weboldal megkapja a kérést, és visszaadja a kívánt eredményt az ESP modulunknak.
Web szerver:
A webkiszolgáló felelős a weboldal tartalmának megjelenítéséért. Az adott weboldal összes tartalma betöltésre kerül a webszerverére. Vannak dedikált számítógépek, amelyek feladata, hogy csak webszerverként működjenek. Azt is programozhatjuk, hogy az ESP8266 webszerverként működjön, és csatlakozzon hozzá a világ bármely pontjáról.
Oké, ez elég a kezdéshez. Most vegyük kezünkbe a hardvert.
Programozási típusok az ESP8266 segítségével:
Az ESP8266 modullal kétféle módon lehet dolgozni. Ez az oktatóanyag segít mindkettő elkezdésében. Az egyik mód az AT parancsok használata. A másik módszer az Arduino IDE használata. Értsük meg, mit jelent.
Minden gyárból szállított ESP8266 modulba be lesz töltve egy alapértelmezett firmware (SDK + API). Ez a firmware segít az ESP8266 modul AT-parancsokon keresztüli programozásában.
A másik módszer az ESP8266 modul közvetlen programozása az Arduino IDE (alaplap nem szükséges) és annak könyvtárai segítségével. Az összes projekt mindkét módszerrel megvalósítható. De ha elkezdi használni az Arduino IDE-t az ESP8266 programozásához, előfordulhat, hogy nem tudja használni az AT parancsokat, mert az alapértelmezett SDK sérült lehet. Ebben az esetben az alapértelmezett beállításokkal kell villantania az ESP-t. Ezt egy másik oktatóanyagban tárgyaljuk.
Hardver az ESP8266 modul programozásához:
Az ESP8266 egy 8 terminál modul. Az ugyanabból a tű az alábbiakban látható.
Sajnos ez a modul nem barátságos a kenyérsütővel, ezért nem tudjuk közvetlenül felhelyezni a kenyérlapunkra. Szintén az Arduinótól eltérően nincs beépített USB-Serial illesztőprogramja; ezért az „FTDI USB - TTL soros adapter modult” kell használnunk a kommunikációhoz. Győződjön meg arról, hogy az FTDI kártya 3,3 V-on is működhet; az alábbiakban látható az, amelyet ebben az oktatóanyagban használunk.
Most, mint tudjuk, be kell kapcsolnunk az ESP8266-ot 3,3 V-mal. De a jelenlegi fogyasztás 0,8A, ezért előfordulhat, hogy nem működik a várt módon, ha az FTDI áttörő táblánkról tápláljuk. Ezért meg kell építenünk saját áramkörünket. Itt az LM317-et használtuk áramellátási célra; a teljes hardver elkészítésének részleteit a későbbi szakaszok tartalmazzák.
Szükséges anyagok:
- Perf Board
- ESP8266-01
- FTDI kitörési tanács
- LM317
- 0,1uf kondenzátor
- 10uf kondenzátor
- Jack hordó
- Bergstik férfi és nő
- Nyomógomb
- Csatlakozó vezetékek
- 12 V-os adapter a kártya áramellátásához.
Áramkör magyarázat:
A tábla vázlata az alábbiakban látható
Lehet, hogy néhányan megpróbálták az ESP-t közvetlenül az FTDI-ről táplálni, és működőképessé tették, de a következők az okai annak, hogy saját táblát építsen fel néhány további komponenssel:
- Csak kevés FTDI kártya képes elegendő áramot előállítani az ESP modulhoz. Kevés ESP modul képes nagy áramot fogyasztani, mint a másik villogás közben. Ezért mindig biztonságos, ha saját áramforrásunk van, és könnyebb lesz integrálni a tápfeszültség áramkört a Dot Board-ra kenyérlap helyett.
- Mindig alaphelyzetbe kell állítanunk az ESP modult a kód feltöltése előtt. Saját táblánk felépítése segít a modul egyszerű alaphelyzetbe állításában. Az ESP8266 visszaállításához nyomógombot használtunk.
- Az Arduino használatával történő programozáskor a GPIO0 lábat földelni kell, és szabadon kell hagyni, amikor AT parancsokat használunk. Ez könnyen átváltható, ha saját táblát építünk. Jumpert használtunk az AT parancs és az Arduino IDE programozási mód közötti váltáshoz.
- Az összes programozás soros kommunikációval történik , ha kenyérfalat használ, egyes laza terminálok félúton hibát okozhatnak, és arra kényszerítenek minket, hogy újra működtessük a modult.
Ennek ellenére választhat a kenyérlemez használata és a saját tábla elkészítése között a modul programozásához. Ha továbbra is használni szeretné a kenyérlapot, a kenyérlap segítségével felépíthető ugyanaz a fent bemutatott áramkör. Csak a megjelenés különbözik, az oktatóanyag összes többi utasítása ugyanaz lesz.
Építési tanács az ESP8266 programhoz:
Tehát itt építjük a táblát az ESP8266 modul programozásához, amelynek saját áramköre van az ESP8266 bekapcsolásához.
Mint mondtuk, modulunknak kb. 800 mA-re lesz szüksége a programozása során. Ezért saját erőmodult építettünk egy LM317 változó feszültségszabályozó használatával, mivel az LM317 forrásárama majdnem 1,2 A. Az LM317 bemeneti feszültsége 12V lesz, amelyet egy 12V 2A fali adapter segítségével adnak meg. Az LM317 kimenetét folyamatosan szabályozzák 3,3 V-ra a 220ohmos és 360ohmos ellenállások használatával. Az LM317 használatával ellenőrizze az akkumulátortöltő áramkörünket is, hogy többet tudjon meg az LM317-ről.
Az LM317 kimeneti feszültségének kiszámítására szolgáló képletek az alábbiak:
Vout = 1,25 * (1+ (R2 / R1))
Ahol R1 jelentése 220 ohm, R2 jelentése 360 ohm.
Az ESP8266 modul az alábbi táblázatban látható csapok szerint csatlakozik.
PIN-kód |
ESP pin név |
Csatlakozva valamihez |
1 |
Talaj |
Az FTDI modul földje |
2 |
GPIO2 |
Szabadon hagyva, vagy a berg bothoz csatlakoztatva, későbbi használatra |
3 |
GPIO0 |
Váltás a programozási módok közötti váltáshoz |
4 |
Rx |
Az FTDI modul Tx-je |
5. |
Tx |
Az FTDI modul Rx-je |
6. |
CH_PH |
3,3 V az LM317-ből |
7 |
Visszaállítás |
Nyomja meg a gombot a modul alaphelyzetbe állításához |
8. |
Vcc |
3,3 V az LM317-ből |
Az AT parancs mód és az Arduino programozási mód közötti egyszerű váltáshoz elhelyeztem egy kapcsolót (jumpert), amely az Arduino IDE használatakor földre fogja húzni a GPIO 0-t, és az AT parancsok használatakor lebegni hagyja.
Van egy nyomógomb, amelyet megnyomva visszaáll az ESP modul. Ez úgy történik, hogy egyszerűen csatlakoztatja az ESP modul RST csapját a földsínhez a nyomógombon keresztül. Az ESP modul programozása előtt minden alkalommal vissza kell állítanunk.
Miután összeállította az áramkört, az alábbiakban valami ilyennek kell kinéznie.
Használtam egy Perf táblát, de kenyérdeszkát is használhat, ha érdekli (ahogy fentebb tárgyaltuk). A teljes felépítést és magyarázatot az alábbi videó mutatja.
Miután elkészült a kapcsolatokkal. Kapcsolja be a kártyát az ESP & FTDI kártyák nélkül, és ellenőrizze, hogy megfelelően kapunk-e 3,3 V-ot az ESP modulok Vcc és Ground kapcsain. Most győződjön meg arról, hogy az FTDI kártya 3.3V módban van, és csatlakoztassa az FTDI és az ESP modulokat a táblához.
Kapcsolja be az adaptert, és csatlakoztassa a táblához. Az ESP modulnak piros színnel kell világítania.
Ezután csatlakoztassa az FTDI kártyát a számítógépéhez egy mini-USB-USB kábellel, és navigáljon a számítógép Eszközkezelőjéhez, és meg kell találnia az FTDI-kártyát a COM-porthoz csatlakoztatva, az alábbiak szerint:
Most itt az ideje, hogy kezünkbe vegyük az ESP8266 modul programozását. Kezdheti az AT-parancsok használatával, majd lépjen az Arduino IDE használatára. Ne felejtse el megnézni a többi ESP8266 alapú projektünket.