Dans cet article, je vais vous montrer comment faire pour que deux Raspberry puissent établir un connexion sur un serveur distant via le premier Pi et comment créer sa passerelle LoRaWAN avec deux Raspberry Pi3.
Dans cet article, je vais prendre deux Raspberry Pi3 avec Rasbain Buster du 20-08.2020
- Sur le premier, je vais installer un chapeau sixfab 4G https://sixfab.com/product/raspberry-pi-base-hat-3g-4g-lte-minipcie-cards/ avec son module quectel https://sixfab.com/product/quectel-ec25-mini-pcle-4glte-module/ qui permettra à ce premeir raspberry de se connecter à internet. En partageant le port eth0, le deuxième Raspbbery pourra aussi se connecter à un serveur distant via le premier.
- Sur le deuxième Raspbbery, je vais installer un chapeau (HAT) LoRaWAN de pi-supply https://uk.pi-supply.com/products/iot-lora-gateway-hat-for-raspberry-pi?lang=fr. En le connectant avec un câble Ethernet sur le premier, vous réaliserez une passerelle LoRaWAN
Matériel
- Deux Raspberry Pi3
- IoT LoRa Gateway de chez pi-supply
- Nebra IP67 weatherproof
- Glass fiber LoRa antenna
- 2x N-Type connector (UFL/IPEX)
- DELOCK N-Type SMA Adapter
- Une antenne GSM
- Raspberry Pi 3G/4G & LTE Base HAT
- Quectel EC25 Mini PCle 4G/LTE Module
- Power supply 5V/2A (MicroUSB)
- 2 fils femelle-femelle
- un câble ethernet
Premier Raspberry / routeur 4G
Installation du Router 4G
Vous allez devoir préparer votre Raspberry qui fera office de router 4G et offrira une connexion internet au deuxième Raspberry, connecté à son port Ethernet (eth0). Pour cela suivez cet article ci-dessous et arrêtez-vous avant le chapitre Configurer votre Raspberry en un WiFi hotspot. (J’expliquerai plus bas, pourquoi je n’utilise plus RaspAP)
N’oubliez pas aussi de bien configurer le fichier
/etc/wpa_suppliant/wpa_suppliant.conf
avec le SSID et le PSK du routeur de votre domicile. Il vous permettra de vous connecter en ssh, plus tard.
Partage du port eth0
Une fois fait, vous allez devoir faire encore ces étapes pour partager le port Ethernet (eth0) afin qu’il puisse attribuer une adresse IP au second Raspberry et pour que ce dernier puisse accéder à Internet via le premier
Installation de dnsmasq
sudo apt install dnsmasq
Activation de ip_forward
Editer le fichier
sudo nano /etc/sysctl.conf
et dé-commenter la ligne
net.ipv4.ip_forward=1
Pour contrôler si ip_forward est bien activé, cette commande doit retourner ‘1’
cat /proc/sys/net/ipv4/ip_forward
Activer le routing et IP masquerading
sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptables-persistent sudo iptables -t nat -A POSTROUTING -j MASQUERADE sudo cp /etc/iptables/rules.v4 /etc/iptables/rules.v4.orig # Now save the current firewall rules for IPv4 (including the rule above) and IPv6 to be loaded at boot by # the netfilter-persistent service: sudo iptables-save | sudo tee /etc/iptables/rules.v4
Editer le fichier
sudo nano /etc/dhcpcd.conf
et ajouter les lignes
# Cette ligne est très importante pour que l'adresse IP de wwan0 ne soit fournie # que par votre fournisseur de votre carte SIM denyinterfaces wwan0 interface eth0 static ip_address=10.3.142.1/24 static routers=10.3.142.1 static domain_name_server=1.1.1.1 8.8.8.8
Pour terminer, éditer le fichier
sudo nano /etc/dnsmasq.conf
et ajouter ces lignes
interface=eth0 listen-address=10.3.142.1 # Bind to the interface to make sure we aren't sending things elsewhere #### bind-interfaces #### BUT don't enable this. server=8.8.8.8 # Forward DNS requests to Google DNS domain-needed # Don't forward short names # Never forward addresses in the non-routed address spaces. bogus-priv # Assign IP addresses between 10.3.142.2 and 10.3.142.5 with a # 12 hour lease time dhcp-range=10.3.142.2,10.3.142.5,12h
Dès à présent, vous pouvez connecter un autre Raspberry au port Ethernet à votre installation. Une adresse IP entre 10.3.142.2 et 10.3.142.5 lui sera attribuée.
Pourquoi je n’utilise plus RaspAP
RasAp est un utilitaire très bien. Il vous permettra de transformer votre Raspberry en un WiFi Hotspot, comme je l’indique dans cet article. Cependant, j’ai constaté que le Hotpot n’était pas stable ce qui rendait l’accès en ssh difficile. En plus de cela, si vous modifiez les paramètres de RaspAP via son interface, tel que le Hotspot, la configuration du fichier /etc/ dhcpcd.conf était écrasée, ce qui supprimait aussi la ligne
denyinterfaces wwan0
J’ai aussi constaté que de temps en temps, lors du boot du premier Pi, aucune adresse IP n’était fournir à eth0.
Il est fort probable que ce problème pouvait être résolu d’une manière ou d’une autre. Mais dans le cadre de cet article, soit de la réalisation d’une passerelle LoRaWAN, il est absolument nécessaire que ces paramètres soient conservés et qu’une connexion WiFi soit stable pour accéder au Pi en ssh via wlan0.
Finalement une version simplifiée, sans RaspAP, tel que je la présente, est largement suffisante pour une passerelle LoRaWAN, et fonctionne à merveille.
Deuxième Raspberry / LoRaWAN Gateway
Vous devez suivre cet article
Aussi, n’oubliez pas de bien configurer le fichier
/etc/wpa_suppliant/wpa_suppliant.conf
avec le SSID et le PSK du routeur de votre domicile. Il vous permettra de vous connecter en ssh, plus tard.
Une fois fait, éditer le fichier
sudo nano /opt/iotloragateway/iot-lora-gateway-reset.sh
et commenter la ligne 4
#php -f /var/www/iotloragateway/html/updatePacketfwd.php
Contrôle
Pour contrôler si votre passerelle arrive à se connecter au server TTN, lancer cette commande
sudo systemctl status iot-lora-gateway.service
vous devriez voir ceci
INFO: [TTN] send status success for bridge.eu.thethings.network
Si vous voyez
INFO: Enabling GPS mode for concentrator's counter
c’est que le module est toujours en cours d’initialisation. Attendez et revérifier.
Vous pouvez encore redémarrer le service
sudo systemctl restart iot-lora-gateway.service # ou sudo systemctl stop iot-lora-gateway.service sudo systemctl start iot-lora-gateway.service
Cette commande peut aussi s’avérer utile
journalctl -u iot-lora-gateway.service --no-pager -n 3000
Alimentation des Raspberry
Alimenter votre premier Raspberry avec l’alimentation 5V/2A. Attention il vous faut une alimentation de 2A minimum.
Pour alimenter le deuxième, vous allez le faire avec les deux fils femelle-femelle.
Relier les broches 4 (5V) et les broches 6 (GND). Ce sont la 2ème et 3ème broches, en haut à gauche. Si vous n’êtes pas sûre, vous trouverez facilement ces informations en faisant une recherche sur google.
Bravo!
Vous avez installé et configuré votre passerelle LoRaWAN. Il ne vous reste plus qu’à la mettre dans un boîtier étanche avec une belle antenne.
N’hésitez pas à me faire part de vos commentaires et expériences afin de corriger et améliorer cet article
Soutenez-nous!
Si vous avez aimé cet article, faîtes un don de quelques Euro pour le financement de mes projets et du matériel.