[Tuto] Une boxe 3G/4G pour Domoticz
Publié : 28 janv. 2019, 20:13
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 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 commandeLes 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
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 programmeet si tout va bien l’initialisation s’exécute et se termine par 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:
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:
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.
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.
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"
}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 addclient-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 vpnLancer ensuite le programme
Code : Tout sélectionner
sudo openvpn --config ~/vpn/client-pi3.ovpnCode : 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
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:portdmzAccè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
ouvrir le crontab de l'utilisateur et ajouter la ligne
Code : Tout sélectionner
* * * * * ~/script_ping.sh > /var/log/cron.logCe 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.