Température extérieur en 2.4Ghz

J’ai refait mon sytème pour récupérer la température extérieur afin d’avoir le moins possible de données perdues et de plantage du système.

D’un coté un Arduino nano :

avec un émetteur récepteur en 2.4Ghz: 

et un capteur de température DS18D20 : 

Pour le schéma de branchement c’est assez simple il y a surtout pas mal de fil avec le NRF24L01 :

Pour le programme : https://github.com/Michelgard/Capteur-DS18D20-Arduino-avec-emetteur-2.4Ghz/blob/master/capteur_SIMPLENF24.ino

Et vous trouverez toutes les librairie utilisé ici : https://github.com/Michelgard/Capteur-DS18D20-Arduino-avec-emetteur-2.4Ghz

Il suffit de brancher le montage avec un adaptateur USB (style téléphone) et il envoie la température toutes les 10mn.

Pour la réception j’utilise un Raspberry Pi avec un émetteur récepteur en 2.4Ghz :

Ce fichier : https://github.com/Michelgard/Capteur-DS18D20-Arduino-avec-emetteur-2.4Ghz/blob/master/Install-2.4Ghz-Raspberry vous indique toute la procédure en partant d’un raspberry fraîchement installé.

Toutes les librairies et les programmes Python sont ici : https://github.com/Michelgard/Capteur-DS18D20-Arduino-avec-emetteur-2.4Ghz

Il faut configurer le fichier configSQL.xml par rapport a votre serveur de bases de données et ajouter la table Temp_Ext avec le fichier .sql présent sur le Github.

Le programme Python lecture-capteurRF24.py a un mode verbose :

sudo python lecture-capteurRF24.py -v

Ce mode permet de vérifier les donnée reçues et la requête sql pour les tests.

Quand tout fonction vous pouvez lancer le probramme Python au démarrage du Raspberry Pi :

sudo nano /etc/rc.local

ajouter "python lecture-capteurRF24.py &" (sans les "") avant le exit 0 à la fin du fichier

Et voilà la table se complète avec les températures :

Nouveau DashScreen

Voilà plus de deux ans que j’utilise mon DashScreen.   1ère  version

   Version actuelle

J’ai supprimé des choses inutiles et ajouté d’autre info.

Au début tout était géré par un Raspberry Pi B+. Le serveur web, l’affichage du DashScreen dans le navigateur, la réception des températures (extérieur et intérieur), l’enregistrement des données dans une base de données. J’avais même au début le serveur domotique pour les prises et interrupteurs.

Tout marchais bien mais au fil du temps le Raspberry pi a commencé à planter de plus en plus souvent. C’est pas très grave pour l’affichage du tableau mais j’avais des manques dans les données de température.

J’ai commencé par enlever le serveur domotique que j’ai déplacé sur un serveur externe chez : Obambu. Ensuite j’ai fait de même avec la base de données, le raspberry envoyait les données sur le serveur distant.

Le système à marché comme cela pendant plus d’un an et en fin année j’ai décidé de changer le montage.

En commençant pas la réception de la température extérieur j’avais un montage en 433Mhz avec la réception un Arduino branché en USB sur le Raspberry Pi. Je suis passé à du 2.4Ghz bien plus sur et la réception est faire par un Raspberry Pi en Python (il sera plus facile d’ajouter des capteurs) Le prochain article parlera du montage). Ce même Raspberry Pi récolte la température intérieur et envoie le tout à la base de données toutes les 10mn. J’ai ajouté un envoi de la température intérieur toutes les minutes sur une autre table pour avoir une température plus juste sur l’affichage en temps réel de la température.

Ensuite j’ai déporté tout le serveur web sur un serveur extérieur. Comme si c’était une page internet. La consultation du DashScreen de n’importe où est facilité 🙂

J’ai refait l’installation de mon Raspberry PI B+ avec la dernière version de Raspbian et PIXEL avec une nouvelle carte SD. Il lance Chromium au démarrage en plein écran avec comme unique page mon DashScreen. En plus quand je ne suis pas à la maison je peux le couper, j’ai fait un programme en python qui arrête le Raspberry Pi et qui arrête la prise après une tempo et à mon retour je peux le remettre en route avant mon arrivé.

