Aujourd'hui nous allons apprendre à exploiter la technologie LoRa grâce au Chistera-Pi !
- Présentation du réseau LoRa
LoRa, c'est une technologie radio développée en France, permettant d'émettre et recevoir des messages à 868 MHz. Son nom vient de l'anglais "Long Range" signifiant "longue portée", car la technologie employée permet d'émettre sur 2 à 15 km. Elle est également basse consommation, bidirectionnelle, et permet de sécuriser les données. Tous ces avantages en font une technologie idéale pour faire de l'IoT ("Internet of Things", Internet des Objets).
LoRaWAN, c'est une architecture réseau associée à la technologie LoRa, habituellement pour mettre en œuvre des topologies en étoile où des passerelles (gateways) relayent les messages entre les dispositifs terminaux et le serveur central. Cette gateway est un élément supplémentaire qui devra soit être acheté chez un opérateur LoRa, soit être fabriqué avec un Chistera-Pi [tutoriel à venir].
Lequel choisir ?
- LoRa : si vous voulez bidouiller de l'IoT pour le fun, sans vous prendre la tête avec des questions de sécurité.
- LoRaWAN : si vous voulez vous connecter à un opérateur, ou si vous traitez des données sensibles.
À lire (en anglais) : Présentation de LoRaWAN sur le site de l'Alliance LoRa
- Matériel
- Raspberry Pi
- Chistera-Pi
Librairie LoRa que l'on utilisera dans ce tutoriel.
Librairie LoRaWAN pour des usages plus avancés [tutoriel à venir]
- Montage
Il suffit d'empiler le Chistera-Pi sur le Raspberry Pi. Attention en revanche aux antennes ! Prévues pour des fréquences différentes, il faut les mettre au bon endroit :
- L'antenne 433 MHz sur le connecteur ANT1, à côté du transceiver RFM22
- L'antenne 868 MHz sur le connecteur ANT2, à côté du transceiver RFM95
- Mise en œuvre
Pour tester votre Chistera-Pi, il vous faut un Raspberry Pi avec une distribution fonctionnelle dessus. Je vous invite à visiter le tutoriel officiel pour cette partie, nous allons nous concentrer ici sur la partie LoRa.
Note : cette procédure a été testée sur Debian Jessie Lite et devrait donc fonctionner sur des distributions plus complètes.
- Mettre à jour le système et installer la librairie nécessaire :
- Code: Tout sélectionner
$ sudo apt-get update
$ sudo apt-get install wiringpi
- Activer le SPI :
- Code: Tout sélectionner
$ sudo raspi-config
Dans la fenêtre qui s'ouvre, cliquer sur 9 - Advanced Options puis sur A5 - SPI, et enfin sur <Yes>.
- Récupérer les sources nécessaires sur Github.
- Aller dans le dossier de téléchargement :
- Code: Tout sélectionner
$ cd <nom_du_dossier>
- Sélectionner l'exemple qui vous convient :
- sender.cpp côté émission : le programme émetteur envoie un message LoRa toutes les 3 secondes, celui-ci est constitué de deux octets : le premier contient l'adresse de l'émetteur, le second un compteur qui s'incrémente à chaque nouveau message.
- receiver.cpp côté réception : le programme récepteur affiche sur la console tous les messages reçus ainsi que leurs expéditeurs : utilisé en combinaison avec le précédent il permet de surveiller le compteur de l'émetteur et donc de s'assurer qu'aucun message ne s'est perdu en cours de route.
- Copier le code d'exemple à l'endroit où il sera utile :
- Code: Tout sélectionner
$ cp examples/<nom_de_l_exemple> src/main.cpp
- Compiler le tout :
- Code: Tout sélectionner
$ make
Si l'erreur suivante s'affiche : "Unable to open SPI device : No such file or directory", le SPI est mal configuré, recommencez l'étape correspondante avant de relancer la compilation.
- Lancer l'exemple :
- Code: Tout sélectionner
$ sudo ./chisterapi
Note : Pratique si vous en avez plus de 2, vous pouvez repérer vos Chistera-Pi grâce à un identifiant, un nombre compris entre 0 et 255. Celui-ci est par défaut fixé à 10, mais vous pouvez le modifier en ajoutant un argument à la commande précédente. Si par exemple vous voulez le fixer à 42, il vous faudra taper :- Code: Tout sélectionner
$ sudo ./chisterapi 42
- Votre dispositif LoRa est opérationnel ! Vous pouvez surveiller sur la console l'émission des messages LoRa grâce à la mention "Sent!" qui apparaît à chaque répétition, et la bonne réception lorsque s'affichent les identifiants des émetteurs, ainsi que les messages reçus. Pour arrêter le programme il faut faire Ctrl+C.
C'est tout pour cette fois ! J'espère que ce tutoriel vous aura plu, et bonne bidouille en attendant le prochain !