- Puce de pilotage USB : CH340C, avec une bonne compatibilité système, une vitesse de téléchargement plus élevée et une plus grande stabilité. Carte de développement 2.4GHz Dual Mode WiFi+Bluetooth, avec interface Type-c.
- L’ESP-WROOM-32 est un module MCU Wi-Fi + BT + BLE polyvalent et puissant.
- Petit volume : facile à intégrer dans d’autres produits.
- Prise en charge de 3 modes : AP, STA et AP+STA Deux cœurs de CPU peuvent être contrôlés ou activés individuellement.
Tags: Theengs Openmqtt Bluetooth Jeedom
0. Contexte
Nous avons déjà traité du Bluetooth à de nombreuses reprises que ce soit via BLEA qui malheureusement est à l’abandon et ibeacon via le script de poune. Depuis quelques mois j’utilisais une vm Theengs gateway et depuis peu la sortie du plugin de mips mqtt discovery m’a permis de faciliter les choses et donc c’est avec cette maturité sur cette nouvelle façon d’exploiter le Bluetooth dans nos maisons que je viens vers vous.
Prérequis avoir un brocker mqtt fonctionnel sur son jeedom
1. OpenMqttGateway
1.1 Flash d’installation
Nous allons donc nous appuyer sur l’excellent travail de l’équipe OPENMQTTGATEWAY qui permet dans notre cas de gérer le Bluetooth, mais je vous invite à jeter un coup d’œil dans leur documentation, les fonctions sont immenses !
Pour cela nous allons nous appuyer sur un Esp32 qui a donc déjà nativement un capteur Bluetooth
Pour commencer, nous allons brancher l’esp32 à notre ordinateur et nous allons repérer son port
puis, nous allons aller sur la page de flash d’Openmqttgateway
Pour ma part, j’ai choisi ESP DEV BLE qui correspond à ce que je veux en faire
Cliquer sur install et choisir le port correspondant
le programme s’écrit, ne rien toucher !
et voila c’est écrit
1.2 configuration du wifi
Ouvrez les paramètres wifis de votre téléphone et recherchez l’ID OMG
Un page de navigateur s’ouvre, configurer le wifi
Indiquer le SSID du wifi sur lequel doit se connecter l’esp, et son mot de passe
Inscriver l’adresse du brocker mosquitto sur lequel il doit envoyer ces informations (dans mon cas adresse de mon jeedom)
Si votre broker à username et mot de passe l’indiquer aussi
Dans Gatewayname vous pouvez identifier le nom de ce device
Mqtt base topic est le topic sur lequel il enverra ces infos
enfin gateway password est le mot de passe pour vous connecter à cette même page pour le reconfigurer
Un Save et c’est fini et fonctionnel
On vérifie sur mqtt explorer en se connectant au brocker de son jeedom
2. TheengsGateway
Nous détaillerons deux types d’installations via Commande line et via Plugin Jeedom
2.1 Installation en ligne de commande
On commence par mettre à jour notre Debian
sudo apt update
sudo apt-get upgrade
Installer Python 3
sudo apt install python3
Vérifier la version de python installé
python3 --version
Installer pip
sudo apt install python3-pip -y
Vérifier la version de pip
pip3 --version
Checker si c’est bien la dernière version de pip
pip install --upgrade pip
Installer Theengs
pip install TheengsGateway
La configuration avancée se fait via
python3 -m TheengsGateway -h
Pour lancer votre Theengs, vous devez indiquer l’IP, user et mot de passe de votre brocker et lancer la ligne suivante.
python -m TheengsGateway -H "<mqtt_broker_host_ip>" -u "username" -p "password"
Si vous souhaitez que la Passerelle Theengs démarre automatiquement au démarrage de votre distribution Linux, vous pouvez le faire en créant un script.
[Unit]
Description=Theengs Gateway
Requires=bluetooth.target network-online.target
[Service]
Restart=always
Type=simple
User=pi
ExecStart=/usr/bin/python3 -m TheengsGateway -H host -u user -p password
[Install]
WantedBy=multi-user.target
Ensuite, rechargez les fichiers de service et démarrez et activez le service système :
sudo systemctl daemon-reload
sudo systemctl enable --now TheengsGateway.service
Vérifier que le service démarre :
systemctl status TheengsGateway
et on check sur Mqtt explorer qu’il apparaisse :
2.2 Installation via le plugin
Installer le plugin Theengs Gateway et l’activer. choisir la même configuration que mqtt manager qui doit normalement diriger vers votre brocker
puis, on va dans programmation et on ouvre le plugin
On crée un nouvel équipement
Réglages :
- Activer
- Choisir le mode local
- Choisir l’adaptateur
- Sauvegarder
- Installer l’antenne et attendre que le statut de l’installation soir ok
- Configurer le service
- Sauvegarder
et voilà tout est envoyé à notre brocker
2.3 Paramètre optionnel
On peut configurer ici les appareils que l’on ne souhaite pas faire remonter, mais aussi décoder les adresses mac aléatoires.
Cette configuration permet de décoder une adresse MAC aléatoire vers l’adresse MAC réelle et permet donc de faire de la détection de présence du dispositif.
Pour cela, vous devez entrer l’adresse MAC réelle et, en séparant par un espace, la “clé de résolution d’identité” (IRK - Identity Resolving Key) tel que vous pouvez le voir
Pour savoir comment obtenir cette IRK pour les appareils Apple, veuillez consulter cette documentation.
3. MQTT Discovery
On va installer Mqtt discovery pour récupérer nos infos qu’elle soit Theengsgateway ou OpenMqttGateway et les ajouter à votre Jeedom. Il est possible de le faire en manuel avec JMQTT !
3.1 Configuration
Installer et activer le plugin
- Renseigner l’adresse du brocker et port
- Inscrire si il y a user et mot de passe
- Choisir le topic sur lequel émettent les antennes, qu’elle soit TheengsGateway ou OpenMqttgateway dans notre cas home
- Sauvegarder
3.2 Installation des devices
Si avec JMQTT, on peut tout faire, Mqttdiscovery permet clairement une remontée plus plug and play comme le fait zigbeelinker pour le zigbee.
Chercher les équipements découverts
Repérer ceux qui vous intéressent et ajouter les ! Penser à quittancer via, fermer et terminer la création
Vous pouvez aussi récupérer des équipements inconnus :
Cela m’a permis par exemple de récupérer mes badges somfy !, une fois les avoir ajoutés, il faut revalider via équipements découverts !
3.3 Exemple d’un device
Avec un thermomètre switchbot extérieur, on peut recuperer cela
SI on recherche plutôt des devices pour la gestion de la présence
On peut exploiter la présence, mais aussi le rssi et donc trianguler pour savoir dans quel parti de la maison, nous sommes !
Et ce n’est que le début ! Vivement que Mips intègre les actions !
J’espère que cet article vous aura plus !
N’oubliez pas que la vie est une fête
Loïc