“Hello world!” : Se connecter au réseau LoRaWAN et envoyer son premier message avec Wavebricks

À l’issue de ce tutoriel, vous serez capables de:

  • vous connecter au Réseau IoT Expérimental de l’Eurométropole de Strasbourg en ABP ou OTAA
  • envoyer un message binaire
  • récupérer le dernier message envoyer par votre dispositif

Se connecter au réseau

La connexion au réseau peut se faire de deux manières : soit ABP soit OTAA.

ABP (activation by personalization)

Pour configurer mon dispositif en ABP, je vais dans l’interface Wavebricks et je déclenche l’enregistrement d’un nouveau dispositif. Je reçois alors trois éléments :

  • l’adresse de dispositif (device address, qu’on abrège généralement en DevAddr),
  • la clef de session de réseau (network session key, NetSKey),
  • la clef de session d’application (application session key, AppSKey).

Dans le code de mon dispositif, j’insère une activation by personalization (ABP) qui emploit DevAddr, NetSKey et AppSKey :

LoRaWAN.dev_addr = '680b286b'
LoRAWAN.app_session_key = '5f578d3ef40805ac45b345edefe5aef1'
LoRAWAN.net_session_key = '198a9e1defe60804310b93067ae7b50c'

LoRaWAN.connect()

OTAA (over the air activation)

Pour configurer mon dispositif en OTAA, je vais dans l’interface Wavebricks et je déclenche la préparation d’une OTAA </refwavebricks/otaa>`. Je renseigne :

  • l’identifiant unique d’application (application Extended Unique Identifier, AppEUI),
  • la clef d’application de l’appareil (application key, AppKey).

Dans le code de mon dispositif, j’insère une over the air activation (OTAA) qui emploit AppEUI et AppKey :

LoRaWAN.app_eui = '5F4170704555495F'
LoRAWAN.app_key = '5F4170706C69636174696F6E4B65795F'

LoRaWAN.connect(timeout=10)

Émettre un message binaire

Pour pouvoir émettre, il me suffit de donner le message à envoyer:.

send("Hello world!")

Consulter le message

Une fois le message envoyé, on peut se rendre sur l’interface Wavebricks et, dans la page du dispositif, consulter le contenu du dernier message envoyé est disponible.

Code complet (OTAA)

import wavebricks

LoRaWAN.app_eui = '5F4170704555495F'
LoRAWAN.app_key = '5F4170706C69636174696F6E4B65795F'

LoRaWAN.connect(timeout=10)
send("Hello world!")

Code complet (ABP)

import wavebricks

LoRaWAN.dev_addr = '680b286b'
LoRAWAN.app_session_key = '5f578d3ef40805ac45b345edefe5aef1'
LoRAWAN.net_session_key = '198a9e1defe60804310b93067ae7b50c'

LoRaWAN.connect()
send("Hello world!")