commenailles-3

Ceci est une ancienne révision du document !


ESP 8266

Matériel apporté par 3615
  • un ESP par participant
  • quelques composants électroniques de base (LEDS, switchs, etc…)
  • un routeur sur lequel tout le monde pourra se connecter pour télécharger les ressources
  • un laptop pour projeter la présentation et montrer le manips
Si possible, fourni par le fablab
  • un vidéoprojecteur
  • du net =) (ce serait quand même super pratique, même un clé 4G)
Pour chaque participant
  • un ordinateur portable
  • un cable mini-us
  • Softs: Arduino
Pour économiser la bande passante locale

On va voir la puce, ce qu'elle sait faire.
On va voir une façon de le faire (y en a d'autres).
On va la triturer une peu.

Tour d'horizon des caractéristiques de la puce

ADC - 1 seule, 1024 valeurs de 0 a 1V.
GPIO - 16 théorique
  attention a n°16 en pull down
  attention a n°0 et n°2 qui servent a la prog
  n°1 et n°3 rx-tx
  6 reellement utilisables.
  notées 1..16 ou D1..Dx
Wifi
  20 ans de fonctionnement dans le milieu hostile de la bande libre.
  BT existe en 2 goûts, apple et pas apple qui s'aiment pas.
  Superbe portée avec un bon routeur, ajustable. Mesure de puissance dispo.
  Suffit d'un tel pour paramétrer.
Frequence: 80Mhz, 4ns entre 2 loop.
Prix a peu près 2 euros...

Electronique - 3.3V, 215mA crête. Différents formfactor, quelles différences pour quelles utilisations

ESP01 ESP11 NodeMcu - peu de pattes
ESP12 - tres plat - lire les pattes au dos.
  besoin d'un FTDI (usb -> serie TTL 3.3v)
Wemos - avec des pattes et l'USB
  shield relais - cool
  shield lipo - cool
  shield oled... pas encore réussi grand chose ...
LoLin - des pattes, USB, plus gros
... plein d'autres formes, quasi le même chip au centre

matos qui va bien avec

leds ws2812
relais statique
ams117 - regul 3.3V
stepper driver

source de matos : Aliexpress, gotronic, adafruit, etc …

Au débuts était la chine :-). Et la chaîne de compilation était ardue à faire fonctionner, une VM a installer. Puis la communauté arduino est passée par là. Ce qu'en dit le Web.

Relais pilotés à distance, serveur web, etc… La liste est longue, nous en ferons un tour d'horizon.

La boite à lampe malade - relais statique
boites moteur - boites loupiotes - osc
Ouvre porte garage - relais std.
Trouble - 200 esp, fabrique de carte (Topo Gui)
Adler - pilote steppers - (Topo Gui)
Spécificités logicielles (diff avec les autres machins)
temps réel moins stable qu'un arduino. Parfois interrompu par les échanges de trames de la stack ip
le watchdog déclenche dés qu'on est trop long.
Nécessite un dev un peu spécifique 
  automates d'états
  mesure des temps.
  construire ses pages html, pêcher les réponses dans les trames, autoreload.
  interruptions
Un raspi aura plus de puissance de calcul mais 
  mais ++ cher
  mais pas d'ADC
  plus hackable
  mais ++ gourmand en elec
  plus linux
  mais - d'espoir d'en faire fonctionner sur pile.
Un arduino est 
  plus simple
  plus stable
  plus solide
  mais pas de wifi
  plus gros
  plus 5V 
  moins de mémoire...
Compatibilité : pas toutes
  • certaines libs utilisent des spécificitées arduino
  • certaines libs ont l'air portées puis cassées.
Celles qu'on à testées
  • Libs ESP8266WiFis liées au wifi
  • Libs ESP8266 spécificitées internes, timers & co
  • Ws2812 - leds multicolores
  • SoftwareSerial serie sur toutes les lignes ou presque
  • Servo
  • OSC
Sécurité
  • au niveau wifi - WPA2-PSK cablé.
  • au niveau appli - tout dépend de celui qui fait l'appli.
  • au bas niveau - tout dépends de la confiance en celui qui les fait
  • potentiellement à la mercie des chinois.

Les mains dans le cambouis: préparer l'IDE d'Arduino

chargement du package lié à la puce
NodeMCU 1.0 (ESP-12E) 80Mhz 4M 115200

Compiler les exemples fournis dans l'ide Modifier les exemples

Compatibilité avec les libs arduino

WS2812 - leds tricolores pilotables.
Libs communes, libs spécifiques, libs... a voir.

Se connecter à un réseau existant automatiquement Se retrouver sur le réseau

Wifi SSID/pwd Cli+AP
LAN MAC/IP
Connect Udp Tcp
Internet OSC - HTTP par le texte.
pas de routage entre les interfaces.

L'exemple d'un code complexe créé par Emmanuel Patoux, de 3615 Señor, pour un spectacle de la compagnie Tricyclique Dol appelé “Trouble”. L'ESP exploité à 100% de ses possibilités. Environ 200 puces ont été utilsées sur la création.

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.

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.

Le principe:

Une fois compilé (attention aux bibliothèques) et uploadé sur l'ESP, tous les réglages de l'ESP se feront via la page web qu'il publie, ou par une simple connexion série.

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
  • Connexion série à 115200 bauds
  • Connexion automatique au réseau local en remplissant “Mines.h” (SSID et Password)

Notice générale

Chaque paramètre pourra être modifié selon la logique suivante: des caractères ou des chiffres + une lettre sont envoyés à l'ESP selon un schéma précis. Les chiffres et les caractères sont les paramètres, la lettre finale indique à quel endroit affecter cela. La syntaxe à respecter ainsi que le nombre de caractères possibles à rentrer sont indiqués à chaque fois en face du réglage actuel, sous une forme syntétique qui préserve la mémoire de l'ESP.

Exemple: *2N : xxN Node → il faut lire la ligne à l'envers. Cette ligne indique le numéro de noeud (Node). Pour régler le numéro de noeud, il faut envoyer deux chiffres (xx) suivis de la lettre N en majuscule. Le réglage actuel et '2'. Si je veu le changer et le passer en 33, je vais passer la commande 33N .

===

  • commenailles-3.1511556531.txt.gz
  • Dernière modification: 2017/11/24 21:48
  • par guiaum