OK

Při poskytování služeb nám pomáhají soubory cookie. Používáním našich služeb vyjadřujete souhlas s naším používáním souborů cookie. Více informací

Úvodní stránka » Aktuální články » Internet věcí a ESP8266

Internet věcí - Internet of Things (IoT) a ESP8266

Myšlenka propojení spotřebičů, čidel, ovládačů a všeho možného, co se vyskytuje v domácnosti, ale také mimo ně je již poměrně stará, ale stále je to velmi populární téma. Takovými předskokany do oblasti IoT byly před mnoha lety zabezpečovací systémy, které uměly nejprve po telefonní lince obsloužit pár požadavků na zabezpečovací systém, později vnesla trochu více komfortu existence sítě GSM, kdy přes SMSky se dalo ovládat podstatně více a podstatně pohodlněji. Skutečný boom ale přinesl až rozvoj internetu a návazných systémů - zejména smartphonů. Do doby nedávné ale chyběl nějaký vhodný spojovací můstek mezi věci, kterou chceme dálkově obsluhovat a prostředím internetu, který by byl zároveň velmi levný a hlavně spolehlivý. Obě tyto vlastnosti splňuje wifi modul ESP8266, který ze zrodil z jednoho startupového projektu a který je v dnešní době velice populární. V následujícím textu se chci věnovat popisu tohoto modulu zejména ve vztahu k Arduinu a v dalších článcích pak ukázat praktické příklady použití toho levného, ale kvalitního modulku.

ESP8266 základní charakteristiky

Na internetu najdete množství informací o tomto modulku a zde uvádím jejich stručný přehled. Modulek je opravdu miniaturní a je až neuvěrítelné, že se podařilo vše vtěsnat na desku o rozměrech 15 x 25mm. V současné době je k dispozici několik modifikací ESP8266, které se prakticky liší pouze anténou (integrovaná nebo konektor pro připojení externí antény) a rozmístěním pinů pro komunikaci s modulkem a jeho napájení. U antény bych se na chvilku zastavil - mám zkušenost pouze s modulkem s integrovanou anténou, která je přímo nakreslená jako meandr na plošném spoji. Dosah na volném prostransví cca 360m proti wifi router TP-Link WR841 a cca 60m v cihlové stavbě. Toto jsou patametry více než perfektní pro nejrůznější domácí automatizaci všeho možného, tedy připojení věcí na internet. Kdo požaduje větší dosahy, pak by měl uvažovat o extérní anténě a modulku trochu jiného provedení.

ESP8266

Napájecí napětí je 3.3V a je třeba myslet na napěťové špičky při určitých komunikačních stavech, zejména registraci do WiFi sítě. Zde je potřeba použít kondenzátor dostatečné kapacity pro vykrytí těchto špiček. Nedoporučuje se napájet tento modul přímo ze zdroje 3.3V desky arduina - ano, je to pravda. Pokud budete sedět u routeru a dělat pokusy, pak tento problém patrně nezaznamenáte. Jakmile ale bude potřeba zaregistrovat modul k routeru, který je vzdálenější a síla signálu je kolem 70dBm, pak modulek začne sosat to, co není schopno arduino dodat. Doporučuji proto externí napájení vhodným 3.3V stabilizátorem a na výstup připojit kondenzátor cca 1000M/6.3V.

Co se WiFi týče, modul zvládá komunikci podle normy 802.11 b/g/n a v následující tabulce naleznete typické odběry při dané komunikační rychlosti nebo stavu modulu.

 

ModeMinTypickyMaxjednotka
802.11b, CCK 1Mbps, POUT=+19.5dBm   215   mA
802.11b, CCK 11Mbps, POUT=+18.5dBm   197   mA
802.11g, OFDM 54Mbps, POUT=+16dBm   145   mA
802.11n, MCS7, POUT =+14dBm   135   mA
802.11b, packet size of 1024 bytes, -80dBm   60   mA
802.11b, packet size of 1024 bytes, -70dBm   60   mA
802.11b, packet size of 1024 bytes, -65dBm   62   mA
Standby   0.9   uA
Deep sleep   10   mA
Saving mode DTIM 1   1.2   mA
Saving mode DTIM 3   0.86   mA
Shutdown   0.5   uA

   

Co se UARTu týče - od výrobce chodí tyto moduly s FW pro pevnou kounikační rychlost 115200 b/s, což se sice hodí k připojení k Arduinu, ale pouze k jeho nativnímu UARTu. Jakmile bychom chtěli připojit tento modul k obecným digitálním vstupům/výstupům Arduina a ovládat využitím SoftwareSerial knihovny, pak narazíme. Tato knihovna totiž podporuje maximální rychlost pouze 19200 b/s. Z tohoto důvodu je třeba udělat flash FW na verzi V 0.9.2.2.

Zapojení pinů

ESP8266 pinout

Příklad komunikace

Pro komunikaci s modulem ESP8266 je potřeba si připravit vhodný převodník USB- UART, který poskytuje dostatečné napájení na 3.3V a zapojit piny TX a RX do kříže. Je nutné na pin CH_PD přivést 3.3V, aby modulek komunikoval. Pak otevřete jakýkoliv terminál na rychlosti 115200 (nebo 9600 - záleží na verzi FW nebo předchozím nastavení) a můžete začít posílat AT příkazy.

Otestování, zda modul komunikuje:

AT

OK

V jakém se nachází ESP8266 módu? (1 = klient, 2 = AP, 3 = kombinovaný)

AT+CWMODE?
+CWMODE:1

OK

Jaké mám kolem sebe AP?

AT+CWLAP
+CWLAP:(2,"PM->RM",-82,"00:15:6d:7c:f8:6e",2)
+CWLAP:(0,"www.KunciceNET.cz_ap1_taba",-84,"00:4f:62:13:ed:6d",6)
+CWLAP:(2,"TESTER",-28,"a0:f3:c1:65:68:7e",11)
+CWLAP:(2,"Master",-79,"90:f6:52:31:3b:40",11)

OK

Asociuji se k AP s názvem TESTER:

AT+CWJAP="TESTER","**********"

OK

Jakou jsme obdržel IP adresu?

AT+CIFSR
192.168.10.106

OK

Otevři kanál pro násobné připojení:

AT+CIPMUX=1

OK

Nastav se jako server, třeba na portu 80:

AT+CIPSERVER=1,80

OK

Zkusím, vstoupit na svou adresu přes browser (port 80) a koukejte, co se pošle z ESP:

Link

+IPD,0,341:GET / HTTP/1.1
Host: 192.168.10.106
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: cs-CZ,cs;q=0.8


OK
Link

Udělám nyní telnet na adresu (na portu 80):

Link

A pošlu nějaká data, na RX obdržím tuto odpověď:

+IPD,0,4:Ahoj
OK

+IPD,0,2:

OK

Slušnost je odpovědět, takže takto učiním:

AT+CIPSEND=0,6
> NAZDAR
SEND OK

... a v telnetu vidím NAZDAR

Tento článek není jistě vyčerpávající, nicméně je to nástin a úvod do problematiky použití WiFi modulku ESP8266. Brzy přijdu s pokračováním ve formě reálného projektu internetového teploměru na bázi DS18B20, arduino NANO a právě modulku ESP8266.

ESP8266 je právě dostupný také v našem e-shopu za skvělou cenu!

 

 


TOP produkty

Arduino DUE

Arduino DUE
696 Kč s DPH

Arduino MEGA2560

Arduino MEGA2560
424 Kč s DPH

Kontakt

Ing. Petr Foltýn
Kunčice pod Ondřejníkem 814, 73913
TOPlist