commenailles-3

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édentes Révision précédente
Prochaine révision
Révision précédente
commenailles-3 [2017/11/24 22:57]
guiaum [Le firmata CrabESP]
commenailles-3 [2017/12/10 14:07] (Version actuelle)
crab [Le firmata CrabESP]
Ligne 21: Ligne 21:
 == Pour économiser la bande passante locale ​ == == Pour économiser la bande passante locale ​ ==
   * installer l'ide arduino >= 1.6.8 [https://​www.arduino.cc/​en/​Main/​Software]   * installer l'ide arduino >= 1.6.8 [https://​www.arduino.cc/​en/​Main/​Software]
 +  * Fichier|preference|parametres| gestionnaire de cartes supp|http://​arduino.esp8266.com/​stable/​package_esp8266com_index.json
   * ajouter l'esp (Outil/type de carte/​Gestionnaire de carte/​chercher esp8266/​ajouter)   * ajouter l'esp (Outil/type de carte/​Gestionnaire de carte/​chercher esp8266/​ajouter)
 +  * sinon, le guithub et le tuto : [https://​github.com/​esp8266/​Arduino]
  
 ===== Intro ===== ===== Intro =====
Ligne 59: Ligne 61:
  
 matos qui va bien avec matos qui va bien avec
-  ​leds ws2812 +  ​* Leds multicolores [[Matos_Ws2812_LedsMulticolores|WS2812]] 
-  relais statique +  ​relais statique 
-  ​ams117 - regul 3.3V +  ​* Regulateur ​3.3V [[matos_ams1117|AMS1117]] 
-  ​stepper driver+  ​* Pilote de moteur pas à pas - [[matos_DRV8834|DRV8834]]
  
 source de matos : Aliexpress, gotronic, adafruit, etc ... source de matos : Aliexpress, gotronic, adafruit, etc ...
Ligne 80: Ligne 82:
   boites moteur - boites loupiotes - osc   boites moteur - boites loupiotes - osc
   Ouvre porte garage - relais std.   Ouvre porte garage - relais std.
-  Trouble - 200 esp, fabrique de carte (Topo Gui+  Trouble - 200 esp, fabrique de carte (Topo Guillaume
-  Adler - pilote steppers - (Topo Gui)+  Adler - pilote steppers - [http://​wiki.3615senor.org/​doku.php?​id=projet_adler]
  
 == Spécificités logicielles (diff avec les autres machins) == == Spécificités logicielles (diff avec les autres machins) ==
Ligne 154: Ligne 156:
 ===== Le firmata CrabESP ===== ===== Le firmata CrabESP =====
 Du code de Trouble a été tiré une version plus générique qui permet de créer très facilement des réseaux d'​objets. Présentation de ce morceau de code qui permet de configurer les choses sans une seule ligne de code, puis mise en pratique. Du code de Trouble a été tiré une version plus générique qui permet de créer très facilement des réseaux d'​objets. Présentation de ce morceau de code qui permet de configurer les choses sans une seule ligne de code, puis mise en pratique.
 +Crab mets dans ce soft tout ce qui lui à été utile...
  
 Ceci est une première tentative de documentation. Une fois satisfaisante,​ cette doc sera publiée, ainsi qu'une première version publique du code. Ceci est une première tentative de documentation. Une fois satisfaisante,​ cette doc sera publiée, ainsi qu'une première version publique du code.
Ligne 161: Ligne 164:
  
 === Connexion === === Connexion ===
-  * Se connecter directement au réseau émis par l'ESP: le mot de passe est pour l'​instant "​BenAdmin",​ l'ip à taper dans le navigateur http://​192.168.5.1+  * Se connecter directement au réseau émis par l'ESP: le mot de passe est pour l'​instant "​BenAdmin",​ l'ip à taper dans le navigateur http://​192.168.5.1 ou http://​192.168.4.1
   * Connexion série à 115200 bauds   * Connexion série à 115200 bauds
   * Connexion automatique au réseau local en remplissant "​Mines.h"​ (SSID et Password)   * Connexion automatique au réseau local en remplissant "​Mines.h"​ (SSID et Password)
Ligne 181: Ligne 184:
   * **"​x14x"​J** : la ou les cibles des instructions OSC émises par l'ESP. Doivent être entre guillemets. La commande **"​BEN_051"​J** définira comme cible l'ESP qui a le nœud 51. Si les deux ESP (l'​actuel et la cible) ne sont pas connectés au même réseau local, il faudra connecter l'un des ESP au réseau de l'​autre (voir les deux instructions précédentes). La commande **"​BEN_*"​J** enverra l'​instruction à tous les ESP. La commande **"​BEN_1*"​J** enverra l'​instruction à tous les ESP ayant un numéro de noeud compris entre 10 et 19.   * **"​x14x"​J** : la ou les cibles des instructions OSC émises par l'ESP. Doivent être entre guillemets. La commande **"​BEN_051"​J** définira comme cible l'ESP qui a le nœud 51. Si les deux ESP (l'​actuel et la cible) ne sont pas connectés au même réseau local, il faudra connecter l'un des ESP au réseau de l'​autre (voir les deux instructions précédentes). La commande **"​BEN_*"​J** enverra l'​instruction à tous les ESP. La commande **"​BEN_1*"​J** enverra l'​instruction à tous les ESP ayant un numéro de noeud compris entre 10 et 19.
    * **"​x14x"​yyK** : nous définissons ici l'​instruction qui sera envoyée à l'ESP cible définit précédemment. L'​instruction sera envoyée lorsque la pin D5 sera reliée au ground (typiquement un switch). L'​instruction en elle même prends place entre les guillemets et peut être longue de 14 caractères. Elle sera de l'un des types marqué ci-après comme //Actions// et **sera précédée d'un underscore**. **yy** correspond à l'​état du switch: 01 = pushed, 02 = released. Ex: la commande **"​_104O"​01K** veut dire: envoyer à l'ESP définit par la commande J de passer sa pin 4 à l'​état haut lorsque la pin D5 est reliée au ground. Plus clairement, un switch relié à la pin D5 d'un ESP allumera une led branchée sur la D4 d'un autre ESP.    * **"​x14x"​yyK** : nous définissons ici l'​instruction qui sera envoyée à l'ESP cible définit précédemment. L'​instruction sera envoyée lorsque la pin D5 sera reliée au ground (typiquement un switch). L'​instruction en elle même prends place entre les guillemets et peut être longue de 14 caractères. Elle sera de l'un des types marqué ci-après comme //Actions// et **sera précédée d'un underscore**. **yy** correspond à l'​état du switch: 01 = pushed, 02 = released. Ex: la commande **"​_104O"​01K** veut dire: envoyer à l'ESP définit par la commande J de passer sa pin 4 à l'​état haut lorsque la pin D5 est reliée au ground. Plus clairement, un switch relié à la pin D5 d'un ESP allumera une led branchée sur la D4 d'un autre ESP.
-   * La même formule que précédemment permettra d'​envoyer des commandes via OSC à la cible lorsque une valeur analogique est modifiée sur la pin ADC. Il faudra cette fois utiliser la terminaison 03K (au lieu de 02K ou 01K). Grâce à un jeu de majuscules et de minuscules, il est possible de transformer la valeur analogique récupérée en valeurs RVB par exemple. ​Mais là Crab doit me réexpliquerje ne me souviens plus du tout.+   * La même formule que précédemment permettra d'​envoyer des commandes via OSC à la cible lorsque une valeur analogique est modifiée sur la pin ADC. Il faudra cette fois utiliser la terminaison 03K (au lieu de 02K ou 01K). Grâce à un jeu de majuscules et de minuscules, il est possible de transformer la valeur analogique récupérée en valeurs RVB par exemple. ​Si la valeur ADC est 1234XxXxx se transformera en 12123, XxxxX en 12341, XxXx70 en 121270.
    * **xxxP** : correction de la puissance d'​émission.    * **xxxP** : correction de la puissance d'​émission.
    * **xxxm** : sauf erreur, uniquement utile en utilisation de spectacle, car seuil de déclenchement.    * **xxxm** : sauf erreur, uniquement utile en utilisation de spectacle, car seuil de déclenchement.
-   * **xxxxF** : custom functiondon't know what it is (garage ​door) +   * **xxxxF** : fonction persopar exemple 0001F 'clique'​ le relais pour ouvrir la porte du garage. 
-   * **ccnnxxxxf** : no idea+   * **ccnnxxxxf** : pour le développeur
  
 //ACTIONS// //ACTIONS//
-  * **yyxxxxS** : permet de contrôler un servo, branché sur la pin indiquée plus bas sur la page (Servo pins:{ , }. Ce paramètre doit se définir à la compilation, je supposeyyxxxx ??? L'​idée ​est d'​indiquer un position ​à atteindre. Le timing est donné par l'​instruction suivante. +  * **yyxxxxS** : permet de contrôler un servo, branché sur la pin indiquée plus bas sur la page (Servo pins:{ , }). Ce paramètre doit se définir à la compilation. ​yy est le numéro du moteur, xxxx la valeur ​à atteindre. ​ Le timing est donné par l'​instruction suivante. 
-    * **yyxxxxl** : définit le temps pour atteindre la position définie par S, juste au dessus. ​Ex: ?? (what is yy) +  * **yyxxxxl** : définit le temps pour atteindre la position définie par S, juste au dessus. yy est le numéro du moteur). 
-    * **rrggbbnnL** : permet de contrôler un ruban de led RGB type Neopix. Les valeurs RGB sont proposées de 1 à 99, les nn indiquent l'id de la led (position sur le ruban)(à vérifier). Branchement du neopix? +  ​* ​  * **rrggbbnnL** : permet de contrôler un ruban de led RGB type Neopix. Les valeurs RGB sont proposées de 1 à 99, les nn indiquent l'id de la led (position sur le ruban). Branchement du neopix ​à ajouter. 
-    * **xxxxW** : pause de xxxx millisecondes. +  * **xxxxW** : pause de xxxx millisecondes. 
-    * **xnnO** : permet de passer un pin digital à l'​état haut (si x vaut 1) ou bas (x vaut 0). nn correspond au numéro de la pin. +  * **xnnO** : permet de passer un pin digital à l'​état haut (si x vaut 1) ou bas (x vaut 0). nn correspond au numéro de la pin. 
-    * **xxxxnno** : idem que précédemment,​ mais pour une valeur en PWM, comprise entre 0 et 1024. nn correspond au numéro de la pin.+  * **xxxxnno** : idem que précédemment,​ mais pour une valeur en PWM, comprise entre 0 et 1024. nn correspond au numéro de la pin.
  
 Suivent un certain nombre d'​informations relatives aux réglages: état du switch, de la connection wifi, adresse ip, cycles de l'​eeprom,​ infos sur les moteurs. Suivent un certain nombre d'​informations relatives aux réglages: état du switch, de la connection wifi, adresse ip, cycles de l'​eeprom,​ infos sur les moteurs.
  
 +[[https://​github.com/​CrabTerlDc/​TroubleEsp]]
  
  • commenailles-3.1511560648.txt.gz
  • Dernière modification: 2017/11/24 22:57
  • par guiaum