window.WebSocket=(window.WebSocket||window.MozWebSocket); var websocket=new WebSocket('ws://192.168.1.111:9000','myprotocol'); websocket.binaryType = 'arraybuffer'; //On utilise un objet arraybuffer pour envoyer et recevoir les données //Cette objet permet de transformer automatiquement un buffer de plusieurs octets en un tableau de données d'un certain type, dans notre cas des entiers non signés. websocket.onopen=function(){ $('h3 .connecOn').css('color','green'); }; websocket.onerror=function(){ $('h3 .connecOff').css('color','red'); }; //on créé le tableau des octets à envoyer pour la requete : var requete = new Uint8ClampedArray(3); requete[0] = 'G'.charCodeAt(0); requete[1] = 'E'.charCodeAt(0); requete[2] = 'T'.charCodeAt(0); //affiche le contenu du tableau dans une alert //alert(String.fromCharCode(reponseView.getUint8(0))+String.fromCharCode(reponseView.getUint8(1))+String.fromCharCode(reponseView.getUint8(2))); websocket.onmessage=function(message){ //Evenement surveillant la reception de message $('h4').show(); var reponse = new Uint8Array(message.data); //on extrait les données du buffer var temp = reponse[1]; var hum = reponse[2]; var press = reponse[0]+845; var lum = (reponse[3]*10000/255).toFixed(2); $('#relevesMeteo .temperature').text(temp+' °C'); $('#relevesMeteo .humidite').text(hum+' %'); $('#relevesMeteo .pression').text(press+' hPa'); $('#relevesMeteo .luminosite').text(lum+' Lux'); //On estime l'état du ciel grâce aux données envoyées par les capteurs. //http://leguidemeteo.com/prevoir-le-temps-a-partir-de-son-barometre/ if(lum >= 100 && lum <= 1000) $('.nuage').text("nuageux"); else $('.nuage').text("clair"); if(press <= 1006) $('.pluie').text("pleut"); else $('.pluie').text('ne pleut pas') }; function requeteEnvoi(){ websocket.send(requete.buffer); } //setInterval(requeteEnvoi,1000);