Je vais refaire quelques articles pour expliquer tout cela en détail.

Domotique en 433Mhz avec le WIFI

En début d’année j’ai fait un article http://rasp-pi.fr.nf/domotique-en-433mhz/ sur un serveur domotique en 433Mhz pour commander des prises des interrupteurs et des volets roulants électriques. C’était une version avec un Arduino couplé avec une carte Ethernet plus l’alimentation et bien sur un émetteur en 433Mhz. Tout cela fait beaucoup de fil à câbler… Et en plus il faut brancher le tout à la box par un cable en RJ45.

Donc j’ai réfléchi à un modèle en WiFi et dans mes recherches je suis tombé sur cette carte.

d1-mini-nodemcu-lua-development-board-esp8266-wifi

 

D1-Mini-NodeMCU-Lua-Development-Board-ESP8266-WIFI
La mini d1 est une mini carte wifi basé sur esp-8266ex.
11 broches d’entrée / sortie numérique.
Carte trouvé sur Ebay pour moins de 3€.
Avec alimentation et programmation par câble USB micro. Et largement assez d’entrée sortie pour brancher un simple émetteur 433Mhz.
Il suffit d’ajouter l’émetteur: 433mhz
Ici l’émetteur et le récepteur pour 1 € toujours sur Ebay

 Et voilà le schéma final : C’est simple non ! Attention il y a une petite erreur sur le schéma : il faut connecter l’émetteur 433Mhz à la PIN indiquée D2 de l’ESP8266.433mhz_wifi

 

 

 

 

 

 

Maintenant reste à programmer l’Arduino. Pour cela il vous faut la bibliothèque RCswitch pour l’émetteur et une bibliothèque à installer pour la carte  D1-Mini-NodeMCU. Vous trouverez toutes  les info ici sur l’installation :  : https://github.com/esp8266/Arduino#installing-with-boards-manager.

Et pour le programme c’est ici : https://github.com/Michelgard/serveur_433Mhz_WIFI

Il faut ajouter le nom de votre accès internet et le mot de passe au début. Vous pouvez mettre un port (ici 90) vous permettant un accès du serveur en dehors de chez vous bien penser à rediriger l’IP interne vers le port indiqué.

 J’ai fait deux versions du programme une avec des if  Il recherche dans la requête HTTP la valeur et s’il elle est trouvée, lance l’émetteur avec le code. L’autre version fait une boucle sur un tableau de valeur et si la valeur est trouvée, lance l’émission d’un code trouvé au même indice que le tableau de valeur. Attention a bien faire concorder la valeur et le code dans les deux tableaux.
Voilà il ne reste plus qu’a brancher et la connexion au WiFi va se faire et le module attends les requêtes HTTP venant soit de votre page Web : https://github.com/Michelgard/Arduino_433Mhz. Ou de votre voix : http://rasp-pi.fr.nf/reconnaissance-vocale-et-domotique-en-433mhz/
Michel Gard

Reconnaissance vocale et domotique en 433Mhz

La dommotique avec des commande par une page web sur un ordi, un téléphone une tablette c’est super voir cette article : http://rasp-pi.fr.nf/domotique-en-433mhz/#more-225

Mais pourvoir dire :

Moi : Optimus (c’est son nom)

Optimus : oui

Moi : Allume le lustre du salon

Optimus : J’ai allumé le lustre du salon

Cool non !!!

Ben pour faire cela j’ai fait pas mal de test même quelques projets personnels et je suis tombé sur Jarvis : https://github.com/alexylem/jarvis/wiki 

jarvis

Franchement c’est avec Jarvis que j’ai obtenu les meilleurs résultats et cela assis sur mon canapé.

Un rapsperry pi B+ une webcam USB (pour le micro), des enceintes le tout connecté à mon réseau  domotique et tout marche super même avec le son de la télé.

En plus dans Jarvis il y a des plugins : http://domotiquefacile.fr/jarvis/plugins permettant de commander pas mal de chose et même un modèle de commande pour faire fonctionner mon module domotique : http://domotiquefacile.fr/jarvis/plugins/domotique-433mhz.

store-jarvis

Alors maintenant en plus des commandes tactiles vous avez la parole !