Browse Tag

domotique

Domotique DIY #2 – Boite à lettres connectée à moins de 15€

Temps de lecture estimé : 2 minutes

Suite au capteur de distance (niveau de sel dans un adoucisseur d’eau), voici le deuxième article sur ma domotique DIY.

Une boite à lettre connectée (à votre domotique ?) pour moins de 15€ et fonctionnant plusieurs mois sur batterie.

Ce montage tourne depuis plusieurs années chez mes parents, c’est l’occasion de le rafraîchir et le documenter (avant un possible changement vers un Wemos et une pile lithium).

Liste des courses

  • Un Wemos D1 mini ~1€,
  • Une Sonnette « bon marché » (max 10€),
  • Contact au mercure (5x14mm),
  • Un peu de fil électrique,
  • Un câble micro-USB + alimentation.
« Mercury Switch » – Contact au mercure

Montage

Après avoir dé-soudé le haut-parleur, retiré tout le câblage et le boîtier pour les piles, connectez …

  • le du haut-parleur au GDN de la sonnette et au G du Wemos,
  • le VDD au 5V du Wemos,
  • le + du haut-parleur au A0 (ajoutez une résistance si nécessaire afin d’éviter de griller le pin analogique de votre Wemos).


Code source

Première étape terminée. Le coté « recepteur » est terminé.

Liez le maintenant à votre système domotique au travers de MQTT ou une autre méthode votre choix.

Intégration Home Assistant

L’intégration n’est pas parfaite. Je dois encore trouver une solution pour gérer le reset du capteur une fois le courrier récupéré.

- platform: mqtt
    name: "Boite à lettre"
    state_topic: "42/ext-av/sensors/bal"
    value_template: "{{ value_json.bal }}"

Coté boite à lettre

Voici le bouton-poussoir de la sonnette une fois démonté.

Il est nécessaire de repérer le contact du bouton-poussoir et d’y souder la paire de fils du contacteur à mercure.

Le capteur une fois soudé aux fils est placé dans une pièce le maintenant vers le bas à 45° (à adapter selon votre boite à lettres).

Un peu de double face épais et on pose dans la boite.

Une fois, le clapet de la boite basculant, il simule un appui sur le bouton de la sonnette. Le haut-parleur (retiré) « sonne » et le pin analogique du Wemos capte ce pic. Le reste est traité par le petit morceau de code ci-dessus.

Vous pouvez espérer plusieurs mois de fonctionnement avec ce montage et une pile CR2032.

Installer un broker MQTT – Mosquitto – Ubuntu

Temps de lecture estimé : 2 minutes

Pour ma domotique j’utilise principalement MQTT pour la communication entre les sondes, actuateurs, services et serveur.

MQTT est un protocole de messagerie fonctionnement par publication / souscription. Tous les clients se connectent au serveur (le broker) pour publier des messages ou souscrire afin de recevoir les messages ou les deux à la fois.

Installation de Mosquitto

Actuellement, je fonctionne avec Ubuntu 18.10 dans un container sous Proxmox PVE. Commençons par le début un update/upgrade

sudo apt update && apt upgrade

Installation de Mosquitto

sudo apt install mosquitto

En l’état vous avez un Mosquitto parfaitement fonctionnel, mais sans la moindre sécurité.

Placez-vous dans le dossier de Mosquitto. Par défaut /etc/mosquitto

cd /etc/mosquitto

Créer le fichier d’authentification et le premier utilisateur. Après la commande, il vous sera demandé de renseigner un mot de passe.

Configuration de Mosquitto

sudo mosquitto_passwd -c passwordfile VOTRE_PREMIER_UTILISATEUR

Attention! Le paramètre -c permet de créer le passwordfile si vous l’utilisez par la suite le fichier sera écrasé et donc tous les utilisateurs perdus.

Créer un autre utilisateur.

sudo mosquitto_passwd passwordfile UTILISATEUR_SUIVANT

