bannierre
 
   
 
     
 
 

Menu


Home Eléctronique Thermo-Salon
Thermo-Salon Imprimer
Electronique
Dimanche, 13 Décembre 2015 21:23

THERMO-SALON

Module autonome de suivis de température.

Sommaire

Intro

Le matériel

Le logiciel (à dl)

Le montage

Le test

 

Intro

Le but de ce montage "domotique" est de récupérer la température des 2 sondes 433Mhz de ma station météo de marque SIPLEC (acheté 15€ en géant casino)

Puis de générer des graphiques consultable jour / jour.

Le matériel

Pour ce montage j'ai choisi un ESP8266, le microcontrôleur à la mode du moment :

WIFI + coeur 32bits @80mhz + 4mo Flash + ~80ko de ram + portage sous arduino

Mais il faut quand même un modèle dont le bus SPI est accessible, cela se voit à la 3eme rangée de piste du côté opposé à l'antenne (cf la photo en début d'article) ce modele est un ESP-12-E (et pas un ESP-12 tout court)

Sans cette rangée de pin impossible de pouvoir utiliser le bus SPI et donc une carte SD.

Plus de détails sur tous les modèle d'ESP là : http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family

J'ai associé ce module à un récepteur 433Mhz et un lecteur de carte SD type "arduino" (astuce : le lecteur de carte SD s'alimente en 3.3V, tension fournie par l'ESP)

 

Le logiciel

Réalisé sous arduino il se compose en différents modules (plus ou moins bien séparés dans un ensemble de fichier .h et .cpp) :

- thermo-salon.ino le module principale qui se charge de faire appel à tous les autres.

- capteur.cpp qui provient d'un autre montage, il permet de gérer des capteurs et leur historique de mesures.

- chart.cpp qui se charge de générer la page web avec les graphiques (la transmission de beaucoup de données (>30ko) n'est pas le fort de l'esp8266, le chargement peut mettre jusqu'a 15secondes.

- NTP_client.cpp qui récupère l'heure sur internet, pour que ce module fonctionne il faut ajouter la libraire time.zip fournie dans l'archive du projet

- SD_card.cpp fournit des méthode d'enregistrement/lecture de groupe de mesure journalière

- Serveur.cpp gère la partie serveur web

- siplec433.cpp s'occupe du décodage des trames 433mhz (protocole propriétaire un peu inspiré du manchester qu'il a fallut rétro-engeinerer dédicace à rémi et laurent pour leur aide)

- wifi.cpp permet de se connecter à son wifi local.

Tout cela tient environ 330ko de flash et une bonne 60aine de kilo de ram en fonctionnement

L'archive du projet arduino est dipos là.

Le montage

Pour le moment uniquement en breadboard j'attend un nouveau module de reception 433Mhz pour faire quelque chose de plus propre (les modules 1er prix à super-regénération portent vraiment pas loin)

Pas de schéma mais pour le principe : il faut relier la carte SD au port SPI (MOSI, MISO, CLK et CS) ont peut mettre une led en D1 (GPIO5) et le récepteur se branche à travers une résistance de 4.7K (adaptation 5V - 3.3 à LA RACHE) en D2 (GPIO 4)

J'ai utilisé les pin 5V du module pour alimenter le rx433Mhz avec un bémol : il faut utiliser des cable micro-usb de bonne qualité sinon le 5V s'écroule à 4.5 et le module rx n'apprécie pas du tout (portée de 50cm)

Ci dessous le montage à côté d'une des sondes.

Le test

Le montage fonctionne correctement et stocke 1 mesure par minute / par sonde (les sonde envoie la température 1 fois / minute)

A l'affichage les extrême sont écartés, la moyenne de 2 mesures est faite et il ne s'affiche qu'une mesure toutes les 4 minutes pour ne pas surcharger le graphique.

Ci dessous un exemple où la sonde n°1 n'était accessible que durant quelques heures, alors que la sonde n°2 était disponible tout le temps.

Mise à jour le Lundi, 14 Décembre 2015 11:16
 
 
 
Design by guenstige.shop-stadt.de & go-windows.de