Wstęp
W pierwszej części cyklu: Konfiguracja konwertera UART i modułu WiFi ESP-01 (cz. 1/3) opisano sposób nawiązania komunikacji z modułem WiFi. W tej części poradnika zaprezentowane zostaną niektóre polecenia (AT) obsługujące moduł ESP8266. Źródło: ElektroPrzewodnik.
Lista części
- platforma prototypowa Arduino (tu Leonardo),
- czujnik temperatury DS18B20,
- Moduł WiFi ESP8266 (ESP-01),
- Moduł zasilania 545043,
- Konwerter USB-UART CP2102,
- płytka prototypowa,
- przewody.
Komendy AT
Testy rozpoczniemy od upewnienia się, że moduł ESP8266 posiada odłączony pin GPIO0 od masy (stan normalnej pracy) (Fig. 1).
Komunikację z modułem ESP8266 zapewni monitor portu szeregowego Arduino IDE. Należy uruchomić środowisko, a następnie z menu głównego > Narzędzia > Port szeregowy wybrać port, do którego, za pośrednictwem konwertera, podłączony jest nasz moduł WiFi. Otwieramy Monitor portu szeregowego i wydajemy modułowi ESP8266 pierwsze polecenie: AT, które służy do potwierdzenia komunikacji pomiędzy komputerem a modułem ESP8266. Pełną listę poleceń AT można pobrać ze strony. Jeżeli połączenie jest poprawne. moduł WiFi odpowie nam
AT
OK
Oznacza, to, że moduł WiFi jest gotowy do pracy.
00200.9.5(b1)
compiled @ Dec 25 2014 21:40:28
AI-THINKER Dec 25 2014
OK
+CIOBAUD:9600
OK
+CWMODE:1
OK
gdzie:
1 - klient,2 - access point,3 - klient + access point.
AT+CWMODE=1
OK
+CIPMODE:0
OK
gdzie:
0 - dane przychodzą w formacie: "+IPD,kanał,liczba_bajtów",1 - dane odbiorcze są wysyłane bezpośrednio na port szeregowy.
AT+CIPMODE=0
OK
AT+CIPMUX?
+CIPMUX:0
OK
gdzie:
0 - obsługa wyłącznie jednego połączenia,1 - obsługa wielu połączeń.
AT+CIPMUX=1
OK
+CWLAP:(3,"UPC248663944",-85,"34:7a:60:a5:f2:b9",1)
+CWLAP:(4,"UPC1368607",-77,"8c:04:ff:b9:ab:d9",1)
+CWLAP:(0,"UPC Wi-Free",-76,"8e:04:ff:b9:ab:db",1)
+CWLAP:(4,"vlan",-82,"64:66:b3:90:51:29",1)
+CWLAP:(4,"K1",-86,"78:54:2e:f5:b8:46",2)
+CWLAP:(2,"F91",-60,"00:1e:2a:09:29:a2",13)
+CWLAP:(0,"UPC Wi-Free",-86,"06:7c:34:4f:d4:3f",6)
+CWLAP:(4,"UPC7165297",-85,"64:7c:34:4f:d4:3f",6)
+CWLAP:(4,"Tech_D0044388",-85,"08:95:2a:0d:03:bd",7)
OK
AT+CWJAP="F91","haslo"
OK
AT+CWJAP?
+CWJAP:"F91"
OK
AT+CIPSTA?
+CIPSTA:"192.168.1.8"
OK
AT+CIPSTAMAC?
+CIPSTAMAC:"18:fe:34:d1:3e:18"
OK
AT+CIFSR
+CIFSR:STAIP,"192.168.1.8"
+CIFSR:STAMAC,"18:fe:34:d1:3e:18"
OK
AT+CIPSERVER=1,80
OK
gdzie:
1 - uruchamia serwer,0 - wyłącza serwer,80 - numer portu,
Jeżeli w przeglądarce WWW wpiszemy adres serwera WWW modułu ESP8266 (192.168.1.8), moduł zgłosi na monitorze portu szeregowego zapytanie klienta (kanał=0):
+IPD,0,383:GET / HTTP/1.1
Host: 192.168.1.8
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4
OK
Możemy teraz do przeglądarki klienta wysłać dowolną informację
>HELLO WORLD!busy...
SEND OK
gdzie:
0 - nr klienta,12 - liczba wysyłanych bajtów (1 znak ASCII = 8 bitów),0 CLOSED
OK
gdzie:
0 - nr klienta,