meta données pour cette page
  •  

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
pont_entre_javascript_et_arduino_avec_node.js_et_massenger [2014/09/30 23:06] Alexandre Castonguaypont_entre_javascript_et_arduino_avec_node.js_et_massenger [2014/10/08 22:56] (Version actuelle) André Girard
Ligne 2: Ligne 2:
  
 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]] 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]]
 +
  
 === 1. Téléchargez cette archive : === === 1. Téléchargez cette archive : ===
Ligne 12: Ligne 13:
 Dans l'interface Arduino, allez à 'examples', trouver la librairie Massenger et ouvrir le fichier : massenger_digitalWrite_analogRead  [[image_interface_exemples_arduino]] Dans l'interface Arduino, allez à 'examples', trouver la librairie Massenger et ouvrir le fichier : massenger_digitalWrite_analogRead  [[image_interface_exemples_arduino]]
  
-=== 4. Installez node.js sur votre OS ===+=== 4. Ouvrez une fenêtre de terminal et allez au dossier 'Massenger/Applications/Serveur/'.=== 
 +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. 
 + 
 +=== 5. Installez node.js sur votre OS === 
 +(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]] 
 + 
 + 
 +=== 6. Ouvrez le fichier ArduinoASCIIBridge.js dans Brackets === 
 +[[ArduinoASCIIBridge.js]] 
 + 
 +=== 7. Éditez cette ligne dans ArduinoASCIIBridge.js en la remplaçant par la valeur de votre port série === 
 +[[Édition de ArduinoASCIIBridge.js]] 
 + 
 +=== 8. Ouvrez une fenêtre de terminal, allez au dossier parent de 'ArduinoASCIIBridge.js' et démarrez le serveur === 
 +[[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) 
 + 
 +=== 9. Ouvrez index.html dans Brackets ou Chrome === 
 +[[index.html dans brackets]] 
 + 
 +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);'
  
-=== 5[[Ouvrez le fichier ArduinoASCIIBridge.js dans Brackets]] ===+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: 
  
-=== 6. [[Éditez cette ligne en la remplaçant par la valeur de votre port série]] ===+<sxh> 
 +function update(e){ /*Do Something*/}; 
 +var ws new WebSocket("ws://localhost:9999/");
  
-=== 7[[Démarrez le serveur]]===+ws.onmessage update; 
 +</sxh>