Nous allons utiliser la librairie Massenger de Thomas Ouellet Fredericks. La description de son installation et de son fonctionnement se trouve ici : http://wiki.t-o-f.info/Massenger/Massenger
Dans l'interface Arduino, allez à 'examples', trouver la librairie Massenger et ouvrir le fichier : massenger_digitalWrite_analogRead image_interface_exemples_arduino
Utilisez la fonction 'cd' (pour change directory (changer de dossier)) ou faites 'cd' puis 'cliquez et déposez le dossier 'serveur' dans la fenêtre de terminal.
(Pour OSX) Allez sur le site http://nodejs.org et installez le .pkg Vous devrez installer des modules de node.js nécessaires à une interface avec le port série : serialport et websocket. Faites : 'sudo npm install serialport' et 'sudo npm install websocket' dans une fenêtre de terminal. * Vous aurez peut-être à installer les outils Xcode ou les outils de 'ligne de commande'. Attention cette archive est grande (+ de 2.4G) donc nécessite beaucoup d'espace sur votre disque dur. Pour télécharger Xcode : https://itunes.apple.com/fr/app/xcode/id497799835?mt=12
Fenêtre de terminal et commande pour démarrer le serveur
* Pour fermer le serveur, faites : 'ctl-c' (touche de contrôle et 'C' du clavier)
FAQ (erreurs) :
Q : Il y a du glitch dans l'écran?! C'est beau mais je voudrais plutôt avoir les données…que faire? R : Dans le code du Arduino, réduire la vitesse du port série à 9600 comme ceci : 'Serial.begin(9600);'
Q : Lorsqu'on ouvre un WebSocket, on ne peut pas faire de send immédiatement, on doit attendre que le socket soit connecté. Comment attendre? R : L'API WebSocket offre l'événement 'onmessage' qui est lancé lorsque le serveur renvoie une réponse après l'ouverture. On peut donc mettre notre send dans une fonction qui sera appelé lors de l'événement onmessage. Par exemple:
function update(e){ /*Do Something*/}; var ws = new WebSocket("ws://localhost:9999/"); ws.onmessage = update;