[Tuto] Une boxe 3G/4G pour Domoticz

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

[Tuto] Une boxe 3G/4G pour Domoticz

Message par Jihem »

Conçue au départ pour assurer la relève d'une connexion internet souvent défaillante, ce montage peut être utilisé pour faire fonctionner Domoticz dans un lieu où l'on ne dispose par d'une connexion classique mais d'une réception GSM convenable; résidence secondaire, serre au fond du jardin.....
Attention Pour pouvoir y accéder à distance il est nécessaire de disposer d'une boxe adsl (ou fibre) située dans un autre lieu car il n'est pas possible d’accéder à un routeur GSM depuis l’extérieur; tout du moins avec un forfait de base.
Matériel
Un routeur WiFi 3G/4G: Il existe des routeurs qui disposent d'origine un emplacement de carte SIM et d'autres sur lesquels il est possible de brancher une clef 3G/4G. Pour ma part, j'ai choisi le 2eme solution car je possédais déjà un clef 4G (une clef 3G est suffisante car cela ne nécessite pas de gros débits).
https://www.amazon.fr/gp/product/B00634 ... UTF8&psc=1
https://www.amazon.fr/Huawei-E3372-LTE- ... ds=clef+4G

2 Raspberry: En 3G j’utilise un Pi3 sur lequel est installé Domoticz .
Pour l’accès à distance , un Pi zero connecté à une boxe classique et sur lequel sera installé (entre autre) un serveur Openvpn.

Le forfait tout dépend de l'usage que vous ferez de cette boxe. S'il s'agit juste de gérer Domoticz un forfait "low cost" avec 50 ou 100Mo de data fera l'affaire car les consommations sont très faibles (quelques centaines de Ko/jour) par contre pour une utilisation normale d'internet ou en cas de transfert d'images, un forfait plus musclé sera indispensable.

Utilisation
En local Il faut installer la carte SIM dans le routeur ou la clef et brancher le tout sur le secteur.
Personnellement, j'ai désactivé le code pin de la carte SIM depuis un téléphone, la connexion avec le réseau se fait automatiquement et le voyant de la clef passe au bleu.
Il faut ensuite depuis un pc se connecter au réseau WiFi (avec les codes fournis par défaut avec le routeur), changer (ou pas) le SSID et le mot de passe puis brancher le Raspberry.
Si vous n'avez pas de connexion Ethernet ou un écran-clavier pour accéder au Raspery, il faut prendre la carte SD du Pi, la brancher sur un pc et ajouter dans la partition "boot" un fichier "ssh" vide et un fichier wpa_supplicant.conf avec

Code : Tout sélectionner

country=fr
update_config=1
ctrl_interface=/var/run/wpa_supplicant

network={
 scan_ssid=1
 ssid="votre SSID"
 psk="votre mdp"
}
démarrer le Pi. normalement il connecte au réseau et vous pouvez accéder à la page web de Domoticz.

Accès à distance
L'accès à distance n'est pas possible en utilisant une connexion gsm, il va donc falloir créer un serveur VPN sur une boxe distante.
je me suis inspiré de ce tuto
https://electrotoile.eu/serveur_client_OpenVPN.php
qui explique bien le principe de fonctionnement du montage. Par contre j'ai utilisé le script PIVPN bien plus facile pour installer le serveur.
https://korben.info/pivpn-transformer-r ... envpn.html

Serveur VPN
J'utilise un Pi-ZéroW connecté sur la boxe de mon domicile sur lequel j'ai installé Openvpn-server
Il faut ensuite créer au moins 2 clients, client-pi3.ovpn et client2.ovpn avec la commande

Code : Tout sélectionner

pivpn add
Les 2 fichiers crées se trouvent dans le répertoire ovpns.

client-Pi3
Sur le Pi3 installer Openvpn et créer un répertoire vpn

Code : Tout sélectionner

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openvpn
sudo mkdir vpn
puis copier le fichier client-pi3.ovpn depuis le serveur Pi-zéro dans le répertoire vpn du pi3 avec winscp (sous windows)
Lancer ensuite le programme

Code : Tout sélectionner

sudo openvpn --config ~/vpn/client-pi3.ovpn
et si tout va bien l’initialisation s’exécute et se termine par

Code : Tout sélectionner

Mon Jan 28 17:57:48 2019 /sbin/ip addr add dev tun0 10.8.0.9/24 broadcast 10.8.0.255
Mon Jan 28 17:57:48 2019 /sbin/ip route add 109.16.xx.xx/32 via 192.168.0.1
Mon Jan 28 17:57:48 2019 /sbin/ip route add 0.0.0.0/1 via 10.8.0.1
Mon Jan 28 17:57:48 2019 /sbin/ip route add 128.0.0.0/1 via 10.8.0.1
Mon Jan 28 17:57:48 2019 Initialization Sequence Completed
où dans ce cas 10.8.0.9 est l'adresse du Pi3, 10.8.0.1 celle du pi-zéro et 109.16.xx.xx celle de la boxe distante.

Accès depuis un ordinateur distant
Sous Windows, il faut installer le programme OPENVPN
https://openvpn.net/community-downloads/
et sous MAC
https://tunnelblick.net/
Transférer ensuite client2.ovpn et lancer l'application.
On accède à Domoticz en tapant dans un navigateur:

Code : Tout sélectionner

