L'idée est de paramétrer votre Wemos ou tout autre micro-controleur esp8266 pour en faire un serveur [[[[https://fr.wikipedia.org/wiki/WebSocket|websocket]] est ainsi envoyer des données qui seront exploité en javascript.
**1-Installation de la librairie
**
- Aller via l’onglet croquis sur : inclure une bibliotheque/gérer les bibliothèques
- Dans le bloc de saisie en haut à droite tapez « websocket »
- Doit apparaitre dans la liste situé dessous : websocket by Markus Sattler.
- Cliquer sur installer
**2-Le code pour Arduino**
#include
#include
#include
#include
#include
WebSocketsServer webSocket = WebSocketsServer(81);
const char *ssid = "testAP"; //changer le nom ssid pour un autre nom unique
const char *password = "1234testAP";
bool plug = false;
void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght) {
switch(type) {
case WStype_DISCONNECTED:
plug=false;
Serial.printf("[%u] Disconnected!\n", num);
break;
case WStype_CONNECTED:{
plug=true;
IPAddress ip = webSocket.remoteIP(num);
Serial.printf("[%u] Connected from %d.%d.%d.%d url: %s\n", num, ip[0], ip[1], ip[2], ip[3], payload);
// send message to client
webSocket.sendTXT(num, "Connected");
}
break;
case WStype_TEXT:
Serial.printf("[%u] get Text: %s\n", num, payload);
if(payload[0] == '#') {
}
break;
}
}
void setup() {
Serial.begin(115200);
Serial.setDebugOutput(true);
WiFi.softAP(ssid, password);
IPAddress myIP = WiFi.softAPIP();
Serial.print("Adresse IP du serveur: ");
Serial.println(myIP);
webSocket.begin();
webSocket.onEvent(webSocketEvent);
}
void loop() {
webSocket.loop();
if(plug){
//lancement d'un message
webSocket.sendTXT(0,"ca marche");
}
}
**3-Le code html**
test websocket
**3-Le code javascript**
//déclaration de la variable message
var msg;
$(document).ready(function() {
listenSocket();
});
function listenSocket(){
//adresse du websocket >>>> changer adresse ip par l'adresse ip de votre arduino (cf la console dans arduino ou l'adresse sera indiqué) . ¡¡¡ Attention bien garder le :81 qui est le port du serveur websocket !!!
var exampleSocket = new WebSocket("ws://adresseip:81/", ['arduino']);
//gestion des messages reçus
exampleSocket.onopen = function() {
console.log('connected');
};
exampleSocket.onmessage = function(e) {
//msg = JSON.parse(e.data)>>> si le message reçu est un json;
console.log('message received : ', e.data);
};
exampleSocket.onclose = function() {
console.log('disconnected');
};
}
Have fun !!!