====== Commandes AT ====== Sans modification du programme le **circuit intégré ESP8266** répondra à des commandes AT (ou commandes Hayes) s'il est chargé avec le [[electronique:esp:esp8266ex-restore-commandes-at|firmware adéquat]]. C'est le cas de la plupart des [[electronique:esp:specifications-esp-01|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 ====== Glossaire des commandes AT - Wifi ====== ===== CWMODE : Mode de fonctionnement du Wifi ===== **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** : * 1 = mode client * 2 = mode point d'accès (AP) * 3 = AP + mode client (dual mode) __Exemple de réponse avec AT+CWMODE?__ 23:16:33.243 -> AT+CWMODE? 23:16:33.243 -> +CWMODE:1 ===== CWLAP - Lister les points d'accès ===== 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**. * ecn: 0 OPEN , 1 WEP , 2 WPA_PSK , 3 WPA2_PSK , 4 WPA_WPA2_PSK * ssid: chaîne représentant le nom du point d'accès * rssi: force du signal en dB * mac: chaîne représentant l'adresse MAC * channel : valeur numérique __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 ===== CWJAP - Se connecter à un point d'accès ===== 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 ===== CIFSR - Renvoi l'adresse IP local ===== AT+CIFSR Renvoi l'adresse IP local. Il y a une adresse en mode client et une adresse en mode AP. ===== CIPMUX - Permettre des connexions multiples ===== Permet des connexions multiples ou non. L'option **mode** permet d'autoriser (valeur 1) ou non (valeur 0) les connexions multiples. AT+CIPMUX=mode ===== CIPSERVER - Configurer comme un serveur ===== 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''.