Une interface graphique pour afficher la température et l’humidité ?

Avec ce tuto vous allez apprendre comment recevoir par le wifi les données de température et d’humidité d’un capteur DHT22. De plus, ces données seront affichées graphiquement sur une page WEB.

Vous trouverez ci-dessous le lien vous permettant de télécharger les différents programmes utilisés dans la vidéo :

https://drive.google.com/drive/u/2/folders/1m-ObuIALDxmKUc33AwUFBi9nqxsAVX0h

la vidéo :

Projet domotique: la caméra wifi.

Marc est un des spécialistes du Fablab dans le domaine de la domotique, nous lui devons déjà le système de pilotage de volets roulant. Il s’attaque maintenant à la vidéosurveillance avec son projet de caméra wifi .

Basé sur un ESP32-CAM que l’on trouve à moins de 6€, la caméra est intégrable dans notre Box Domotique.

Quelques images du projet:

Modélisation du support de caméra dans Fusion360.
Prévisualisation du support de caméra équipé de l’ESP32-CAM
Les pièces imprimées 3D et la cloche en tube plexiglass
Le montage terminé evec l’ESP32-CAM

Les STL et le code source seront bientôt disponible sur notre drive.

Box domotique V1 – Partie 1

Besoin :

Création d’une box permettant d’interagir avec différents objets connectés.
La box doit être :
– Multi-protocoles (Wifi, GPIO, Radio 433 Mhz et 2.4 Ghz, …)
– La plus libre et la moins couteuse possible

Le materiel :

  • Un raspberry
  • Une carte SD
  • Un module émetteur 433 Mhz

Les étapes :

  • Installer Rasbian lite sans clavier ni écran (SSH)
  • Paramétrer Rasbian
  • Installer Node-red
  • Piloter les GPIO avec Node-red
  • Prises Chacon

Installer Rasbian sans clavier ni écran (en mode SSH)

– On télécharge l’image du système d’exploitation du raspberry Rasbian lite
– On copie l’image sur la carte SD grâce au logiciel Etcher.
– Afin d’activer le protocole SSH pour le premier démarage du raspberry, on crée un fichier vide et sans extension (ex: .txt) nomé ssh dans le répertoire /BOOT de la carte SD.
– On raccorde le pi en ethernet sur sa box et on l’alimente.

Paramétrer Rasbian

– On  récupère l’adresse IP du raspberry via l’interface de gestion de sa box opérateur.
– Avec le logiciel client ssh Putty on se connecte en SSH sur le raspberry. (id pi/raspberry)
– Pour paramétrer le raspberry on tape la commande suivante

sudo raspi-config

raspi-config
On en profite pour:

Choix 1 : modifier le mot de passe par défaut #sécu
Choix 4 : on paramètre le langage (fr_FR.UTF-8 UTF-8>) et la Timezone
Choix 5 : on active le remote GPIO
Choix 7 : Expand Filesystem

On paramètre l’interface Ethernet en @IP fixe (tuto sur domo-blog.fr)

sudo nano /etc/dhcpcd.conf

ip-fixe
On reboot le raspbery:

sudo reboot

Installer Node-Red

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

A l’issue de l’installation (~ 30 min) on tape la commande suivante pour que node-red démarre automatiquement au démarrage du raspberry :

sudo systemctl enable nodered.service

On peut maintenant ouvrir Node-red dans le navigateur à cette adresse :
http://192.168.1.100:1880

node-red
On en profite pour installer le pacquet node-red-dashboard via le Manage palette, il nous servira à créer l’interface graphique de notre projet.

Piloter les GPIO avec Node-Red

Super tuto + exemple de mangeoire et sonnette connectées eduscol.education.fr.

 

Prise CHACON DIO

Nous allons commander ces prises grâce à un émetteur 433 Mhz. Ces prises sont disponible chez Leroy Merlin pour – de 30€

lot-de-3-prises-telecommandables-interieure-dio

Montage:

Untitled Sketch_bb2

sources:
https://flows.nodered.org/flow/e33d31301c522dab4be2c68eb55c5fc5

cd /home/pi/.node-red/node_modules/
mkdir node-red-contrib-radio-emi
cd node-red-contrib-radio-emi/
wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1cFD3ueWznk4zOMeiHWCzGthGOw08aQeB' -O radioEmission
sudo chmod 755 radioEmission

