Terminal wifi pour ESP ?

Salut la compagnie

C'est quand même bien pratique de laisser quelques print() dans un code source, même après finalisation, afin de pouvoir suivre "de l'intérieur" le bon fonctionnement du programme.

N'ayant rien trouvé de prêt à l'emploi sur le net, tel que je le voulais, je me suis lancé dans l'écriture d'un terminal pour ESP8266 qui fonctionne entièrement en http.
Cela permet de "rester en contact" avec l'ESP, y compris lorsque celui-ci n'est plus relié au PC.

Là je suis en train de terminer la mise au point. Le résultat est plutôt sympa.
Même en phase de dev de programmes, je pense que je vais vite prendre l'habitude d'afficher le terminal sur une tablette posée à côté du PC, au lieu d'utiliser le terminal série de l'IDE arduino, qui mange de la place sur l'écran du PC.

Est-ce qu'il y a du monde intéressé dans le coin?
Si oui, je vais parfaire la finition avant de publier une V1 ici sur le forum.

Et accessoirement, quelques âmes de bonne volonté pour des tests dans vos programmes, histoire de traquer d'éventuels bugs résiduels?

Bonjour Bricoleau

intéressé ? OUI !
tests , OUI, surtout si c'est également utilisable avec ESP32c!

La compatibilité ESP32 est encore dans mon backlog :slight_smile:

Mais ce n’est pas méchant du tout : quelques lignes à modifier pour que cela compile avec le core ESP32.
C’est juste que n’en n’ayant pas l’usage, je n’ai pas d’ESP32.
Donc je pourrai seulement garantir que cela compile.

Je l’ajoute dans la V1 :wink:

Merci !
je ferai un retour pour ESP32

+1
On testera sur ESP32 :wink:

boujour,

je n'en suis qu'au stade ou j'essaie de faire la différence entre ESP32-8266-01...
Perso je bidouille avec ESP-01. Mais je suis fan de voir comment tu programmes ça!
:wink:
Merci du partage!
à ce sujet, j'avais posté sur l'apathie de l'ESP-01 https://forum.arduino.cc/index.php?topic=665870.msg4484451#msg4484451
j'attends le retour de test de ma dernière modif, qui pourrait aussi aider qques uns d'entre vous.
Merci Bricoleau!

C'est bon ça compile pour ESP32.

Je peaufine les exemples et ce sera bientôt bon...

Bonjour,

oui c'est une bonne idée, je me demandais si ça existait, je suis aussi preneur.

Cordialement

Hello
+1 :slight_smile:
pas expert, mais très curieux

Plus qu'un ou deux petits coups de tournevis à donner.

Je vous livre la version beta demain soir :wink:

Ne te presse pas.
Il n'y a rien de pire qu'une livraison du vendredi soir :wink:

Comme promis, je vous soumets ma version beta

Installation

  1. installer au préalable la bibliothèque externe arduinoWebSocket
    Je mets en pièce jointe la version que j’ai utilisée.
    Elle est également disponible sur github ICI

  2. installer ma bibliothèque WiFiTerm en pièce jointe

Utilisation

Editez l’exemple full_demo.ino fourni avec WiFiTerm, pour y mettre vos propres codes WiFi
Téléversez le programme dans votre ESP8266 ou votre ESP32
Ouvrez le terminal Série de l’IDE Arduino, et suivez les instructions

Opinion

Z’en pensez quoi? :slight_smile:

arduinoWebSockets-master.zip (80.1 KB)

WiFiTerm_beta.zip (19.5 KB)

bonjour Bricoleau,

j’ai testé, ça marche sur ESP01. Je suis admiratif autant qu’ébahi par ce genre de programme. Mais en tant que gros noob…
Est-ce que l’utilité serait d’utiliser ton terminal comme moniteur série hors connexion USB de l’ESP?
Si c’est ça, je vais passer une journée sympa sur mes projets!
Merci, bravo et…encore!

Alors ce truc là, c'est.... comment dire ? .... GENIAL !

merci !!

Merci c'est sympa.

Mais à vrai dire, je cherche surtout à avoir des retours sur les points à améliorer :wink:

Par exemple : le CSS n'est pas ma tasse de thé.
Il doit certainement y avoir une bonne marge de progrès à ce niveau.
J'ai pas mal galéré pour avoir un rendu à peu près correct sur tous les devices. La taille des polices me semble encore trop petite sur smartphone, mais à chaque fois que je touche à un truc ça flingue autre chose. Pas réussi à m'en dépatouiller avec du responsive.
Sur le même plan, le redimensionnement des zones m'a tellement saoulé en css, que j'ai fini par opter pour la solution de facilité et ajouter un petit bout de javascript pour le faire.

A noter que tester ses propres modifs dans la partie client est assez simple, car cela ne nécessite pas de repasser par un téléversement dans l'ESP.
Il suffit de recopier le répertoire webfiles dans un répertoire de travail, modifier directement les fichiers source, et double-cliquer sur le fichier term.html

Pour ma part je vais améliorer le javascript, pour une meilleure actualisation de l'état de la connexion avec l'ESP (=changement de couleur du bouton)

@Lio : je ne suis pas sûr de comprendre ta question.
Avec cette bibliothèque, on peut utiliser un ESP en tant que passerelle Serial-HTTP.
Et brancher cette passerelle sur tout dispositif électronique disposant d'une interface Série, afin de remonter les flux vers un terminal WiFi ouvert sur un smartphone par exemple.
C'est bien ça le sens de ta question ?
Si oui, le programme est assez simple à réaliser. Ce sont des read & print croisés.
On peut même l'ajouter dans les exemples fournis avec la bibliothèque.

Alors ce truc là, c'est.... comment dire ? .... GENIAL !

Je confirme, je vais tester ce weekend (d'où l'intérêt des livraisons du vendredi !!! :wink: ). Merci !

J'étais tombé par hasard sur une bibliothèque de ce style un jour, je posterai le lien si je le retrouve.

hello
SUPER,test avec Wemos D1 R2 donc esp8266

pour l'instant, je vois ça comme un moniteur déporté.

Questions:

1/ce système ne peut être utilisé que sur un esp qui n'a pas besoin de connexion sur le net, puisque la page est déjà utilisée par le moniteur?

2/un prg sur méga peut il écrire dans un esp lequel envoie sur le moniteur?
(je connais assez peu les esp, je ne sais pas si une liaison série méga vers esp est réalisable)

  1. je n'ai pas testé mais normalement oui. Il suffit de configurer l'ESP en point d'accès WIFI

  2. oui c'est le sens de mon post précédent. Avec une mega, faut juste faire attention à la différence de voltage avec l'ESP

As-tu prévu un login / pass ?

Non mais faut bien comprendre de quoi on parle :

L'ESP héberge deux serveurs :

  • un serveur web classique qui répond sur le port 80
  • un serveur websocket qui répond sur le port 81

Le serveur web n'est pas défini par ma bibliothèque.
Il doit être déclaré en amont, éventuellement pour mettre à dispo d'autres ressources http si l'ESP fournit par ailleurs un site web principal.
Ma bibliothèque se contente de se greffer sur ce serveur web existant, pour y ajouter les fichiers ressources nécessaires au fonctionnement du terminal WiFi, c'est-à-dire les fichiers qui se trouvent dans le répertoire webfiles.

La sécurisation de ce serveur web n'est pas du ressort de ma bibliothèque.
Tu dois pouvoir configurer l'ESP en point d'accès Wifi sécurisé.

Après, il y a le serveur websocket, spécifique à WiFiTerm et installé par ma bibliothèque.
Ce serveur est dédié aux échanges de données entre l'ESP et le code javascript qui tourne côté client.
La sécurisation de ce serveur websocket, pourrait être envisagée.
A l'état de l'art, cela consisterait à passer en HTTPS + gérer une authentification des clients.
Il me semble que c'est possible, car j'ai vu que la lib websocket est compatible https.
Mais c'est un peu chaud pour mes compétences :smiley:

Faudrait aussi regarder comment fonctionne la sécurisation des téléversements OTA.
Cela pourrait être cohérent de s'y greffer.
Car WiFiTerm + téléversement OTA = tout confort pour travailler à distance sur un ESP in situ, comme si celui-ci était branché au PC.