tuto WebSocket sur ESP32 ?

voilà, je recherche un tel tutoriel récent
ceux que j’ai pu trouver sont avares en explication, et se contentent de reprendre en cœur le même exemple bouton <-> voyants …
quelqu’un aurait vu quelque chose de mieux ?

Bonjour trimarco232

celui ci reste dans le register "bouton/voyant" mais les explicatiosn fournies permettebt peut être d'aller au delà ?

(je n'ai pas travaillé la chose)

Pour avoir pratiqué les WebSockets, cela permet de communiquer le plus souvent entre un navigateur et un serveur WEB, mais cela peut se faire aussi entre deux serveurs (PHP par exemple).
Généralement on met en œuvre une WebSocket en JavaScript (XMLHttpRequest).
Ensuite le serveur qui reçoit la requête est un serveur HTTP classique.
J’ai utilisé cette technique pour communiquer avec un serveur HTTP local sur la machine cliente, qui lui-même gérait un périphérique sur liaison série.
Dans l’exemple fourni par al1fch le client est le navigateur (code JavaScript publié par l’ESP32) et le serveur l’ESP32 lui-même, donc le code client est exécuté par le navigateur et non pas par l’ESP32.

J'ai reprogrammé un serveur http sur ESP32, en partant des exemples simples dont vous parlez. L'original était lent et, je crois bien bogué. De plus, en le décortiquant, j'ai trouvé que les échanges n'étaient pas bufferisés correctement. D'une part la fonction availableForWrite(), qui devrait normalement être disponible, ne l'est pas, et personne n'a répondu à ma question à ce sujet sur le forum Espressif. D'autre part le code ne tient pas compte des "write partiels", en reprenant pour la fin du buffer non transmis. D'où des pertes de données lorsqu'on essaie de pousser la vitesse. Enfin je voulais intégrer les échange read / write, de nature asynchrone, dans un gestionnaire de "taches" en mode round-robin, et les délais que j'ai mesurés (jusqu'à 185 ms bloqué sur un appel de fonction d'écriture ou lecture) n'étaient pas compatibles avec les objectifs de rapidité du round robin que je m'étais fixés à savoir moins d'une milliseconde par tour. En fait je suis maintenant à 2 ms mais j'espère améliorer ça.

Salut

Mon terminal wifi utilise la lib arduinoSockets.h que j'ai trouvée bien faite et assez simple d'utilisation.

Tu peux éventuellement zieuter mon code source pour t'en inspirer selon ton besoin (y a aussi la partie javascript qui tourne côté client).

a+

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.