Modifiez le fichier de configuration de Mosquitto afin de limiter son accès aux utilisateurs avec un compte. (Positionnez-vous dans /etc/mosquitto)

sudo nano mosquitto.conf

Ajoutez ces deux lignes en fin de fichier et sauvegardez.

allow_anonymous false
password_file /etc/mosquitto/passwordfile

Voila! Il est possible d’aller plus loin avec Mosquitto et par exemple limiter un utilisateur en lecture ou de limiter la publication à un seul topic, … Pour cela, penchez-vous sur les ACL. Il est également possible de chiffrer les communications avec le broker et d’y installer un certificat SSL.

Vous pouvez maintenant créer un petit capteur communiquant en MQTT

Sources

Domotique DIY #1 – Capteur distance MQTT + Home Assistant

Temps de lecture estimé : 2 minutes

Pour monitorer le bon fonctionnement de mon adoucisseur d’eau, j’ai besoin de connaitre la hauteur de sel dans le réservoir. L’appareil fait déjà ce monitoring, mais se contente d’un beep dans la cave que personne ne remarque.

Ce petit « tuto » peut-être appliqué pour n’importe quelle mesure de distance avec un capteur ultrason HC-SR04 (présence d’une voiture dans le garage, …)

Le HC-SR04 est un capteur ultrason permettant une mesure (plus ou moins précise) entre 2 cm et 400 cm (en théorie). J’ai porté mon choix sur ce capteur pour son prix et l’absence de la nécessité d’une mesure précise.

Selon gadgetsthatgo.com, le capteur émet 8 cycles d’un ultrason à 40 kHz depuis sa partie émettrice (Trig). Ce son rebondi sur l’objet présent devant le capteur et revient à ce dernier (Echo). La vitesse du son étant connue et en ignorant sur une si courte distance que la vitesse du son n’est pas une constante. Il suffit de diviser le temps de parcours du son par 58 pour obtenir l’information en centimètres. Je vous invite à lire les sources pour plus d’informations.

Si vous souhaitez installer un serveur (broker) MQTT suivez mon article : Installer un broker MQTT (Mosquitto).

Liste des courses

  • ESP8266 (Wemos D1 Mini dans mon cas) -1€,
  • Capteur ultrason HC SR-04 -1€,
  • Un peu de fil,
  • Câble + Alim USB.

Dans mon cas, j’ai déjà un serveur MQTT fonctionnant déjà en local pour ma domotique.

Montage

Schéma de connexion du capteur au Wemos

HC-SR04 -> Wemos

VCC -> 5V

Trig -> D5

Echo -> D6

GND -> G

Code source

Ligne 81, 82 & 84 : la valeur 80 est la hauteur du réservoir de sel dans mon cas afin de permettre le calcul du pourcentage de sel restant dans la cuve.

Le code est donné en l’état sans garantie et sans support.

Intégration à Home Assistant

Dans mon configuration.yaml j’ajoute simplement :

  - platform: mqtt
    name: "Niveau Sel"
    state_topic: "42/cave/sensors/sel"
    unit_of_measurement: 'Cm'
    value_template: "{{ value_json.niveaucm }}"
  - platform: mqtt
    name: "Niveau Sel"
    state_topic: "42/cave/sensors/sel"
    unit_of_measurement: '%'
    value_template: "{{ value_json.remplissage }}"

Résultat

Pour le moment, le capteur est simplement collé avec un morceau de collant double face épais en attendant une petite boite imprimée en 3D.

Le résultat de la mesure arrive bien dans Home Assistant, ce qui me permet d’avoir une bonne idée du niveau de sel.

Les prochaines étapes :

  • Ajouter une alerte et notification si le niveau devient trop bas pour le fonctionnement de la machine,
  • Passer la sonde en OTA,
  • Ajouter un deep sleep plutôt qu’un delay.

Observations

@andreadonno m’a fait remarqué l’existence du projet ESPHome qui semble faciliter la vie pour l’intégration à Home Assistant. Voir le tweet.

Sources