Pour augmenter le nombre de dispositifs utilisable pour ma solution domotique, je me suis interessé au protocole
Zigbee qui est utilisé par de nombreux fabricants d'objets connéctés (Philips, Xiaomi, Ikéa, Legrand Netatmo, Osram...).
Cette article ne couvre que l'installation et la configuration pour un module Zigbee pi (ZiGate) sur un Raspberry Pi 3
Pourquoi Zigbee ?
Ma box domotique (Raspberry + Domoticz) est équipé d'un module RFXCOM RFXtrx433XL et d'un Contrôleur USB Z-Wave Plus Z-Stick (GEN5) d'AEOTEC, de nombreux dispositifs sont disponibles, mais les dispositifs Zigbee sont moins cher. A titre d'exemple :Type | RFXCOM | z-Wave | Zigbee | |||
Température/Humidité | Oregon thgr-511 | 21.07€ | FIBARO Capteur de température | 19.90€ | Capteur ZigBee | 13.99€ |
Prise | Prise DI-O - Chacon | 15.99€ | FIBARO Wall Plug | 51.99€ | OSRAM Smart+ | 20.99€ |
Les liens ci-dessus sont sponsorisés par Amazon. |
Zigate : La passerelle universelle ZigBee
Pour éviter d'occuper de la place et un port usb supplémentaire j'ai opté pour le module qui se connecte directement sur le port GPIO du raspberry. Vous pouvez l'acheter sur le site zigate.fr. Il y a aussi des versions USB-TTL, USB Wifi et depuis peu USB-DIN de disponible. En attendant votre livraison vous pouvez parcourir le forum et le wiki.Montage de la zigate
Rien de compliqué pour l'installation, il suffit juste d'insérer délicatement le connecteur sur le port GPIO de votre raspberry. Des informations supplementaires sont disponibles sur le site zigate à cette adresse :https://zigate.fr/documentation/montage-et-installation-de-la-pizigate/
Installation et configuration
Une fois le raspberry démarré il y a un certain nombre d'opération à effectuer. On commence par installer le logiciel wiringpi qui permet d'afficher des informations sur le port GPIO du raspberry.
[mon@raspi]sudo apt update
[mon@raspi]sudo apt upgrade
[mon@raspi]sudo apt-get install wiringpi
Résultat de la commande 'gpio readall'
[mon@raspi]sudo apt upgrade
[mon@raspi]sudo apt-get install wiringpi
+-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| | | 3.3v | | | 1 || 2 | | | 5v | | |
| 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5v | | |
| 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | |
| 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 |
| | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 |
| 17 | 0 | GPIO. 0 | OUT | 1 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |
| 27 | 2 | GPIO. 2 | OUT | 1 | 13 || 14 | | | 0v | | |
| 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 |
| | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 |
| 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
| 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |
| 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
| | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
| 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 |
| 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | |
| 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 |
| 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | |
| 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 |
| 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 |
| | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
les lignes avec les numéros 17 et 27 correspondent au pins qui gérent les fonctions Flash et Reset.
A chaque démarrage du raspberry il faut passer la PiZiGate en mode production, pour cela on ajoute les commandes au fichier suivant :
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| | | 3.3v | | | 1 || 2 | | | 5v | | |
| 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5v | | |
| 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | |
| 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 |
| | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 |
| 17 | 0 | GPIO. 0 | OUT | 1 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |
| 27 | 2 | GPIO. 2 | OUT | 1 | 13 || 14 | | | 0v | | |
| 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 |
| | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 |
| 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
| 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |
| 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
| | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
| 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 |
| 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | |
| 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 |
| 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | |
| 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 |
| 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 |
| | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
/etc/rc.local
......
gpio mode 0 out
gpio mode 2 out
gpio write 2 1
gpio write 0 0
gpio write 0 1
.....
gpio mode 0 out
gpio mode 2 out
gpio write 2 1
gpio write 0 0
gpio write 0 1
.....
Ensuite il faut désactiver le bluetooth qui utilise le port série dont nous avons besoin pour communiquer avec la PiZiGate pour cela on ajoute à la fin du fichier suivant :
/boot/config.txt
......
dtoverlay=pi3-disable-bt
enable_uart=1
dtoverlay=pi3-disable-bt
enable_uart=1
Et on modifie aussi ce fichier :
/boot/cmdline.txt
Suppression du texte : console=serial0,115200
On termine en lançant les commandes suivantes
[mon@raspi]sudo systemctl disable hciuart
[mon@raspi]sudo usermod -aG gpio pi
[mon@raspi]sudo reboot
Une fois le raspberry redémarré, l'eclairage de la led bleu de la PiZiGate doit être très intense.[mon@raspi]sudo usermod -aG gpio pi
[mon@raspi]sudo reboot
Dans le repertoire /dev/ on repère le nouveau fichier créé qui permettra à domotiocz d'accéder à la PiZiGate.
Il ne reste plus qu'à installer la PiZiGate dans domoticz, comme décrit dans l'article suivant : PiZiGate et Domoticz