Le Rfxcom est généralement utilisé pour du matériel simple, le plus souvent sur pile. Par exemple, chez moi je l'utilise pour les capteurs d'humidité et de température avec une durée de vie des piles de plus de 3 ans ! Mais il peut être utilisé sur des interrupteurs, des contacts ou encore des équipements d'alarme avec un code tournant. L'inconvénient est que vous recevez les trames de tous les appareils à proximité, même ceux des voisins (et donc l'inverse est vrai), sympa pour savoir la température chez lui.
J'utilise la clé USB RFXtrx433XL comme coordinateur. La version XL embarque plus de sous-protocoles matériels. (marques) Il est possible de la mettre à jour et d'activer ou désactiver des sous protocoles mais je ne l'ai jamais fait, aillant tout ce qu'il me faut de base. Le bridge rfxcom2mqtt se charge de décoder les trames en quelque chose de lisible à traves la librairie MQTT.js
Installation du serveur Rxfcom
Reportez vous aux billet précédents (ici et là ) pour en savoir plus sur ma configuration Proxmox et Docker.
On se rend dans le shell de notre serveur Proxmox et on créer notre machine virtuelle à partir du template docker et on lui adresse une IP fixe :
qm clone 910 120 --name rfxcom
qm set 120 --ipconfig0 ip=10.1.4.120/23,gw=10.1.4.1
Dans Proxmox, on va aller dans la configuration Hardware de la VM et lui ajouter la clé USB Rxfcom, la clé est bien reconnu par proxmox, pas de soucis de ce coté:
On peut démarrer notre VM.
Maintenant on se rend dans l'interface web de Portainer, on lie notre VM, et on ajoute Stack qui ressemble à ça :
version: '3.8'
services:
rfxcom2mqtt:
container_name: rfxcom2mqtt
image: rfxcom2mqtt/rfxcom2mqtt
restart: unless-stopped
volumes:
- data:/app/data
environment:
- TZ=Europe/Paris
- MQTT_SERVER=mqtt://10.1.4.111:1883
- MQTT_USER=bobby
- MQTT_PASSWORD=youpin
- RFXCOM_USB_DEVICE=/dev/ttyUSB0
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
volumes:
data:
Le stack configure tout ce qu'il faut pour fonctionner, comme le serveur MQTT. Les trames devraient directement atterrir dans MQTT.
Maintenant il va falloir reconnaitre l'identifiant des appareils pour les utiliser dans Nodered…
Voila pour le protocole Rfxcom, dans le prochain billet on ajoutera la VM teleinfo.