2017/02/26 08:41

REL4YLC

Projet « météo-domotique » expérimental Arduino


Version 3.3 du 02/01/2017  (modifs indiquées en début du code source)


Ce projet réalisé au cours de l’été 2014 a été guidé par l’envie de mettre en application pratique le cours MOOC sur la Fabrication Numérique de Baptiste Gaultier que j’ai suivi début 2014.

Il s’agit d’une plateforme expérimentale faisant office de station météo et permettant la télécommande d’appareils électriques à distance par le biais d’internet.

Il est basé d’une part sur l’empilement d’un module Arduino Méga, d’un shield ethernet et d’un shield à 4 relais avec tous leurs périphériques (CF : listing programme) et d’autre part d’un montage extérieur constitué d’un Atméga328P-PU avec une sonde de température et un module émetteur 433 Mhz.

Le développement a été réalisé par étapes successives en intégrant de nouvelles fonctionnalités à chacune d’elles. La version actuelle est la v.3.3  Ce programme fonctionne en continu depuis plusieurs années sans interruption et sans aucun disfonctionnement. Je le considère donc comme stable et fiable.

Il a été développé avec l’IDE Arduino v.1.0.5 puis adapté (quelques petits ajustements) à la version 1.6.0

Les fonctions visibles et accessibles à l’utilisateur sont les suivantes :

• serveur Web affichant en standard une page publique donnant la date, l’heure, la température intérieure, la température extérieure, le taux d’humidité et la pression barométrique ainsi que la variation des pressions atmosphériques depuis 48 heures et l’interprêtation de la tendance actuelle.

En tête de page on trouve des indicateurs de bon fonctionnement des procédures d’IO (enregt fichiers, mise a l’heure, ….etc) et des indicateurs de l’état des relais.

• Une seconde page, protégée par un mot de passe permet d’afficher :

  • l’historique des pressions et des températures - soit du mois en cours, soit de toutes les mesures non archivées

  • l’historique des commandes passées : - évènements de redémarrage, allumage / extinction des relais.

  • la possibilité d’actionner 4 relais de commande d’appareils y étant reliés électriquement.
    Ces relais sont couplés à un émetteur radio permettant d’actionner d’autres appareils à distance par des prises télécommandées..

  • Une commande d’archivage des mesures des mois précédents (nécessite un mot de passe de second niveau)

  • Une commande d’effacement de l’historique des commandes (nécessite un mot de passe de second niveau)

NB : Cette seconde page n’est accessible que pendant un temps limité à partir de la saisie du mot de passe de premier niveau. (1 min)

•En local, sur le montage lui-même, des interrupteurs (dip-switches) permettent d’afficher au choix :

• la date, l’heure, la température intérieure, la pression barométrique

• la température extérieure, le taux d’humidité,la durée de la session (depuis le dernier reset), et la taille mémoire restant disponible à cet instant.

• l’état des relais (on/off) et le nombre de connexions établies depuis le dernier redémarrage.

En cas de chute brutale de la pression barométrique au cours des 6 dernières heures, le système envoie automatiquement un tweet d’alerte météo sur un compte Twitter.

Une led témoin jaune s’allume durant chaque connexion internet.

Une led témoin rouge clignote à chaque réception radio reçue de la sonde de température extérieure ; c’est à dire chaque minute. Au delà de 10 minutes sans réception de signal radio de la sonde extérieure, la led rouge reste allumée en permanence.  (=>  recharger la batterie de la sonde extérieure).

Les fonctions non visibles par l’utilisateur sont les suivantes :

• redémarrage automatique tous les 24 heures ou si la mémoire disponible est trop faible

• synchronisation de l’horloge temps réel sur un serveur NTP toutes les 24 heures

• stockage des pressions et températures toutes les 3 heures dans un fichier (carte SD)

• stockage de l’historique des commandes et des redémarrages dans un fichier (carte SD)

• les mots de passe (saisis à l’ordinateur) sont stockés dans un fichier paramètres sur la carte SD

• stockage des différents timbres en mémoire Eeprom pour conserver la synchro des actions et des temporisations malgré les éventuelles interruptions d’alimentation ou les redémarrages de la carte.

La mesure de la température extérieure est faite par un montage autonome qui reste en sommeil pour n’envoyer la température qu’un fois par minute. Ce montage est alimenté par une batterie et, eu égard à sa faible consommation (115 μA), son autonomie est estimée à un an environ.

Ce programme, outre son utilité domestique avérée, est aussi un démonstrateur de ce qu’on peut faire avec Arduino en ayant au départ un minimum de connaissances mais avec beaucoup de persévérence et de recherches sur le web et aussi quelques conseils glanés au Fablab de Rennes. :-))

J’espère qu’il pourra servir à de nombreux “arduinistes” à la recherche d’exemples fonctionnels.

rel4ylc_v3_3_bb1

Ecran par défaut : (public)

rel4ylc_img1

Ecran accessible par mot de passe :

rel4ylc_img5

Affichage de l’historique des commandes et redémarrages (accessible par mot de passe) :

rel4ylc_img3

Message d’alerte sur Twitter :

rel4ylc_tweet

Affichage de l’historique des mesures (accessible par mot de passe)

rel4ylc_img4

Montage principal (prototype breadboard v3.1)

rel4ylc_phot11

Montage extérieur (Sonde température)

rel4ylc_phot3

Si vous êtes intéressé par cette réalisation et souhaitez prendre connaissance du code du programme, les sources sont ICI

Retour en haut de la page