http://10.8.0.X:portdmz
où 10.8.0.X est l'adresse du Pi3 relevée dans l'initialisation et portdmz le port de domoticz.

Accès depuis un smartphone
La procédure est similaire, installer l'app OpenVpn depuis l'AppStore ou Play Store.
Importer le fichier client2.ovpn en pièce jointe d'un mail dans l'application et lancer la connexion.
ouvrir le navigateur et taper l'adresse de Domoticz.

Pour que le système soit fiable, il est nécessaire de contrôler la connexion.
Pour cela, installer le script script_ping.sh:

Code : Tout sélectionner

#!/bin/bash
ping -c 3 "10.8.0.1" 
if [ $? != 0 ]
then
sudo killall openvpn
sudo nohup openvpn --config vpn/client2.ovpn &
fi
qui va faire un ping régulièrement sur le serveur et maintenir ainsi la connexion au réseau et relancer le programme si celui-ci plantait.
ouvrir le crontab de l'utilisateur et ajouter la ligne

Code : Tout sélectionner

* * * * * ~/script_ping.sh > /var/log/cron.log
.

Ce montage un peu "usine à gaz" fonctionne bien et permet l’accès à la domotique quand on de dispose pas d'une connexion filaire à internet. Une fois mis en place, on a un usage de Domoticz plus complet que les commandes par SMS avec Raspisms.
Le serveur VPN à domicile permet également de se connecter à sa domotique sans ouvrir de ports dans la boxe.
Hard:Raspberry Pi4 + SSD Arduino Tablette murale Archos
Soft: Domoticz WireGuard vpn Homebridge Tradfri Ikea
Devices:[/colore]Rfxtrx433 DI-O Chacon Sonoff touch Anémomètre, pluviometre, sondes Orégon, capteurs humidité Miflora, téléinfo
chris-le-chti
Messages : 130
Inscription : 28 sept. 2020, 21:24

Re: Une boxe 3G/4G pour Domoticz

Message par chris-le-chti »

merci je vais essayer ca sauf que moi je suis pas sous rasperry mais sur mini pc ubuntu ca devrait marcher aussi.
Pour le serveur VPN je vais peut etre mettre ca sur mon NAS en VM , le NAS est relié a ma freebox , ca devrait marcher.
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

Re: Une boxe 3G/4G pour Domoticz

Message par Jihem »

Bonjour
Maintenant il faut utiliser WireGuard comme vpn beaucoup plus.fiable et facile à mettre en œuvre.

https://korben.info/comment-installer-l ... ement.html

Le principe est toujours le même.
Ce montage fonctionne sans défaillance chez moi. Au niveau du client 4G il est nécessaire d’installer une routine qui vérifie que la liaison avec le serveur et la relance en cas de coupure.
Hard:Raspberry Pi4 + SSD Arduino Tablette murale Archos
Soft: Domoticz WireGuard vpn Homebridge Tradfri Ikea
Devices:[/colore]Rfxtrx433 DI-O Chacon Sonoff touch Anémomètre, pluviometre, sondes Orégon, capteurs humidité Miflora, téléinfo
chris-le-chti
Messages : 130
Inscription : 28 sept. 2020, 21:24

Re: Une boxe 3G/4G pour Domoticz

Message par chris-le-chti »

ah ok merci je vais regarder ca aussi Wiregaurd, le client est a installer sur le serveur Domoticz aussi j'imagine...
Si ca peut me faire gagner du temps tu peux m'en dire plus sur la routine qui vérifie la liaison avec le serveur en cas de coupure ?
chris-le-chti
Messages : 130
Inscription : 28 sept. 2020, 21:24

Re: Une boxe 3G/4G pour Domoticz

Message par chris-le-chti »

salut je me suis dis a la maison j'ai une freebox, qui fait server open vpn , je vais essayer de connecter ma machine domotics derriere le routeur 4G a ma Freebox. Bon pour l'instant j'ai pas encore trouvé j'ai une erreur de connexion mais j'y travaille.. ca reste une alternative sans avoir a installer une nouvelle VM ou poste. et si c'est un VPN routé j'y aurai acces depuis n'importe quel poste de mon réseau LAN comme si le serveur domoticz etait sur mon LAN (routé bien sur)
Je voulais votre avis la dessus.. est ce une bonne idée ?
chris-le-chti
Messages : 130
Inscription : 28 sept. 2020, 21:24

Re: Une boxe 3G/4G pour Domoticz

Message par chris-le-chti »

bon je n'arrive pas a connecter mon serveur Domoticz sous Ubuntu derriere routeur 4G sur le VPN server de ma Freebox en tout cas.. et les logs ne sont pas parlant. je vais essayer avec un client VPN pour Windows pour voir.
chris-le-chti
Messages : 130
Inscription : 28 sept. 2020, 21:24

Re: Une boxe 3G/4G pour Domoticz

Message par chris-le-chti »

Bonsoir juste pour vous confirmer que ca fonctionne avec l open vpn routé de la freebox, j'ai pu m'y connecter avec mon Ubuntu domoticz (derriere le router 4g), donc ca c'est fait et j'ai automatisé pour que ca monte automatiquement apres reboot du serveur domotticz. Par contre je n'ai plus du tout acces a mon réseau local. Il faut peut etre rajouter des routes une fois le vpn ouvert.
Répondre