Connecter la carte ESP32 à un accès WiFi

publication: 7 juin 2021 / mis à jour 9 juin 2021

Read this page in english

 


Appel à collaboration

Vous développez des montages, simples ou complexes avec ESP32 et ESP32forth.

Partagez-les ici sur ce site.

ESP32forth ne pourra se développer qu'avec la collaboration active de toutes les bonnes volontés.

Vos montages peuvent aider d'autres développeurs.

Les montages des autres développeurs peuvent vous aider.

Pour proposer un article ou un montage, cliquez ici


ESP32 et WiFi

La carte ESP32 est équipée d'un transmetteur WiFi. C'est ce module WiFi que nous allons contrôler avec ESP32forth.

ESP32forth intègre le vocabulaire WiFi. Pour y accéder, il suffit de taper WiFi vlist:

WIFI_MODE_APSTA WIFI_MODE_AP WIFI_MODE_STA WIFI_MODE_NULL WiFi.getTxPower WiFi.setTxPower
WiFi.mode WiFi.localIP WiFi.macAddress WiFi.status WiFi.disconnect WiFi.begin
WiFi.config

Les premiers mots, en caractères majuscules, sont des constantes dont l'usage est expliqué dans l'aide en ligne en cliquant sur le mot correspondant.

Réaliser une connexion WiFi

Nous allons étudier pas à pas comment réaliser une connexion WiFi depuis notre carte ESP32 sous ESP32forth. Pour celà, commençons par voir les réseaux disponibles:

Ici, le réseau qui nous intéresse a comme SSID Mariloo. Pour se connecter à ce réseau, il faut disposer du mot de passe correspondant. Avec ces deux éléments, nous allons commencer par indiquer le type de connexion que nous souhaitons établir:

WIFI_MODE_STA Wifi.mode

WIFI_MODE_STA. Mode station: dans ce mode, initialisera la station interne, tandis que l'interface de la station est prête pour les données Wi-Fi en réception et transmission.

z" Mariloo"
z" 1925xxxxxxxxxxxxxx7959F"  WiFi.begin

Le mot z" permet d'utiliser une chaîne de caractères se terminant par le code ASCII 0 (zéro). C'est le type de chaîne requis par la librairie WiFi.

Les deux chaînes de caractères sont récupérées par WiFi.begin. La première chaîne correspond au SSID de notre réseau, iciMariloo. La seconde chaîne de caractères correspond au mot de passe d'accès au réseau.

Pour savoir si la connexion est établie, on exécute le mot WiFi.status:

WiFi.status
.   \  display WiFi status

Si la connexion est établie, on récupère la valeur 3: WL_CONNECTED.

L'étape suivante consiste à récupérer l'adresse IP que le réseau a affecté à notre carte ESP32:

WiFi.localIP  .
\ display 369207488

Voici comment décoder cette adresse 32 bits sous forme d'adresse IP lisible:

web-interface
369207488 ip.   \ display 192.168.1.22

Initier une liaison TELNET

ESP32forth intègre un serveur TELNET. Voici comment l'initier en mode serveur.

On commence par une carte ESP32 et une version ESP32forth qui a le vocabulaire telnetd. Pour savoir si le vocabulaire telnetd est installé:

telnetd vlist

Ensuite, on va initialiser la liaison WiFi:

z" Mariloo"
z" 1925144D91DXXXXXX3C2D7959F"  login

Si tout s'est bien passé, on lit le résultat:

192.168.1.22
MDNS started

Notez l'adresse IP.

Pour lancer le mode serveur, tapez:

cr telnetd 8080 server
\ display:  Listening on port 8080 
 

Lancez maintenant un programme de type terminal. Pour notre part, on a utilisé Putty qui est disponible sous Windows et Linux. Le paramétrage est très simple:

Cliquez sur Open. Ceci ouvre la fenêtre de communication du terminal en mode TELNET:

Si vous avez la possibilité de modifier les paramètre de votre routeur WiFi, il est possible de permettre un accès distant à votre carte ESP32...


Legal: site web personnel sans commerce / personal site without seling