Publié le 11 février 2024 - par

Deux cartes LoRaWan Sigfox LSM100A pour Raspberry Pi et PICO chez SNOC [1/2]

Après l’essai de la passerelle LoRaWan publié il y a quelques jours, la Société Nationale des Objets Connectés (SNOC) m’a proposé de tester deux de ses produits qui permettent de déployer des solutions de Nodes LoRaWAN et Sigfox pour la famille classique Raspberry Pi (1 à 5) et pour le Raspberry Pi PICO. J’ai accepté avec plaisir car c’est une société française, basée en Anjou, dont j’avais déjà pu tester la qualité des produits.

Deux cartes LoRaWan Sigfox LSM100A pour Raspberry Pi et PICO chez SNOC

Déballage des cartes LoRaWAN

Les cartes sont arrivées dans un carton, bien protégées et à l’abri dans un sachet antistatique. tout était en parfait état à la réception

Au déballage on trouve les deux cartes.

A gauche la carte Raspberry Pi PICO, il faudra souder les connecteurs. Elle est fournie avec son connecteur U-FL, un câble et une antenne SNOC 868MHz de 2dBi de gain adaptée pour LoRa et Sigfox. La documentation de l’antenne est disponible en ligne.

A droite la carte pour Raspberry Pi 1 à 5. Un connecteur est monté sur la carte et une rehausse est fournie. Je l’ai utilisée sur le Pi5. On retrouve la même antenne et son câble U-FL vers SMA. Avec son écrou, le connecteur SMA peut se fixer sur un boîtier.

Attention de ne pas utiliser n’importe quelle antenne, les antennes WiFI sont conçues pour 2,4GHz et 5GHz et ne fonctionnent pas avec les fréquences de ces cartes.

La carte pour le Raspberry Pi

J’ai décidé de partager cette présentation en deux articles. Ce premier article traitera de la carte Raspberry Pi « classique », du 1 au 5. Je ferai un second article sur la carte pour le PICO, sachant que le module LoRaWAN est le même, l’article sera plus léger.

La carte SNOC pour le Raspberry Pi embarque un module LSM100A avec un STM32WLE5CC (Arm Cortex-M4 @48 MHz avec 256 Ko de mémoire flash et 64 Ko de SRAM). Le module est fabriqué par SEONG JI, une société Sud Coréenne, et toute la documentation est disponible en ligne. On voit la prise d’antenne au format U-FL en haut à droite de l’image, et la prise qui va se connecter sur le GPIO du Raspberry Pi en bas de la carte.

Pour mémoire, la prise U-FL est prévue pour une trentaine de connexion/déconnexion, elle n’est pas prévue pour être branchée et débranchée de multiples fois.

Schéma et brochage de la carte

Cliquer pour agrandir

Le schéma de la carte est simple du fait de l’utilisation du module LSM100A

Cliquer pour agrandir

La carte utilise une petite partie du connecteur (2 fois 6 broches), de quoi l’alimenter (3,3 volts et masse), communiquer avec le Raspberry Pi (UART2_TX et UART2_RX). et le RESET (GPIO 17).

 

La carte est munie d’un connecteur femelle destiné à se brancher sur le port GPIO, et on a un rehausseur que j’ai utilisé pour le Raspberry Pi 5.

La mise en place du rehausseur ne pose pas de problème. Il n’y a pas de sens à respecter.

Il vaut mieux mettre la prise U-FL en place avant de monter la carte sur le GPIO car on va devoir appuyer assez fort pour la clipser.

Si vous montez la prise après avoir mis la carte en place il y a un surplomb et c’est plus compliqué.

Ici la carte et l’antenne sont en place sur un Raspberry Pi 5.

On va pouvoir passer à la mise en service.

Installer minicom

Commencez par installer minicom sur le Raspberry Pi. Minicom est un programme de contrôle de modem et d’émulation de terminal pour les systèmes d’exploitation de type Unix.

sudo apt install minicom

Les ports UART du Raspberry posent parfois des soucis aux utilisateurs, j’ai déjà publié quelques articles là-dessus. ils ont un peu évolué au cours des versions et il faut bien savoir ce qu’on fait.

Activer le port série du Raspberry Pi 5

Il va falloir modifier le fichier config.txt qui se trouve maintenant dans /boot/firmware/config.txt

