La semaine dernière je vous ai présenté le plugin Bluetooth Advertisement qui permet à Jeedom de communiquer avec de nombreux objets connectés en Bluetooth. Comme on l’a dit, l’une des limitations du Bluetooth est sa portée (tout au moins dans les versions antérieures à la 5, soit la majeure partie des équipements à ce jour). Pour remédier à cela, le plugin BLEA (Bluetooth Advertisement, donc) permet de créer des « antennes ». Nous allons voir dans ce guide comment en réaliser une très facilement, et à peu de frais, en utilisant le nouveau Raspberry Pi Zero W.
I. Pré requis pour réaliser une antenne BLEA
Il est possible de réaliser une antenne BLEA avec de nombreux équipements. Si vous utilisez un Raspberry Pi pour votre media center, par exemple, ou si vous en avez un pour gérer votre éclairage Lightberry, il est tout à fait possible de s’en servir comme antenne bluetooth, en plus de ses fonctionnalités principales. Ici, pour ce guide, j’ai opté pour le Raspberry Pi Zero W pour deux raisons principales:
- d’une part, le Raspberry Pi Zero W intègre à la fois le Wifi et le Bluetooth, comme nous l’avions vu dans sa présentation. Du coup rien à rajouter, le bluetooth est intégré
- d’autre part, son prix: il ne coute que 11€, chez notre partenaire Kubii par exemple (le plus dur étant d’en trouver en stock, les packs étant plus faciles à trouver que le RPI seul)
Attention, il faut bien opter pour le modèle « W », le modèle sans le W, vendu 5€, n’ayant ni Wifi ni Bluetooth, et ne convenant donc pas à notre usage.
Pour fonctionner, il nous faudra également au minimum une micro SD comme ce modèle Kingston 8Go à moins de 5€.
Ensuite, il faudra peut être prévoir en fonction de votre équipement:
- un adaptateur mini HDMI vers HDMI, tout au moins durant l’installation
- un adaptateur micro Usb vers Usb, également durant l’installation
- un clavier Usb, toujours pour l’installation uniquement
- et enfin une alimentation micro Usb
Pour ma part j’avais déjà les deux premiers adaptateurs dans mes tiroirs, car ce sont des choses dont on peut avoir besoin pour des tablettes / smartphones, et on a toujours un clavier Usb qui traine, même sans fil (tant qu’il y a l’adaptateur radio Usb dispo).
Concernant l’alimentation, comme j’ai des chargeurs à plusieurs ports à différents endroits dans la maison, j’ai simplement branché le Raspberry Pi Zero W sur un port libre. Donc pas besoin d’alimentation supplémentaire dans mon cas.
Maintenant que nous avons tout le matériel, place à l’installation !
II. Installation du Raspberry Pi Zero W
On commence par écrire la carte micro SD. Il faut pour cela télécharger Raspbian Jessie Lite.
On utilise un utilitaire comme Win32DiskImager pour écrire facilement l’image de l’OS sur la micro SD.
Une fois la carte prête, on l’insère dans le Raspberry Pi Zero W, et on branche le clavier via l’adaptateur, l’écran via l’adaptateur HDMI également, puis l’alimentation.
Le Raspberry démarre automatiquement:
Là, il faudra s’identifier. L’utilisateur par défaut est pi et le mot de passe raspberry:
Exécutez ensuite la commande sudo su pour se mettre en administrateur.
Puis ensuite raspi-config pour entrer dans l’utilitaire de configuration:
Ici, en allant dans le menu Interfacing Options, activez le serveur SSH, qui nous sera utile pour communiquer avec Jeedom.
Modifiez ensuite le mappage du clavier en FR via Localisation Options / Change Keyboard Layout. Cela évitera les erreurs plus loin pour saisir les informations du réseau Wifi ;-)
Sélectionnez clavier générique:
Puis Other pour la langue, et cherchez le français:
Ensuite, vous pouvez modifier le Hostname si vous souhaitez pour mieux le trouver sur le réseau:
Enfin, étendez le file system via le menu Advanced Options / Expand Filesystem, de façon à ce que l’OS utilise tout l’espace de la carte:
Redémarrez en cliquant sur « Finish ».
Quand le Raspberry Pi est de nouveau accessible, identifiez-vous de nouveau avec pi / raspberry:
Nous allons maintenant configurer le Wifi. Pour cela tapez la ligne de commande:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Là, entrez les commandes comme ceci: le ssid est bien sûr le nom de votre réseau Wifi, et le psk votre mot de passe.
Enregistrez le fichier en quittant (Ctrl+X, puis O).
Tapez ensuite sudo wpa_cli reconfigure pour forcer la reconfiguration du réseau.
Après quelques secondes (le temps que le Wifi se connecte) tapez ifconfig wlan0. Si le Raspberry est bien connecté au réseau, vous devriez voir son adresse IP en face de « inet adr »:
Récupérez l’IP et l’adresse MAC pour créer une réservation DHCP sur votre routeur / serveur DHCP. Il vaut mieux en effet que le Raspberry ait une adresse IP fixe, sinon au moindre changement Jeedom ne pourra plus communiquer avec.
Dans le même registre, récupérez l’identifiant du dongle Bluetooth avec la commande hciconfig (ce sera très certainement hci0, mais on vérifie au cas où)
Dernière chose, tant que nous y sommes: on met à jour le système, ce qui ne fera pas de mal, avec cette commande:
apt-get update && apt-get upgrade
Vous pouvez maintenant tout débrancher (excepté l’alimentation) et placer le Raspberry Pi Zero W où vous souhaitez. Nous pourrons maintenant y accéder depuis n’importe quel autre ordinateur.
III. Configuration de l’antenne BLEA dans Jeedom
Passons maintenant à la configuration dans Jeedom. Le plugin BLEA est normalement déjà installé si vous avez suivi notre précédent guide. Il faut maintenant se rendre dans Plugins / Protocole domotique / Bluetooth Advertisement. Puis cliquer sur “Antennes”
Ici, il ne reste plus qu’à compléter les informations relatives à notre antenne:
- Nom: Antenne Salon (ou ce que vous voulez)
- Ip: adresse IP de l’antenne, relevée plus haut
- Port: 22
- User: pi
- Password: raspberry
- Device: hci0
Cliquez ensuite sur “Sauvegarder”. Puis sur “Envoyer les fichiers”, ce qui aura pour effet d’envoyer les fichiers nécessaires à l’antenne.
Enfin, cliquez sur “Lancer les dépendances”, pour installer tout le nécessaire automatiquement sur l’antenne.
Pour ceux qui s’y connaissent un peu, vous pouvez contrôler l’installation des dépendances si vous voulez en ouvrant une session ssh vers votre antenne, et en tapant:
tail -f /tmp/blea_dependancy
Vous pourrez voir ce genre de choses:
Ce n’est pas obligatoire, ça permet juste de voir si l’installation est terminée, car elle prend 5 bonnes minutes, en fonction de votre connexion internet. Si vous ne vérifiez pas via la commande SSH, il faudra simplement laisser le temps nécessaire à l’installation avant de poursuivre.
Cliquez enfin sur “Lancer” pour démarrer le démon BLEA sur l’antenne Raspberry Pi Zero W.
Fermez puis ouvrez à nouveau la fenêtre “Antennes” pour actualiser l’écran. Normalement vous devriez voir votre antenne BLEA avec un coeur vert sur la gauche (si vous avez une oreille rouge, elle n’est pas active).
Voilà, votre antenne BLEA est opérationnelle !
Maintenant, sur chaque périphérique Bluetooth configuré dans BLEA, vous avez la possibilité d’indiquer l’antenne à utiliser: la locale, une des antennes déportées, ou bien toutes, et ceci pour la réception ou pour l’émission:
Quand il s’agit de récupérer des données, comme ici avec le capteur pour plantes MiFlora, on peut utiliser toutes les antennes. Le but est de récupérer les infos, quelque soit le moyen.
En revanche, pour émettre des ordres, comme par exemple vers le diffuseur de parfum connecté que je vous ai présenté, on privilégiera l’antenne la plus proche. En effet, si on demande à utiliser toutes les antennes, chaque antenne va émettre les ordres vers le périphériques, qui risque du coup de répéter les actions, ce qui peut avoir des effets non désirés.
Normalement, si vous vérifiez l’état de santé de votre « réseau bluetooth », vous devriez voir de nettes améliorations:
La cartographie devrait également vous afficher les différentes antennes et les liens entre les divers périphériques:
Pour mon cas personnel, Jeedom sert d’antenne locale à un bout de la maison, et le Raspberry Pi Zero W d’antenne déportée à l’autre extrémité: avec une maison de 10x8m au sol, tous les périphériques bluetooth sont parfaitement couverts. Pour la finition, j’ai imprimé un petit boitier avec mon imprimante 3D BCN3D+, mais pour ceux qui ne sont pas équipés, on en trouve pour moins de 5€ sans problème.
Si malgré cela certains périphériques restent encore difficilement joignables, vous pouvez ajouter une autre antenne BLEA (ou plus). Comme on l’a vu, avec un Raspberry Pi Zero W, vous pouvez vous en monter une pour moins de 20€ :) Et en ce moment il y a un concours pour gagner un kit Raspberry Pi Zero W complet.
Super.Merci pour le tuto. J aimerai me passer de wifi et utiliser un adaptateur USB/ethernet.Pense tu que cela est faisable? Si oui comment?
Merci d’avance.
A priori il ne doit pas y avoir de problème, pas mal de personnes utilisent ce genre d’adaptateur micro Usb -> ethernet http://amzn.to/2o3DBlv
Il faudra juste s’assurer que le driver nécessaire soit bien installé, mais dans la plupart des cas l’adaptateur est reconnu nativement.
Merci
Bonjour,
suite au passage à RASPBIAN STRETCH LITE, la méthode de cet article n’est plus opérationnel. Serais-il possible de le mettre à jour ?
Bonjour,
je suis dans la même situation que Bertrand.
De plus, après une installation complète sur un nouveau pi3 de jeedom, le plugin ne propose que antenne de réception pour les mini nut.