Déployer une passerelle LoRaWAN pour The Things Network

Technique de avatarCédric Goby | Categories : Electronics, Energy, Food & Agriculture, Science & Biology, Transport & Mobility

Installation et déploiement d'une passerelle LoRAWAN pour The Things Network à base du Kit LoRaWAN SeeedStudio avec Raspberry Pi 3

License : Attribution (CC BY)

Introduction

The Things Network est un réseau communautaire et open source mondial pour l'Internet des objets utilisant la technologie LoRa. Il est possible d'utiliser librement ce réseau mais il est aussi possible d'aider à étendre le réseau en déployant des passerelles.

Dans ce tuto nous allons voir comment assembler et déployer une passerelle LoRaWAN sur The Things Network à partir du Kit LoRaWAN Seeed avec Raspberry Pi 3.

On peut par exemple trouver ce kit ici : https://www.gotronic.fr/art-kit-lorawan-avec-raspberry-pi-3-110060622-27141.htm

  • Prerequisites tutorials

Materials

Le contenu du Kit :

  • 1 Raspberry Pi 3
  • 1 pont PRI 2 RHF4T002
  • 1 module passerelle RHF0M301
  • 1 carte microSD 16 Go
  • 1 cordon USB-microUSB20 cm
  • 1 antenne 868 MHz
  • 1 alimentation microUSB 5 Vcc/2,5 A
  • 1 cordon RJ45 20 cm
  • 1 module Seeeduino LoRaWAN avec GPS (cette carte compatible Arduino sert pour faire des tests avec la passerelle. Nous n'en parlerons pas dans ce tuto)
  • 1 cordon convertisseur USB-série
  • 1 cordon JST 10 cm

Pour utiliser le Raspberry Pi 3:

  • 1 clavier
  • 1 câble HDMI
  • 1 écran HDMI

Pour installer et utiliser la passerelle:

  • 1 accès à Internet par RJ45 ou Wi-Fi

Tools

Step 1 - Téléchargement de Raspbian

Pour pouvoir utiliser le Raspberry Pi il faut au préalable écrire l'image Raspbian sur la carte SD. Mais ce n'est pas l'objet de ce tuto...

Pour la version choisissez de télécharger "RASPBIAN" sur cette page : https://www.raspberrypi.org/downloads/

Cette version de Rapsbian ne possède pas d'interface graphique mais nous n'en aurons pas besoin.



Step 2 - Assemblage du kit et démarrage

  • Clipper le pont PRI 2 RHF4T002 sur le Raspberry Pi 3
  • Clipper le module passerelle RHF0M301 sur le pont PRI 2 RHF4T002
  • Poser les vis
  • Utiliser le cordon USB-microUSB20 pour connecter le Raspberry Pi 3 au pont PRI 2 RHF4T002
  • Insérer la carte SD dans le Raspberry Pi 3
  • Connecter le clavier, la souris, l'écran et le réseau avec le cordon RJ45 20 cm
  • Connecter l'alimentation microUSB 5 Vcc/2,5 A pour démarrer le Raspberry Pi 3
...L'alimentation microUSB 5 Vcc/2,5 A du Raspberry Pi 3 se raccorde sur le pont PRI 2 RHF4T002



Step 3 - Activer SPI sur le Rapsberry Pi 3

Pour mémoire la version de Raspbian que nous avons installé sur la carte SD ne possède pas d'interface graphique.

Toutes les étapes d'installation sur le Raspberry Pi 3 seront donc effectuées en ligne de commande.

Une fois la session ouverte sur le Raspberry Pi 3 nous allons activer SPI pour le module passerelle RHF0M301.

Pour cela nous allons lancer l'outil de configuration du Raspberry Pi 3 avec la commande

sudo raspi-config

Le menu principal raspi-config apparaît. Pour se déplacer dans les options on utilise les flèches haut et bas. Pour sélectionner une option on utilise la touche "entrée". Pour sélectionner une action c'est la touche "tabulation".

  • Sélectionnez "8 Advanced Options"
  • Sélectionnez "A6 SPI"
  • Sur l'écran suivant "Would you like the SPI interface to be enabled?" sélectionnez <oui> puis appuyez sur la touche "entrée".
  • Sur l'écran suivant "The SPI interface will be enabled after a reboot" appuyez sur la touche "entrée"
  • Sur l'écran suivant "Would you like the SPI kernel module to be loaded by default?" sélectionnez <oui> puis appuyez sur la touche "entrée".
  • Sur l'écran suivant "the kernel module will now be loaded by default" appuyez sur la touche "entrée"
  • De retour sur le menu principal raspi-config sélectionnez "finish" et appuyez sur la touche "entrée".
  • Sur l'écran suivant "Would you like to reboot now?" sélectionnez <oui> puis appuyez sur la touche "entrée".

Le Raspberry Pi 3 redémarre...



Step 4 - Installation et démarrage de la passerelle

Une fois la session ouverte sur le Raspberry Pi 3 nous allons installer le programme "ttn-gateway"

Au préalable il faut faire les mises à jour et installer git sur le Rapberry Pi 3

sudo apt-get update && sudo apt-get upgrade && sudo apt-get install git -y

Ensuite on récupère le programme d'installation de la passerelle sur Github

git clone https://github.com/ttn-zh/ic880a-gateway.git

On se rend dans le répertoire du programme d'installation nouvellement créé par la commande précédente et on lance l'installation

 cd ic880a-gateway
sudo ./install.sh spi

Le programme d'installation de la passerelle génère l'EUI (identifiant unique de la passerelle).

Gateway configuration:
Detected EUI B827EBFFFE163F32 from eth0
...Il faut noter l'EUI de la passerelle. Nous en aurons besoin plus tard pour enregistrer la passerelle sur The Things Network.

A la question suivante on accepte le choix par défaut (N) en appuyant simplement sur "entrée".

Do you want to use remote settings file? [y/N]

La ligne suivante permet de changer le nom par défaut de la passerelle (ttn-gateway) sur le réseau local.

Host name [ttn-gateway]:ma-passerelle

La ligne suivante permet de donner une description de notre passerelle

Descriptive name [ttn-ic880a]:Passerelle LoRa du labo

Enfin on peut renseigner une adresse email de contact et la localisation de la passerelle

Contact email: moi@monlabo.fr
Latitude [0]: 42.619646 
Longitude [0]: 4.857127
Altitude [0]: 40

A la fin de l'installation le Raspberry Pi 3 doit être redémarré.

Après ce redémarrage et avec le module Seeed/RisingHF le service ne sera pas lancé, car le script utilise par défaut une mauvaise broche pour réinitialiser le module LoRaWAN.

Pour corriger ce problème et permettre à la passerelle de se lancer normalement à chaque démarrage du Raspberry Pi 3 il faut modifier le fichier /opt/ttn-gateway/bin/start.sh

nano /opt/ttn-gateway/bin/start.sh

Changer la ligne

SX1301_RESET_BCM_PIN=25

en

SX1301_RESET_BCM_PIN=7

On peut ensuite démarrer la passerelle

sudo systemctl restart ttn-gateway.service

Et vérifier que la passerelle est démarrée

systemctl status ttn-gateway.service
ttn-gateway.service - The Things Network Gateway
Loaded: loaded (/lib/systemd/system/ttn-gateway.service; enabled; vendor preset: enabled)
Active: active (running)

La passerelle est désormais fonctionnelle.



Step 5 - Enregistrer la passerelle sur The Things Network

Pour enregistrer votre passerelle sur The Things Network vous devez vous identifier sur le site https://account.thethingsnetwork.org/users/login

  • Rendez-vous sur votre console et cliquez sur "GATEWAYS"
  • Sur la page "GATEWAYS" cliquez sur "register gateway"

Complétez le formulaire sur la page "REGISTER GATEWAY" comme suit

  • Gateway ID : Il faut entrer l'EUI (identifiant unique de la passerelle) généré lors de l'installation
  • I'm using the legacy packet forwarder : Coché
  • Description : Une description de votre passerelle
  • Frequency plan : Sélectionnez "Europe 868MHz"
  • Router : Sélectionnez "ttn-router-eu"
  • Location ; Renseignez la latitude et la longitude de votre passerelle ou positionnez-la sur la carte
  • Antenna placement : Indiquez si votre antenne est à l'intérieur (indoor) ou à l'extérieur (outdoor)

Votre passerelle fait désormais partie du réseau LoRaWAN The Things Network et peut communiquer avec les objets connectés à portée !

...Après avoir déclaré votre passerelle il peut se passer plusieurs jours avant qu'elle n'apparaisse sur la carte publique du site The Things Network. Soyez patient.e ;-)

Comments

Published