Antenne BLEA, MotionEYE et Pi-hole sur un Raspberry Pi 2

Afin de pouvoir mettre en place la gestion de présence, il va falloir créer un réseau d’antennes Bluetooth pour couvrir la maison. J’ai prévu pour cela de créer une antenne dans le garage pour couvrir le garage et le devant de la maison. Une antenne ne monopolisant que très peu de ressources processeur/mémoire, je vais aussi l’utiliser pour recycler une vielle webcam Logitech C200 (480p) avec MotionEYE. Cela me permettra d’imaginer des scenarios de sécurisation du garage. Je vais aussi y ajouter un serveur Pi-hole secondaire à mon installation en cas de coupure du serveur primaire.

Pré-requis matériel

Pré-requis logiciel

Installation et configuration du Raspberry Pi

Rien de plus simple avec le logiciel de la fondation Raspberry Pi qui vous permettra de formater votre carte mémoire et de pré-configurer l’ensemble des paramètres de Pi OS.

Télécharger Raspberry Pi Imager : ici

Une fois télécharger et installer, vous pourrez formater votre carte microSD avec Pi OS Lite.

Afin de permettre d’utiliser son Raspberry Pi dès le premier démarrage, l’outil permet de configurer Pi OS en ouvrant les « options avancées » avec la commande « ctrl + maj + X ». Vous pourrez donner l’hostname de votre choix, activer SSH avec un mot de passe fort (voir l’article de NextINpact sur le sujet), configurer le réseau wifi, etc. Il n’y a qu’à parcourir les options possibles.

Une fois allumé et connecté au réseau on peut se connecter sur le Raspberry Pi en SSH avec le login « pi » et le mot de passe défini lors de la création de la carte SD.

Une fois connecté on met à jour l’OS :

sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get full-upgrade -y

Dans le cas ou vous voudriez modifier d’autres paramètres de Pi OS (GPIO, écran, OC, etc), il vous suffira de le faire au travers de la commande suivantes.

sudo raspi-config

Une fois le Raspberry Pi mis à jour et finement configuré ; un petit reboot.

sudo reboot

Votre Pi est prêt à être à recevoir ces multiples services.

Création de l’antenne BLEA

Pour commencer, on connecte un dongle USB Bluetooth (j’ai utilisé ce modèle TP-Link UB400). N’ayant pas une grande maison et pouvant créer un réseau d’antennes assez facilement je n’ai pas besoin d’une clef avec une grande portée. Si vous avez besoin d’une grande portée, beaucoup recommande cette clef Sena UD100-G03 qui peut accueillir une antenne plus performante au besoin.Il suffira ensuite de se rendre sous Jeedom dans le plugin « Bluetooth Advertisement » qui aura été préalablement installé et de cliquer sur « Antennes ».

Il faudra renseigner les champs suivants :
– Nom : Pour identifier l’antenne au sein du plugin BLEA
– IP / Port / User / Password : Pour permettre au plugin de se connecter au Raspberry Pi en SSH et installer tout se qui est nécessaire à la création de l’antenne.
– Devise : pour identifier le dongle Bluetooth (laisser hci0).
Une fois ces éléments complété, il faudra « Envoyer les fichiers » et attendre le retour de commande nous informant que l’envoi est terminé. Puis il faudra « Lancer les dépendances » pour installer l’antenne BLEA. Vous pourrez suivre l’avancé de l’installation avec les « Log dépendances » que vous pourrez consulter dans l’onglet « Configuration » du plugin.

Une fois que l’installation est terminée, l’antenne est opérationnelle.

Si tout c’est bien passé, votre antenne a un petit cœur vert avec le

Installation de Pi-hole

Rien de plus simple : Il suffit d’exécuter ces lignes de commandes

wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh

Il suffira par la suite de suivre le processus d’installation :

