The Things Network

Implémentation d’un gateway public dans le réseau ThethingsNetwork (TTN)

Matériel:

Rien de bien extraordinaire:

  1. Raspberry Pi 2 B

  2. Lora Hat ce Hat permet de connecter un module gateway LoRa/GPS e-pci via l’interface SPI du GPIO.

Le module LoRa SX1303 a une puissance de 26dBm (400mW) et une sensibilité de -141 dBm, il permet en outre la démodulation de 8 canaux.

Le Gateway va permettre d’interfacer des modules LoRa a un serveur internet qui publiera les information fournies par les module.

Schéma

Le réseau Thethingsnetwork est une réseau collaboratif dans toute l’europe, malheureusement son déployement en Wallonie est loin derrière la Flandre, les Pays-Bas, le Luxembourg et l’Allemagne mon but étant d’aider à la difusion d’une alternative à Proximus et son réseau professionnel.

Gateway

Le Gateway Assemblé

Les informations sur le module se trouve sur le Wiki Waveshare Le logiciel est disponible sur github

L’installation est décrite dans le wiki waveshare, attention à configurer correctement le logiciel (ports du serveur sur 1700 et non 1730 dans la configuration de github).

Le Gateway ID est fournit par Thethingsnetwork lors de l’inscription du nouveau Gateway.

Test du LilyGo TTGO LoRa32-OLED

Configuration du module sur ThethingsNetwork

Comme expliqué dans le document ci-dessus, à l’aide de la console thethingsnetwork, il nous faut définir une application et y définir un device.

On obtient alors Les identifiants du device ainsi créé. Ceux-ci devront alors être hardcoded dans le device.

Compilation du code

Le LoRa board doit impérativemnt être bien défini, dans mon cas:

Selectionner mac type 1.01 -> mettre la APP_KEY dans NWK_KEY du code ESP32, la APP_KEY n’étant pas utilisée.

Compiler et upload:

Ensuite sur la console de l’IDE:

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 188777542, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:4688
load:0x40078000,len:15516
load:0x40080400,len:4
load:0x40080404,len:3196
entry 0x400805a4

Setup ... 
Initialise the radio
Join ('login') the LoRaWAN Network
Join failed - RADIOLIB_ERR_NO_JOIN_ACCEPT (-1116)

Setup ... 
Initialise the radio
Join ('login') the LoRaWAN Network
Ready!

Sending uplink
Received a downlink
Next uplink in 300 seconds

Succès !

Reset du ESP et de nouveau perte de la connexion … CRC, NO Join - un reset used DevNonces n’arrange rien.

-> reload firmware avec un erase all flash et clear used DevNonces -> OK le device peut de nouveau faire son login.

TTN console messages

Essais de confirguration du T3-S3, pas très posititfs, j’en profite pour essayer la version 1.1 TTN sans succès.

Après recherches il s’avert que la librarie Expressif n’est pas compatble avec la version 1.1 il faut donc utiliser Radiolib-persistence , de fçon a incrémenter un ID à chaque reconnexion, ce que ne fait pas RadioLib.

Implémentation du nonces flash store, pour permettre l’identificaiton en sortie de deep sleep ou après un restart, ça n’a pas l’aire de fonctionner très bien -> utilisation du reset des nonces sur la console TTN (device settings/join settings/reset used nonces)