On ajoute en fin de fichier après la balise [All] la ligne

dtoverlay=uart0

Pour activer l’UART 0, accessible sur les ports GPIO 14 et GPIO 15 si vous ne modifiez pas les connexions de Tx et Rx.

Connectez la carte sur le Raspberry Pi et la configurer

Éteignez le Raspberry Pi, débranchez l’alimentation pour éviter tout risque, puis installez la carte LoRa en évitant tout décalage qui pourrait être fatal.

Démarrer minicom en 9600 bauds

minicom -D /dev/ttyAMA0 -b 9600

Configurer le mode Echo de minicom : CTRL A   puis E => en bas de l’écran minicom indique que le mode Echo est activé. dans ce mode, ce que vous tapez au clavier est envoyé simultanément à l’écran et sur le port série. Si vous n’êtes pas en mode Echo, vous ne voyez pas ce que vous tapez au clavier, juste les réponses de la carte

On peut commencer à configurer la carte. J’ai commencé la découverte des fonctions en mode manuel avec minicom et les commandes AT. ça m’a rappelé mon jeune temps 😀 car lorsque j’ai installé mes premiers modems (300, puis 600, 1200 etc bauds) toute la configuration utilisait les commandes Hayes ou commandes AT.

La première chose à faire est de taper AT puis la touche Entrée. La carte doit répondre OK : si oui tout va bien et vous pouvez continuer… Pour ma part j’ai réalisé pas à pas une connexion à TTN en manuel pour avoir les billes suffisantes pour écrire le programme.
Le programme de test vous donne l’ordre dans lequel envoyer les commandes AT au LSM100A pour le configurer.

La carte LSM100A comporte d’origine ses propres identifiants qui restent « en dur ». Sur TTN quand on veut faire des modifs, il est parfois nécessaire de supprimer un device, dans ce cas TTN conserve son ID et vous empêche de le réutliser par la suite. J’ai donc choisi de générer des ID sur TTN avec le bouton GENERER. Ce sont ces ID que j’utilise pour les tests. Après, les ID sont codées sur 64 bits et on peut en générer … 18,446,744,073,709,551,616 on a donc de la marge et on peut y aller tranquille.

Le programme de test utilise un barre de progression, installer progressbar2

sudo apt install python3-progressbar2

Programme de test

On sort du programme par CTRL + C. J’ai laissé toutes les sorties vers la console qui permettent de vérifier que tout se passe bien. L’idée ici n’est pas de fournir une recette « clé en main » mais de vous permettre de démarrer avec cette carte LoRaWAN… Après c’est à vous de jouer.

Quelques copies d’écran

Démarrage de la carte et passage en mode LoRa. La carte renvoie ses ID que je n’ai pas utilisés ici. J’ai généré des ID sur la console TTN.

 

Connexion de la carte en mode OTAA, la température du CPU est de 49,04 degrés (je ne fais pas d’arrondi, de toute façon le dizième de degré n’a pas d’importance). Les sodomiseurs de diptères feront le nécessaire si cela leur semble utile. On voit la barre de progression. Quand on lancera le programme en ligne de commande, elle sera « normale » sur une seule ligne.

La console TTN montre la connexion de la carte (Successfully processed) et la température arrive bien dans les data.

L’aide renvoyée par la carte LSM100A

AT?
AT+<CMD>? : Help on <CMD>
AT+<CMD> : Run <CMD>
AT+<CMD>=<value> : Set the value
AT+<CMD>=? : Get the value
ATZ: Trig a MCU reset
AT$RFS: Restore EEPROM Factory Settings
AT+VER: Get the FW version
AT$ID: Get the ID
AT$PAC: Get the PAC
ATS410: 0:Private Key 1:Public Key
ATS411: Payload Encryption 0:Off 1:On
AT$SB=<Bit>,<Opt downlink>,<Opt TxRepeat><CR>. Send a bit to the sigfox network
AT$SF=<Payload>,<Opt downlink>,<Opt TxRepeat><CR>. Send a ASCII frame to the sik
AT$SH=<PayloadLength>,<Payload>,<Opt downlink>,<Opt TxRepeat><CR>. Send a Hex fk
AT$CW=<frequency><CR> frequency in Hz or in MHz. Run CW Test mode
AT$PN=<frequency>,<bitrate><CR> frequency in Hz or in MHz, bitrate=[100, 600]. e
AT$TM=<rc>,<mode><CR> mode=[0..12]. Run Sigfox Test mode
AT+BAT: Get the battery Level in mV
ATS302=<power>,<CR> power in dBm=[0..20]. Set Radio output power in dBm
ATS300: send an out of band message once.
ATS400=<param1><param2><param3>,<param4><CR>. Configure specific variables for .
AT$RC<param1><CR> param1=[1:7]. Set/Get the Regional Config zones.
AT$RSSICAL=<param1><CR> param1=rssi value in dB. Set/Get the rssi calibration v.
ATE=<param1><CR> [0,1]. Set/Get the echo state.
AT+VL=<param1><CR> [0:3]. Set/Get the Verbose Level with integer from 0(VLEVEL_)
AT+MODE LoRa/SigFox Select 0:SigFox, 1:LoRa
AT$RL Starts listening for a local loop
AT$SL Send Tx packet for a local loop
AT$SSWVER Get SW Version

