Sans modification du programme le circuit intégré ESP8266 répondra à des commandes AT (ou commandes Hayes) s'il est chargé avec le firmware adéquat. C'est le cas de la plupart des ESP-01
Je propose le T.P. suivant afin de prendre en main un ESP8266 avec les commandes AT.
Vérifier le fonctionnement du mode Wifi
AT+CWMODE?
Passer en mode dual (AP + client)
AT+CWMODE=3 -> ok
Se connecter à un réseau
AT+CWJAP="ACEGRP_NET","249cb30b415788bdd20c5d3c20" -> WIFI CONNECTED -> WIFI GOT IP -> -> OK
Mémoriser les paramètres de connexion
AT+CWQAP -> -> OK
Lister les adresses réseaux
AT+CIFSR -> +CIFSR:APIP,"192.168.4.1" -> +CIFSR:APMAC,"1a:fe:34:9a:36:13" -> +CIFSR:STAIP,"192.168.101.20" -> +CIFSR:STAMAC,"18:fe:34:9a:36:13" -> -> OK
Activer les connexions multiples
00:21:55.429 -> OK 01:09:33.601 -> AT+CIPMUX=1
Activer le serveur Web (port 80)
01:09:33.601 -> OK 01:09:40.391 -> AT+CIPSERVER=1,80
Lorsqu'un client se connecte, les informations suivantes dans la console s'affichent :
01:09:56.319 -> 0,CONNECT 01:09:56.319 -> 01:09:56.319 -> +IPD,0,341:GET / HTTP/1.1 01:09:56.319 -> Host: 192.168.101.20 01:09:56.319 -> User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:83.0) Gecko/20100101 Firefox/83.0 01:09:56.319 -> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 01:09:56.319 -> Accept-Language: fr,fr-FR;q=0.5 01:09:56.319 -> Accept-Encoding: gzip, deflate 01:09:56.352 -> DNT: 1 01:09:56.352 -> Connection: keep-alive 01:09:56.352 -> Upgrade-Insecure-Requests: 1 01:09:56.352 -> 01:12:56.522 -> 0,CLOSED
Retourner la valeur numérique du mode de fonctionnement du Wifi du module ESP.
AT+CWMODE?
Désigner la valeur numérique du mode de fonctionnement du Wifi du module ESP. Par exemple
AT+CWMODE=3
Valeurs numériques pour désigner du mode de fonctionnement du Wifi pour CWMODE :
Exemple de réponse avec AT+CWMODE?
23:16:33.243 -> AT+CWMODE? 23:16:33.243 -> +CWMODE:1
Lister les points d'accès vus par l'ESP.
AT+CWLAP
Chaque ligne retournée correspond à un point d'accès avec les paramètres ecn, ssid, rssi, mac, channel.
Exemple de réponse avec AT+CWLAP
23:16:55.796 -> AT+CWLAP 23:16:57.915 -> +CWLAP:(3,"ACEGRP_NET-F2",-22,"f8:9a:78:9b:67:05",4) 23:16:57.915 -> +CWLAP:(3,"ACEGRP_NET",-68,"50:c7:bf:8c:4f:e9",6) 23:16:57.915 -> +CWLAP:(3,"ACEGRP_NET",-82,"e0:24:81:49:14:eb",7) 23:16:57.915 -> 23:16:57.915 -> OK
Connecter à un point d'accès l'ESP de nom de réseau ssid et de mot de passe passwd.
AT+CWJAP="ssid","passwd"
Exemple de réponse avec AT+CWJAP en echec
00:13:39.096 -> AT+CWJAP="ACEGRP_NET","249cb30b415788bdd20c5d3c20" 00:13:46.182 -> WIFI DISCONNECT 00:13:54.427 -> +CWJAP:1 00:13:54.427 -> 00:13:54.427 -> FAIL
Exemple de réponse avec AT+CWJAP en réussite
00:14:02.538 -> AT+CWJAP="ACEGRP_NET","249cb30b415788bdd20c5d3c20" 00:14:08.763 -> WIFI CONNECTED 00:14:12.671 -> WIFI GOT IP 00:14:13.632 -> 00:14:13.632 -> OK
AT+CIFSR
Renvoi l'adresse IP local. Il y a une adresse en mode client et une adresse en mode AP.
Permet des connexions multiples ou non. L'option mode permet d'autoriser (valeur 1) ou non (valeur 0) les connexions multiples.
AT+CIPMUX=mode
Configurer l'ESP8266 comme un serveur (mode à 1) ou non (mode à 0) sur le port indiqué. Port n'est pas une valeur obligatoire.
AT+CIPSERVER=mode,port
Si mode est passé à 0, il faut redémarrer l'ESP8266.
Le port par défaut est le 333.
La création d'un serveur n'est possible qu'a condition d'executer en pré requis la commande AT+CIPMUX=1
.