[Tuto] ⏩ Installation d'une antenne BLEA sur Synology avec Docker

Mise à jour :
01/05/2022 : info hciconfig
30/05/2020 : modif commande docker build Merci @LMQT. Ajout info matériel réception Bluetooth
21/05/2020 : Création du tuto

Bonjour :wave:

Voici un tutoriel pour installer une antenne BLEA sur un NAS Synology avec docker


------------------------------------------------------------------------------------
                                   Pré-requis
------------------------------------------------------------------------------------

:small_blue_diamond: Avoir installé Jeedom avec un réseau macvlan [Tuto] ⏩ Installation de Jeedom sur Synology / docker / debian buster / réseau macvlan
:small_blue_diamond: Avoir un accès en SSH à son NAS. (voir doc Synology)
:small_blue_diamond: Paquet Docker installé sur un NAS compatible
:small_blue_diamond: Créer un dossier antenne-blea dans le dossier partagé docker de votre NAS
:small_blue_diamond: Logiciel PuTTY
:small_blue_diamond: Logiciel notepad++



------------------------------------------------------------------------------------
                             Routage de l'adresse IP
------------------------------------------------------------------------------------

Un routage d’adresse IP c’est dérouté une adresse vers une autre adresse
Pourquoi ? parce que SYNOLOGY interdit a un conteneur de contacter le NAS sur sa propre adresse IP pour des raisons de sécurité

Donc nous allons définir un réseau avec une deuxième adresse d’accès à notre NAS qui sera 192.168.1.241. Cette adresse IP sera utilisée pour le plugin BLEA.


:small_orange_diamond: Lancer PuTTY

:small_orange_diamond: Connecter vous à votre NAS Synology avec votre nom utilisateur administrateur et saisissez votre mot de passe.

:small_orange_diamond: Lancer la commande sudo -i pour passer en mode root

:small_orange_diamond: Ressaisissez votre mot de passe
image

:small_blue_diamond: Voici les lignes de code pour créer notre routage
:small_orange_diamond: Lancer ces 5 lignes dans PuTTY

ip link add macvlan-br0 link eth0 type macvlan mode bridge
ip addr add 192.168.1.241/32 dev macvlan-br0
ip link set dev macvlan-br0 address 0:1:2:3:4:5
ip link set macvlan-br0 up
ip route add 192.168.1.240/29 dev macvlan-br0

:small_orange_diamond: Lancer la commande ifconfig
image

:small_blue_diamond: Voila le réseau macvlan-br0 avec le routage vers l’adresse IP 192.168.1.241 est créé :slightly_smiling_face:

:warning: Le routage disparaît quand on redémarre le NAS :warning:

:small_blue_diamond: En cas de redémarrage il faudra relancer ces lignes de commande
ou
:small_blue_diamond: Créer un script de démarrage dans les paramètres du NAS. Voir la partie :
:low_brightness: Script de démarrage Routage de l’adresse IP :low_brightness:


------------------------------------------------------------------------------------
                           Création du fichier "Dockerfile"
------------------------------------------------------------------------------------

Avant de créer notre conteneur, nous allons au préalable créer une image à l’aide d’un fichier de configuration Dockerfile

:small_blue_diamond: Le fichier Dockerfile ne possède pas d’extension

Voici le contenu du fichier Dockerfile

FROM debian:stretch

ENV account_name=blea
ENV account_password=jeedom
ENV ssh_port=9025
ENV timezone=Europe/Paris

# Applicatifs
RUN apt-get update && \
	apt-get install -y whois sudo openssh-server bluetooth bluez

# Utilisateurs
RUN	useradd -ms /bin/bash $account_name
RUN echo "$account_name:$account_password" | chpasswd 
RUN	usermod -aG sudo $account_name 
RUN	echo "$account_name ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

# SSH configuration
RUN sed -i -e "s/^Port .*/Port $ssh_port/g" /etc/ssh/sshd_config
RUN sed -i -e "s/^#Port .*/Port $ssh_port/g" /etc/ssh/sshd_config

# Date & time
RUN ln -snf /usr/share/zoneinfo/$timezone /etc/localtime && echo "$timezone" > /etc/timezone
RUN sudo dpkg-reconfigure -f noninteractive tzdata

ENTRYPOINT service ssh restart && bash

:small_orange_diamond: Lancer notepad++, faite un copier-coller du code et sauvegarder le fichier docker\antenne-blea\Dockerfile


------------------------------------------------------------------------------------
                    Création de l'image "blea_antenne-blea:latest"
------------------------------------------------------------------------------------

:small_orange_diamond: Lancer la commande cd /volume1/antenne-blea pour changer de répertoire

:small_orange_diamond: Lancer la commande docker build -t antenne-blea .

:small_blue_diamond: Votre image antenne-blea:latest est créé :+1:


------------------------------------------------------------------------------------
                         Création du conteneur "antenne-blea"
------------------------------------------------------------------------------------

:small_orange_diamond: Lancer la commande

sudo docker container run -itd --name antenne-blea --restart=always --net=host --pid=host --privileged antenne-blea:latest

:small_blue_diamond: Votre conteneur antenne-blea est créé :+1:


------------------------------------------------------------------------------------
                         Création de l'antenne dans le plugin
------------------------------------------------------------------------------------

:small_orange_diamond: Dans Gestion des antennes bluetooth, cliquer sur ajouter une antenne

:small_orange_diamond: Remplissez les champs

:warning: l’adresse IP à saisir est 192.168.1.241 Adresse IP du réseau macvlan et le port 9025 :warning:

user = blea
password = jeedom

:small_orange_diamond: Sauvegarder
:small_orange_diamond: cliquer sur Envoyer les fichiers
:small_orange_diamond: cliquer sur Lancer les dépendances

------------------------------------------------------------------------------------
                         Vérification de l'étape de l'installation
------------------------------------------------------------------------------------

:small_orange_diamond: Lancer la commande sudo docker exec -it antenne-blea /bin/bash pour se connecter a l’intérieur du contener antenne-blea

:small_orange_diamond: Lancer la commande hciconfig pour vérifier que votre clé est reconnue

image

:small_orange_diamond: Lancer la commande tail -f /tmp/blea_dependancy pour vérifier l’installation des dépendances

:small_blue_diamond: Vérifier que votre antenne est Ok

1 « J'aime »
------------------------------------------------------------------------------------
                 Comment augmenter la portée du Bluetooth 
------------------------------------------------------------------------------------

Installer une clé SENA Dongle USB Bluetooth longue portée UD100-G03

et une antenne
https://www.amazon.fr/gp/product/B07PJ6HYWT/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1

------------------------------------------------------------------------------------
               Script de démarrage Routage de l'adresse IP 
------------------------------------------------------------------------------------

Télécharger le fichier en pièce jointe
creation-routage-macvlan.txt (299 Octets)
Copier le dans le répertoire \docker\jeedom-macvlan
Renommer son extension de .txt en .sh

Dans DSM :
Ouvrir Panneau de configuration / Planificateur de tâches
Créer
image

Saisissez le nom de la tache
image

Saisissez le code du script à exécuter

bash /volume1/docker/jeedom-macvlan/creation-routage-macvlan.sh

image