Accéder à ESP32Forth par TELNET
publication: 18 août 2022 / mis à jour 18 août 2022
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 laison 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" 1925144D91DE5373C3C2D7959F"
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 un bloc de fichier ESP32forth. Voici le code à taper ligne à ligne depuis le terminal. Ici, on va utiliser le boc numéro 4. Utilisez un autre bloc si ce bloc est occupé:
4 list
editor
0 r \ set forthCOM3 for 1st ESP32 card
1 r z" Mariloo"
2 r z" 1925144D91DE5373C3C2D7959F"
3 r login
4 r z" forthCOM3" MDNS.begin
5 r cr telnetd 552 server
flush
empty-buffers
forth
s" 4 load" s" /spiffs/autoexec.fs" dump-file
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.
Legal: site web personnel sans commerce / personal site without seling