Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
projets:olo_220v:accueil [2020/03/12 18:00] laurent [Fonctionnement] |
projets:olo_220v:accueil [2020/05/26 08:50] (Version actuelle) resonance [Jeu] |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
* Date : 2020 | * Date : 2020 | ||
* Licence : libre ! | * Licence : libre ! | ||
- | * Contexte : | + | * Contexte : Invitation à Bergen by BEK : postponed for coronavirus... |
* Fichiers : lien | * Fichiers : lien | ||
* Lien : lien vers un site éventuellement | * Lien : lien vers un site éventuellement | ||
Ligne 10: | Ligne 10: | ||
{{tag> | {{tag> | ||
===== Description ===== | ===== Description ===== | ||
- | + | {{ : | |
- | {{ : | + | |
Olo en version 220v.... | Olo en version 220v.... | ||
===== Jeu ===== | ===== Jeu ===== | ||
+ | |||
Sur une interface representant les differentes lumieres. | Sur une interface representant les differentes lumieres. | ||
On peut enregistrer une sequence en appuyant sur des boutons (ou interface photoresitance) | On peut enregistrer une sequence en appuyant sur des boutons (ou interface photoresitance) | ||
- | | + | |
- | * Si une deuxieme sequence de 3s est ajouté , elle s' | + | |
- | * etc... | + | * Si une deuxieme sequence de 3s est ajouté , elle s' |
Ligne 43: | Ligne 44: | ||
===== Fonctionnement | ===== Fonctionnement | ||
- | Le code source est consultable sur le [[https:// | + | Le code source est consultable sur le [[https:// |
==== ESP8266 ==== | ==== ESP8266 ==== | ||
- | Les ESP se connectent sur un routeur | + | ===câblage=== |
- | /[hostname]/ | + | Les ESP8266 sont alimentés en 5v via un petit convertisseur 230VAC -> 5VDC dédié. Ils alimentent à leur tour un [[ https://robotdyn.com/ac-light-dimmer-module-1-channel-3-3v-5v-logic-ac-50-60hz-220v-110v.html | module dimmer avec détection du point zéro]] qui alimentera |
- | Ils répondent /ACK avec en premier argument leur nom d'hôte et en second la valeur changée. Ça permet de leur renvoyer automatiquement une valeur qui n'aurait pas été reçue en cas de wifi pas tip top. | + | ^ ESP8266 ^ dimmer ^ Potentiomètre |
- | Par défaut les ESP envoient en broadcast, sauf s'il reçoivent l'OSC "/ | + | | G | GND | patte externe |
+ | | 5v | | | +v | | ||
+ | | 3v3 | VCC | patte externe | ||
+ | | A0 | | patte centrale | | | ||
+ | | D1 | PWM | | | | ||
+ | | D2 | ZC | ||
- | ==== Interface web ==== | + | === réseau === |
+ | Les ESP8266 se connectent sur un routeur dédié dont le SSID et éventuellement mot de passe est défini dans le code : | ||
+ | <code cpp> | ||
+ | static char* PSK = NULL; | ||
+ | static char* SSID = " | ||
+ | </ | ||
+ | Un //nom d' | ||
+ | <code cpp># | ||
+ | Dès leur connexion au réseau, ils se présenterons en donnant leur nom d' | ||
+ | Si nécessaire, | ||
+ | <==== Interface web ==== | ||
Un Raspberry Pi est utilisé pour servir une interface web via un script python3 utilisant //flask// et // | Un Raspberry Pi est utilisé pour servir une interface web via un script python3 utilisant //flask// et // | ||
- | La déclaration des ESP8266 attendus se fait dans le fichier config.py où il est possible d' | + | La déclaration des ESP8266 attendus se fait dans le fichier |
- | La génération de son côté client se fait par la librairie | + | La génération de son côté client se fait par la librairie |
<code javascript> | <code javascript> | ||
" | " | ||
Ligne 88: | Ligne 104: | ||
==== communication lampes/ | ==== communication lampes/ | ||
+ | Serveur et lampes communiquent en OSC par UDP, le serveur écoute sur le **port 9000** et transmet sur le **port 8000** (donc l' | ||
+ | |||
+ | Liste des messages OSC implémentés : | ||
+ | * **/light** : fixe l' | ||
+ | * //(int) valeur// en pourcent | ||
+ | * ex : /// | ||
+ | * **/ACK** : réponse de l'ESP à ///light//, ce message permet au serveur de vérifier qu'un ordre a bien été reçu par la lampe | ||
+ | * //(int) valeur// en pourcent | ||
+ | * **/fade** : débute un fondu qui s' | ||
+ | * //(int) start// : valeur de début du fondu | ||
+ | * //(int) stop// : valeur attendue en fin de fondu. | ||
+ | * //(int) durée// : durée du fondu en millisecondes. | ||
+ | * ex : /// | ||
+ | * ex2 : /// | ||
+ | * **/ | ||
+ | * //(int) start// : valeur de début du fondu | ||
+ | * //(int) stop// : valeur attendue en fin de fondu. | ||
+ | * //(int) durée// : durée du fondu en millisecondes. | ||
+ | * **/ | ||
+ | * **/myID** : répond au serveur qui enregistrera l'IP de la réponse | ||
+ | * //(str) hostname// nom d' | ||
+ | * **/ | ||
+ | |||
==== communication serveur/ | ==== communication serveur/ | ||
+ | Pour créer un portail captif, on utilise un routeur flashé sous [[https:// | ||
+ | Côté Pi, la communication serveur/ | ||
===== Idées design | ===== Idées design | ||
Idée design tasseau + conserve.. :{{ : | Idée design tasseau + conserve.. :{{ : |