Pour tester :

sudo ./radioEmission 0 12325261 1 on
sudo ./radioEmission 0 12325261 1 off

Importer le flow suivant dans Node-red:

[{"id":"f28896f.bd25a68","type":"function","z":"a8893c87.db65f","name":"Filtre Emission","func":"var ws = msg.payload;\n\nif(ws==\"prise_1_on\"){ //Si appui sur le bouton 1 ON de la télécommande virtuelle\n var msg1 = { payload:\"sudo /home/pi/.node-red/node_modules/node-red-contrib-radio-emi/radioEmission 0 12325261 1 on\" }; //Création d'un objet comprenant la ligne de commande qui execute le programme en C++\n return [msg1]; //On retourne ce message vers la sortie de la node\n}\n\nif(ws==\"prise_1_off\"){\n var msg1 = { payload:\"sudo /home/pi/.node-red/node_modules/node-red-contrib-radio-emi/radioEmission 0 12325261 1 off\" };\n return [msg1]; \n}\n\nif(ws==\"prise_2_on\" || ws==\"prise_2_onemi\"){\n var msg1 = { payload:\"sudo /home/pi/.node-red/node_modules/node-red-contrib-radio-emi/radioEmission 0 12325261 2 on\" };\n return [msg1];\n}\n\nif(ws==\"prise_2_off\" || ws==\"prise_2_offemi\"){\n var msg1 = { payload:\"sudo /home/pi/.node-red/node_modules/node-red-contrib-radio-emi/radioEmission 0 12325261 2 off\" };\n return [msg1];\n}\n\nif(ws==\"prise_3_on\" || ws==\"prise_3_onemi\"){\n var msg1 = { payload:\"sudo /home/pi/.node-red/node_modules/node-red-contrib-radio-emi/radioEmission 0 12325261 3 on\" };\n return [msg1];\n}\n\nif(ws==\"prise_3_off\" || ws==\"prise_3_offemi\"){\n var msg1 = { payload:\"sudo /home/pi/.node-red/node_modules/node-red-contrib-radio-emi/radioEmission 0 12325261 3 off\" };\n return [msg1];\n}","outputs":1,"noerr":0,"x":320,"y":120,"wires":[["b1e419cd.fff3d8"]]},{"id":"b1e419cd.fff3d8","type":"exec","z":"a8893c87.db65f","command":"","addpay":true,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"radioEmission","x":580,"y":120,"wires":[[],[],[]]},{"id":"6bf9a685.527338","type":"ui_switch","z":"a8893c87.db65f","name":"Prise 1","label":"Prise 1","group":"aeb1704d.6d297","order":0,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"","style":"","onvalue":"prise_1_on","onvalueType":"str","onicon":"","oncolor":"","offvalue":"prise_1_off","offvalueType":"str","officon":"","offcolor":"","x":110,"y":60,"wires":[["f28896f.bd25a68"]]},{"id":"145e2a46.8168e6","type":"ui_switch","z":"a8893c87.db65f","name":"Prise 2","label":"Prise 2","group":"aeb1704d.6d297","order":0,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"","style":"","onvalue":"prise_2_on","onvalueType":"str","onicon":"","oncolor":"","offvalue":"prise_2_off","offvalueType":"str","officon":"","offcolor":"","x":110,"y":120,"wires":[["f28896f.bd25a68"]]},{"id":"2f8a95f5.d3948a","type":"ui_switch","z":"a8893c87.db65f","name":"Prise 3","label":"Prise 3","group":"aeb1704d.6d297","order":0,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"","style":"","onvalue":"prise_3_on","onvalueType":"str","onicon":"","oncolor":"","offvalue":"prise_3_off","offvalueType":"str","officon":"","offcolor":"","x":110,"y":180,"wires":[["f28896f.bd25a68"]]},{"id":"aeb1704d.6d297","type":"ui_group","z":"","name":"Commandes","tab":"777713cf.aa843c","order":3,"disp":true,"width":"6","collapse":false},{"id":"777713cf.aa843c","type":"ui_tab","z":"","name":"Ecran Principal","icon":"home","order":1}]