Le but de ce pas à pas est de détailler l'automatisation de l'aspiration de mon atelier, au maximum en DIY avec des équipements simplement trouvable (arduino/esp32/esp8266) et un peu de programmation.
l'idée finale est bien sur de partager les sources afin que les membres de l'air du bois puissent reprendre ce que j'aurais fait. et le faire évoluer (je suis pas programmeur)
Alors c'est parti !
Liste des articles
Aspir-O-Matic - Pilotage automatique de l'aspiration des copeaux.
Le but est de permettre l'allumage automatique de l'aspirateur à copeaux lors du démarrage d'une machine et l’arrêter quand cette dernière se coupe (avec un petit délais)
contraintes :
- Évolutif (si je rajoute une machine je veux pas avoir à tout refaire.)
- Simple : pas de fils à passer dans l'atelier.
- Pas de modifications lourdes de l'installation électrique.
- pas trop cher :D
- Utilisable aussi en Manuel au cas ou
- débrayable
Etude Materiel
choix du Matériel :
Le but premier était de tout faire moi même, récupérer les composants, programmer le tout et faire un PCB et une jolie boite. le but étant de travailler sur le wifi de l'atelier.
Après quelques tests de capteurs de courant + Arduino et autres je me suis penché sur plusieurs vidéos Youtube de Eric Peronnin et j'ai découvert que la marque Sonoff fabriquait des modules qui étaient Hackable, ces derniers étant en effet pourvu des accès à la puce ESP qu'ils contiennent pour reprogrammation.
Puce ESP qui permet un accès simple au wifi !
donc plutôt que de tout refaire je suis parti sur ces 2 modules très intéressant pour mon projet, ils ont TOUT ce dont j'ai besoin :
- Prise Sonoff S26R2 avec puce ESP8266
- Module Sonoff POW Origin (POWR316) avec ESP32
tout deux disposent :
- des accès programmation
- d'une alim qui va bien pour le module intégré
- le POW a en plus le capteur de courant nécessaire à la détection d'une mise en route de machine.
- Deux LED par module pour savoir ce qu'il fait et reprogrammable par moi
bref magique ! j'ai mon matos ! reste à programmer tout ça !
Fonctions à mettre en place
Après le matériel, il me faut un petit cahier des charges de ce que doit faire le système.
Au global :
- Connexion via WIFI pour pas de fil dans l'atelier.
- Interface Web de gestion simple (ON/OFF/Blocage/Reboot)
- Mise à jour du Programme en OTA (a distance)
- Désactivation du système Possible.
- Démarrage / Arrêt Manuel.
Optionnelle :
- Remonté des info de consommations dans l'interface Web
- Détection automatique de l'adresse du Serveur via mDNS
- Jolie Interface web
Fonctionnement :
Assez simple en soit !
On allume un machine et l'aspirateur se met en route !, il faut donc détecter la mise en route via le capteur de courant et informer la prise qu'elle doit se mettre en marche et pareil à l'extinction mais dans l'autre sens et avec un petit retard.
Partie Serveur - Prise S26R2
La partie serveur est assez simple :
Physiquement on garde la possibilité d'utiliser le bouton manuel sur la prise..
l'interface web permet :
- d'allumer éteindre l'aspirateur
- de bloquer le système pour allumer une machine sans que l'aspi se lance.
- de remonter l’état actuel du relais / l’état du système.
- de redémarrer le logiciel au cas ou
elle est joignable sur l'adresse ip du serveur (à définir en dur ou pas au choix) de toute façon l’apprentissage est automatique pour la partie cliente grâce à mDNS, et pareil pour le serveur son adresse ne change pas, il est joignable sur aspiromatic.local
Acces :
les urls suivantes sont programmées pour répondre aux besoins de lui meme et du client :
/
Page root permet l’accès à l'interface
/on
Allumage inconditionnel (on ne cherche pas a savoir si c'est pas deja allumer on bascule ON)
/off
Arrêt inconditionnel (on ne cherche pas a savoir si c'est pas deja allumer on bascule OFF)
/onoff
Changement d’état c'est ON ça passe OFF / c'est OFF ça passe ON
/lock
Blocage du système (on off et onoff n'ont plus d'effet)
/reset
reboot du logiciel interne des ESP
L'interface web :
Partie Cliente - Module POW Origin
La partie cliente est plus compliqué, il faut qu'elle détecte si du courant passe dans le module et le cas échéant aille dire au serveur allume l'aspirateur. et pareil a l’arrêt.
pour se faire on peut via le capteur présent dedans (CESE7766) avoir via un librairies Arduino / ESP récupérer les infos de tension / courant / puissance. j'ai pris parti de faire la détection sur 2 paramètres (au cas ou) la tension (>200) et la puissance (>10W). cela permet de démarrer sur de petit outils si besoin
l'interface web permet :
- de voir l’état de l'aspirateur / du module
- de couper le relais (alimentation de la machine Locale OFF)
- de voir la tension / courant / puissance (a la seconde)
- de voir si le serveur à été trouvé (son ip est affichée)
dans le Code on défini un nom de machine, de cette façon et comme le serveur le Module est joignable sur NomMachine.local
L'interface web :
Fonctionnement en Video
La vidéo de Démonstration !
On teste :
- Allumage / Arrêt classique
- Le Verrouillage.
- La remonté d'info
Code Source !
A Savoir :
- J'ai utiliser VSCode + Platformio pour créer ce projet,
- j'ai mis en ligne le code source sur GitHub.
- je suis disponible pour aider qui voudrais se lancer dans l'aventure ! voir les programmer pour vous ! (gratos bien sur)
Documentations - Matos / Cours / Info Techniques
- Vidéos d'explications sur l 'ESP8266, fonctions wifi et autres bonnes base de depart.
- Vidéo du hack d'un relais sonoff
- Liens pour avoir les details des équipements et leur possibilité de flashage.
- Détails de la prise connecté Sonoff 26R2 (aspir-o-matic server)
- Détails du module connecté Sonoff POW Origin POWR316 (aspir-o-matic Client)
Retour D'experience / Evolutions [ToDo]
J'ajouterais ici les retours des uns et des autres ainsi que mes propres évolutions et retour d’expérience !
[INFO] - Le système peut aussi fonctionner en autonome sans WIFI a l'atelier, la prise genere son propre WiFi et les modules se connecte dessus. (juste je n'ai pas mis cette fonction dans les sources pour le moment mais c'est testé et validé)
[Update] [CLIENT+SERVEUR] - L'état se rafraîchit dés qu'une action est effectuée sur le serveur et sur le client (en gros le serveur change l’état sur la page web des qu'un module active l'aspirateur le client aussi) avant il fallait rafraîchir la page.
Discussions
Intéressant, bravo ! Mais j'ai pas le wifi à l'atelier... J'imagine qu'une fois à l'atelier, tu le laisses en mode auto et l'écran n'est plus requis.
Olistan je t'ai répondu dans les retour d’expérience / il est possible de le faire tourné en autonome la prise jouant le rôle de point d’accès WIFI
Beau boulot, merci pour la partage !
Super, le descriptif est super clair, pleins d'infos utiles, je vais me pencher sérieusement sur la question.
Merci pour le partage.
Si on est un peu allergique au développement, il est aussi possible de refaire des firmwares à partir de ESPHome (pour le OpenSource et connexion à un système domotique) ou Blynk.
oui j'avais regarder aussi tasmota mais mais pas convaincu au final:) après l’idée est de fournir les binaire après ça pourrais le faire pour ceux qui ne veulent pas "codé"
PLab complétement. Je voulais juste ajouter pour ceux qui aurait déjà une domotique et qui voudrait relier ce genre de systèmes :)
Beau travail, je me pose la question depuis quelque temps pour faire le même projet, et je n'avais pas penser au hack d'un truc existant, ça devrait beaucoup m'inspirer je pense
Une petite question cependant sur ce que remonte la prise comme information de tension et sur l'intérêt de l'utiliser comme déclencheur ?
En théorie, il devrais toujours y avoir 230V à partir du moment où la prise est connectée, même si aucune machine n'est en route. S'il ne peut y avoir de courant, sans tension, il peut y avoir une tension sans courant.
Quel est donc l'intérêt de l'utiliser du coup ?
tu as effectivement 230V en permanence (si le relais du module est ON) par contre si rien de brancher et actif derrière pas de consommation de courant et pas de puissance, mon code se base sur une puissance de plus de 10W et la présence de 230V si tu n'as pas les deux tu ne lance pas la commande d'activation de l'aspirateur.
et la mesure est a mon avis APRES la petite alim interne qui alimente le boitier, car au repos on mesure 0
La prise connectée est sur l'aspi non ? Simplement pour le démarrer
oui la prise est sur l'aspi et possède le logiciel serveur.