Projet : serveur de temperature
Ma domotique actuelle est basée aujourd’hui sur divers éléments dont un RFXCOM et des sondes orégon pour les températures, couplés à un raspberry et domoticz pour l’enregistrement des données. Mais cette solution ne me satisfait plus. Explications.
Fiabilité du système actuel
Aujourd’hui, je suis confronté comme pas mal de monde aux problèmes de transmission rfxcom. Basé sur du 433MHz, il n’existe que 3 canaux de communication pour les sondes oregon. Et on se rend vite compte, dès lors que l’on a 7-8 sondes des coupures de communication fréquentes, dues principalement à de la collision.
Il m’est déjà arrivé de rester plusieurs heures sans relevé de température. Et lorsque l’on fait de la régulation de chauffage, c’est vite embêtant.
Autre problème de fiabilité : le raspberry. Si j’adore la carte, je commence de plus en plus à la détester. Car la carte SD a une durée de vie limitée et le système peut vriller à n’importe quel moment. J’avais basé au début ma domotique sur 1 raspberry central, mais après 2-3 pertes de cartes j’ai commencé à revoir ma copie.
Philosophie
Aujourd’hui, le nouveau paradigme de ma domotique est que chaque élément qui la compose doit être autonome et doit gérer sa donnée. Autrement dit, aucun système ne doit être dépendant d’un autre ou en tout cas stocker de manière centrale les données.
Ainsi, j’ai découpé en morceau comme suit :
- Ipx800 pour la gestion de l’éclairage et des volets roulants
- Raspberry, rfxcom et sondes oregon et 1wire pour la température
- Thermostat Netatmo pour la regulation du poele a granule
- Melcloud system pour la gestion de la pompe à chaleur
- Cameras ip
- Synology : script center php, monitoring camera
Serveur de température :
Pour le serveur de température, mes critères sont les suivants :
- Sondes filaires pour la fiabilité
- Microcontroleur au lieu du raspberry pour produire la donnée
- Formatage des données en json
J’ai donc choisi de partir sur un arduino uno associé à un module ethernet, sur lequel je vais fabriquer une carte electronique qui permettra de brancher 7 sondes de températures ds18b20 (1wire). Ces sondes sont d’une stabilité et d’une fiabilité déconcertante. J’en utilise depuis 2012 sans aucun problème. J’aurais aussi un BME280 pour l’extérieur qui gèrera température, humidité et pression atmosphérique et 3 capteurs DHT22 (temperature et humidite).
L’arduino et ses cartes seront montés sur un rail din, à l’aide d’un boiter mg6. Ce boitier va me permettre de sortir 36 borniers à vis sur lequels on va retrouver :
- 7 x 3 pin pour les ds18b20
- 3 x 3 pin pour les dht22
- 4 pin pour le bme280
- 2 pin pour l’alimentation.
On va rajouter un écran nokia 5110 pour faire afficher les informations de base comme l’adresse ip ou le statut des sondes. Une led rouge viendra prévenir en façade si le module est alimenté.
Serveur web
L’arduino sera serveur web, et fournira de l’info en json : on va formater la données pour pouvoir la récupérer, notamment depuis l’ipx800.
Je pense fournir les données suivantes :
- adresse ip
- uptime
- température sonde ds18b20 n°1
- température sonde ds18b20 n°2
- température sonde ds18b20 n°3
- température sonde ds18b20 n°4
- température sonde ds18b20 n°5
- température sonde ds18b20 n°6
- température sonde ds18b20 n°7
- température sonde dht22 n°1
- humidité sonde dht22 n°1
- température sonde dht22 n°2
- humidité sonde dht22 n°2
- température sonde dht22 n°3
- humidité sonde dht22 n°3
- temperature sonde bme280
- humidite sonde bme280
- pression atmospherique bme280
Enregistrement des données
La carte n’a pour moi pas vocation à stocker de la donnée, enfin pas dans sa v1. Pour moi, j’envisage de faire un script synology qui viendra récupérer les données sur la carte pour alimenter un domoticz, hébergé probablement sur un raspberry local. Vu que ca sera pour de l’historisation, la fiabilité est moins importante et un backup de la base quotidien suffira. Si l’historisation ne marche plus pendant 3 jours, ca ne sera pas grave, car les températures seront accessibles pour le script de chauffage directement sur le serveur arduino.
Conclusion
On voit ici que l’on se rapproche d’une box domotique autonome, déployable à l’infini. Si ce prototype fonctionne, je pourrais fournir le code.
Dans les axes d’amélioration directement faisable, il y aura la carte électronique qui contiendra les borniers pluggés sur l’arduino : il faudra faire un typon et des pistes pour un travail propre et reproduisible.
Mon objectif est de sortir une v1 de la carte pour mi septembre 2018. La suite au prochain épisode.
bonsoir
vous etes le seul en français qui ai osé mettre plusieursds18b20 sur plusieurs pins
j’ai voulu vous copier mais je butte pour brancher 3 fils par capteur ça fait désordre
Bonjour,
Je suis d’accord ! J’ai trouvé depuis les modules grove qui permettent de connecter chaque capteur sur une platine avec un connecteur dédié : voir sur ce lien
On peut voir des détails dans cet article que j’ai fait sur la station météo.