Accéder à ESP32Forth par TELNET
publication: 18 août 2022 / mis à jour 6 avril 2025

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
Prérequis
Avant de gérer une connexion, il faut établir une liaison réseau. La carte ESP32 dispose d'un interface WiFi.
Pour établir une liaison Wifi, il faut:
- avoir un modem/routeur qui gère les liaisons en WiFi
- disposer du SSID de port WiFi disponible et de sa clé d'accès
La connexion au réseau est assurée par le mot login
:
\ connection to local WiFi LAN : myWiFiConnect ( -- ) z" Mariloo" z" 1925144D91DE5373C3XXXXXXXX" login ;
L'exécution de myWiFiConnect
affiche:
--> myWiFiConnect 192.168.1.8 MDNS started
Changer le nom DNS de la carte ESP32
Pour se connecter à une carte ESP32, il y a deux méthodes:
- en connaissant son adresse IP sur le réseau interne. Dans le cas ci-dessus, l'adresse IP est 192.168.1.8. Cette adresse peut changer si elle n'est pas verrouillée par le routeur WiFi;
- par le mon DNS déclaré au moment de la connexion au réseau WiFi. Par défaut, ESP32forth attribue le nom forth à la carte qui se connecte au réseau WiFi.
Voici comment initialiser PuTTY pour utiliser le nom d'hôte forth au lieu de l'adresse IP:

Si on veut communiquer avec plusieurs cartes ESP32 sur un même réseau, il faut que chaque carte déclare un nom d'hôte distinct. Exemple de code pour deux cartes ESP32:
\ set forthCOM3 for 1st ESP32 card
z" Mariloo"
z" 1925144D91DE5373C3C2D7959F"
login
z" forthCOM3" MDNS.begin
cr telnetd 552 server
Code pour la seconde carte ESP32:
\ set forthCOM6 for 2nd ESP32 card
z" Mariloo"
z" 1925144D91DE5373C3C2D74756"
login
z" forthCOM6" MDNS.begin
cr telnetd 552 server
L'exécution de ce code sur chacune des cartes affecte les noms d'hôte forthCOM3 et forthCOM6 sur le réseau interne.
Connexion aux cartes ESP32 par leur nom d'hôte
Lancer PuTTY. On saisit le nom d'hôte et le port ouvert pour accéder à forthCOM3:

Puis on lance une nouvelle session de PuTTY et on change simplement le nom d'hôte pour cette session, ici forthCOM6. Voici deux sessions PuTTY permettant de communiquer avec ces deux cartes ESP32:

Pour lancer automatiquement le client TELNET sur la carte ESP32, on va intégrer notre code de connexion dans le fichier autoexec.fs:
\ set forthCOM3 for ESP32 card
z" Mariloo"
z" 1925144D91DE5373C3C2D7959F"
login
z" forthCOM3" MDNS.begin
also telnetd
552 server
A partir de maintenant, le client TELNET sera relancé automatiquement au démarrage de ESP32forth. Il n'est plus nécessaire d'utiliser le terminal pour communiquer avec la carte ESP32 déclarée avec le nom d'hôte forthCOM3:
- débranchez la carte ESP32;
- rebranchez la carte ESP32, mais n'ouvrez pas le terminal!
- attendez quelques secondes...
- lancez puTTY et activez une connexion TELNET avec forthCOM3 sur le port 552
L'accès TELNET par PuTTY permet les mêmes manipulations que par le terminal. Seule restriction: si vous transmettez du code FORTH par copié/collé, limitez la taille du code transmis.
Accès à la carte ESP32 depuis Internet
Dans nos pré-requis, nous avons communiqué avec nos deux cartes ESP32 via le réseau local en sélectionnant chaque carte ESP32 en indiquant son adresse IP et le port ouvert par notre carte, ici le port 552.
Mais pourquoi rester enfermé dans le réseau local?
Ce serait beaucoup plus intéressant de pouvoir commander une carte ESP32 depuis Internet, c'est à dire depuis n'importe quel endroit sur Terre!
Paramétrage de la box Internet
Pour paramétrer l'accès à une carte ESP32, connectez-la en activant le serveur TELNET tel que décrit plus haut.
Avertissement: les explications qui suivent concernent le paramétrage d'une box Internet de l'opérateur ORANGE (France). Ces paramétrages peuvent différer sur d'autres box pour d'autres opérateurs.
Pour accéder au paramétrage de la box Internet ORANGE, ouvrir le navigateur web de son choix. Dans la barre
d'adresse, entrer http://192.168.1.1/
:
- identifiez-vous dans la partie administrateur;
- cliquez ensuite sur l'onglet configuration avancée

On se retrouve dans le choix DHCP. Cette section indique tous les appareils connectés à la box Internet. Dans cette liste, la carte ESP32 active et connectée par WiFi est visible:

Ici, c'est la carte esp32-9C7630. Pour permettre l'accès à cette carte depuis Internet, on définit une autorisation d'accès en sélectionnant maintenant l'onglet NAT/PAT:

Pour paramétrer l'accès à la carte ESP32 depuis Internet, on règle cinq paramètres:
- application/services: sélectionner telnet
- port interne: on indique le port utilisé par notre serveur Telnet, ici 552
- port externe: on attribue le même port que ci-dessus
- protocole: on sélectionne les deux, c'est à dire les protocoles TCP et UDP
- appareil: on indique notre carte ESP32, ici ESP32-9C7630

Pour finir, cliquer sur enregistrer. Notre carte ESP32 est maintenant accessible depuis Internet!
Accès à la carte ESP32 depuis Internet
La première opération à faire consiste à récupérer l'adresse IP attribuée à notre box Internet. Ici, c'est 90.37.142.243.
Pour accéder à notre carte ESP32 depuis Internet, il faut:
- avoir un ordinateur connecté à Internet sur une liaison Internet différente de la box sur laquelle est connectée notre carte ESP32;
- sur cet ordinateur, lancer un terminal, ici MINICOM;
- cliquer sur new connection

Dans le champ Host entrer l'adresse IP de la box sur laquelle est connectée la carte ESP32. Indiquez le port 552.
Cliquez sur OK ouvre la fenêtre du terminal. Vous pouvez maintenant contrôler ESP32Forth depuis n'importe où sur la planête!
Legal: site web personnel sans commerce / personal site without seling