Utilisez Quad9 qui est selon moi le meilleur résolveur (voir l’article de Next Inpact à ce sujet)
Activer le serveur DNS en IPv4 et IPv6 car sur la Freebox Delta, une partie du routage local est réalisé en IPv6 sans que l’on sache vraiment pourquoi… :-/
Cela permettra de modifier la configuration du Pi-Hole via une interface graphique.
Oui, oui et Oui, sauf si vous voulez vous compliquer la vie !
Je désactive les logs pour ne pas user la carte SD du Raspberry Pi prématurément.
Idem que pour les logs, mais aussi surtout car la vie privée est importante. Même sur des serveurs maisons. :-$

Veillez à noter le mot de passe transmis à la fin de l’installation

Votre Pi-hole est installé et « configuré » (un second article sur Pi-hole sera consacré à la configuration plus poussée de ce dernier) ! Vous pouvez donc y accéder avec votre navigateur à l’adresse indiqué lors de l’installation. Dans mon cas :

http://192.168.0.1/admin

La seule chose qui vous reste à faire est de faire pointer l’intégralité des requêtes DNS de votre réseau sur votre Pi-hole. Il vous suffira de vous connecter à votre interface administrateur de votre routeur et de modifier l’IP du serveur DNS de votre serveur DHCP :

https://mafreebox.freebox.fr

Je ne sais pas pour quelle raison, même si le DHCP v6 est désactivé sur la Freebox, une partie du trafic est malgré tout routé en IPv6 (si quelqu’un à l’explication, je suis preneur). Il faudra donc aussi modifier le serveur DNS du DHCP IPv6.

Une fois connecté avec votre mot de passe admin de votre Freebox, allez dans les paramètres :

Accès aux paramètres de la Freebox pour modifier le serveur DNS du serveur DHCP v4 et v6
Remplacement du serveur DNS 1 par l’IPv4 du serveur Pi-hole.
Remplacement du serveur DNS primaire par l’IPv6 du serveur Pi-hole.

Maintenant, toutes vos requêtes IPv4 et IPv6 passent par votre Pi-hole !

Installation de MotionEYE

Pour installer MotionEYE, il suffit d’exécuter l’ensemble de ces lignes de commande via SSH.

sudo apt-get install ffmpeg libmariadb3 libpq5 libmicrohttpd12
wget https://github.com/Motion-Project/motion/releases/download/release-4.2.2/pi_buster_motion_4.2.2-1_armhf.deb
sudo dpkg -i pi_buster_motion_4.2.2-1_armhf.deb
sudo apt-get install python-pip python-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libz-dev
sudo pip install motioneye
sudo mkdir -p /etc/motioneye
sudo cp /usr/local/share/motioneye/extra/motioneye.conf.sample /etc/motioneye/motioneye.conf
sudo mkdir -p /var/lib/motioneye
sudo cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local /etc/systemd/system/motioneye.service
sudo systemctl daemon-reload
sudo systemctl enable motioneye
sudo systemctl start motioneye

Une fois MotionEYE démarré vous pourrez vous connecter sur l’interface web :

http://192.168.0.1:8765/

Le login d’accès par défaut est « admin » sans aucun mot de passe. Il faut donc absolument commencer par créer un mot de passe. On va aussi en profiter pour créer un second accès de « surveillance » pour Jeedom.

Comme d’habitude, on prévois un mot de passe fort, même si tout ceci n’est qu’en local.

Une fois les mots de passe créés, nous pouvons créer la caméra réseau

Mon type de camera est une UVC Camera (USB video device class).
Il ne reste plus qu’à renommer et configurer votre caméra

Afin de pouvoir récupérer le flux de la camera IP sur Jeedom on récupère la « Streaming URL »

Il ne reste plus qu’à ajouter la camera dans le plugin Jeedom en renseignant les champs de login/mot de passe et URL de la camera.

Voilà comment transformer un vieux Raspberry Pi 2 en caméra IP, bloqueur de pub et comme antenne Bluetooth pour Jeedom.