Conclusion

La carte pour Raspberry Pi fournie par SNOC embarque le module LSM100A. La documentation de ce module est pour le moment fournie par le constructeur Sud-coréen de la carte, et tourne uniquement autour du SDK en langage C. Pour ma part, à destination des makers, je suis plutôt sur du Python ou du microPython. Ça me semble plus simple de mise en œuvre. Pour les râleurs qui vont me dire que le C c’est bien, je vais juste signaler que j’ai été formateur d’adultes  en informatique industrielle et que j’ai fait « manger » à mes stagiaires du C, du C++, du temps réel et autres développements Xwindows à l’époque. Je suis aussi passé par le le Basic, le VBasic, le Basic Industriel (8051), l’assembleur (Z80, 6809, x86…), le pascal, le PHP, le js, le node-js, le java, scratch et j’en oublie…
Comme je travaille beaucoup maintenant avec des débutants, des lycéens ou des étudiants, je privilégie le Python. C’est mon choix, point à la ligne.

En Python la mise en route d’un Node LoRaWAN avec la carte SNOC me semble assez facile une fois qu’on a intégré la logique du LSM100A.

Je vous en reparlerai bientôt car je vais essayer l’autre carte que SNOC m’a envoyée, celle qui se monte sur le Raspberry Pi PICO.

La carte travaille également avec Sigfox. j’ai demandé un compte de test il y a plus d’une semaine sur la page SigFox, sans réponse de leur part, j’ai laissé tombé le test avec Sigfox…

Edit du 12/2/2024 : J’ai eu un contact chez Sigfox et peut être la possibilité d’avoir des tokens de test. Je vous en reparle bientôt

Sources

Kit LoRa/Sigfox LSM100A Raspberry Pi : 34,68 €

Kit LoRa/Sigfox LSM100A Raspberry Pi PICO : 27,48 €

Toute la documentation en ligne

https://support.seongji.co.kr/lora-main-2-2/

https://support.seongji.co.kr/sigfox-product/

https://github.com/Support-SJI/LSM100A

https://www.univ-smb.fr/lorawan/wp-content/uploads/2022/01/Livre-LoRa-LoRaWAN-et-lInternet-des-Objets.pdf

 

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

Une réflexion au sujet de « Deux cartes LoRaWan Sigfox LSM100A pour Raspberry Pi et PICO chez SNOC [1/2] »

  1. Ping : Deux cartes LoRaWan Sigfox LSM100A pour Raspberry Pi et PICO chez SNOC [1/2]

  2. Ping : Deux cartes LoRaWan Sigfox LSM100A pour Raspberry Pi et PICO chez SNOC [2/2] - Framboise 314, le Raspberry Pi à la sauce française....

  3. AlainF

    Bonsoir

    Merci pour cette intéressante présentation des breakouts Yadom à base de LSM100A

    La data sheet du LSM100A annonce moins de 5µA en mode SLEEP (stop2)

    Dans la liste des commandes AT je ne vois pas de commande de mise en sommeil

    Le LSM100A passe-t-il en sommeil (I <5µA) après une commande de reset ATZ ?

    Le LSM100A passe-t-il en siommeil (I < 5µA) une fois écoulée la fenêtre temporelle RX2 de réception quand on l’utilise en LoRaWAN Classe A ?

     

     

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.