[TUTORIEL] Chistera-Pi et LoRa

Forum de support et échanges autour du Chistera-Pi

[TUTORIEL] Chistera-Pi et LoRa

Message non lude Laetitia » Lun 8 Aoû 2016 17:41

Bonjour,

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.
Dans ce tutoriel, nous allons simplement exploiter la technologie LoRa pour envoyer et recevoir des messages radio, avec la librairie RadioHead fournie un peu plus bas (ou plus précisément notre portage pour Linux). Vous trouverez également l'autre librairie que nous développons pour les réseaux LoRaWAN, mais elle ne sera pas mise en œuvre dans ce tutoriel.

À 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

ChisteraPiLora_Antennes.jpg
ChisteraPiLora_Antennes.jpg (141.19 Kio) Vu 1918 fois


    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>.
  • 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.
Remarque : si vous attribuez le même identifiant à plusieurs Chistera-Pi, le dispositif récepteur ne pourra pas les différencier. Pour ajouter des fonctionnalités de contrôle, de sécurité et d'anti-collision à votre projet, il faudra exploiter la couche LoRaWAN. La librairie que nous présentons ici ne sert qu'à la gestion de la couche physique LoRa et ne permet pas de développer des fonctions spécifiques réseau.

C'est tout pour cette fois ! J'espère que ce tutoriel vous aura plu, et bonne bidouille en attendant le prochain !
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: [TUTORIEL] Chistera-Pi et LoRa

Message non lude solarus » Sam 27 Aoû 2016 15:02

Bonjour.

Je n'ai pas reçu les connecteurs SMA, mais juste des antennes en forme de ressort. J'imagine qu'il faut les souder directement sur le shield ?
A quelle fréquences correspondent la petite antenne et la grande ?
solarus
 
Messages: 1
Inscription: Sam 27 Aoû 2016 15:00

Re: [TUTORIEL] Chistera-Pi et LoRa

Message non lude Florian » Lun 29 Aoû 2016 09:44

Bonjour,

Oui, les antennes sont à souder directement sur le shield.

La plus grande antenne spirale correspond à la fréquence 433 MHz.
Et donc la plus petite des spirales correspond à la fréquence 868 MHz.
Florian
 
Messages: 75
Inscription: Mer 24 Juil 2013 17:36

Re: [TUTORIEL] Chistera-Pi et LoRa

Message non lude MeuH » Ven 3 Mar 2017 10:22

Bonjour,

je n'arrive pas à faire fonctionner les programmes sous une rapsberry pi 2.
J'ai pourtant bien authorisé le spi (ls /dev/spidev* me retourne /dev/spidev0.0 /dev/spidev0.1).
Les programmes bloquent lors du init et me retournent init failed.

Quel peut-être le problème?
MeuH
 
Messages: 1
Inscription: Jeu 2 Mar 2017 17:18


Retourner vers Chistera-Pi

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron