Skip to main content

Le LoRaWAN facile, et plus, avec la plate-forme LoPy

Andrew Back
0

 

La plate-forme multiradio de prototypage est riche en fonctions utiles

La plate-forme LoPy de Pycom intègre LoRaWAN, le Wi-Fi et le Bluetooth dans un module compact doté d'un facteur de forme DIP idéal pour le prototypage. Pour couronner le tout, elle repose sur le populaire système sur puce (SoC) Espressif ESP32, avec 512 Ko de RAM et 4 Mo de mémoire flash, RTC et de nombreux ports GPIO (jusqu'à 8 canaux ADC 12 bits). Le développement d'applications est pris en charge via MicroPython.

Gros plan sur les E/S

 

 

  • 2 x UART, 2 x SPI, I2C, I2S, micro SD card
  • Analogue channels: 8×12 bit ADCs
  • Timers: 4×16 bit with PWM and input capture
  • DMA on all peripherals
  • GPIO: Up to 24

Le système ne manque pas de GPIO et, heureusement pour un circuit qui devrait s'imposer dans les applications de détection par capteur, il comprend également 8 entrées analogiques, éliminant du même coup la nécessité des ADC externes. Cependant, si ce nombre n'est pas suffisant ou si des entrées analogiques haute résolution sont indispensables, des interfaces I2C et SPI sont disponibles pour la connexion avec des ADC et d'autres périphériques externes, tels que des capteurs numériques.

Huit des GPIO peuvent également être configurés en tant qu'entrées tactiles, deux en tant que sorties DAC et dix-huit broches GPIO sont compatibles PWM ! En tant que telle, la plate-forme LoPy est loin de se limiter aux applications de détection par capteur et elle devrait également séduire les utilisateurs qui se concentrent sur les applications créatives ou de contrôle de mouvement, entre autres applications intégrées sans fil.

Grâce à son coprocesseur ULP, la plate-forme LoPy peut également contrôler les GPIO (canaux ADC inclus) en mode veille approfondie tout en consommant 25 uA seulement.

Pour le prototypage matériel, il suffit d'insérer le module dans une zone d'expérimentation sans soudure. Cependant, la carte d'extension universelle économique ajoute un plus grand confort, permettant d'alimenter le module via une connexion USB ou une batterie LiPo (et d'intégrer un circuit de charge) tout en incluant un convertisseur série USB, un emplacement pour carte MicroSD, des embases et d'autres caractéristiques utiles.

LoRaWAN, Wi-Fi et Bluetooth

 

  • LoRaWAN de classe A et C
  • 802.11b/g/n 16 Mbit/s
  • Bluetooth Low Energy et Bluetooth classique

La plate-forme LoPy est le seul module triple porteuse compatible MicroPython. Prenant en charge LoRaWAN, le Wi-Fi et le Bluetooth (LE et classique !), elle offre de nombreuses options de connectivité et permet d'utiliser différentes porteuses pour les opérations principales et de secours.

Portée sans fil et consommation électrique

Technologie

Gamme

Puissance

LoRaWAN

40km

15 mA en mode actif, 1 uA en mode veille

WiFi

1km

12 mA en mode actif, 5 uA en mode veille

Bluetooth

Chiffre non fourni

Chiffre non fourni


La plate-forme LoPy peut également être configurée pour une utilisation en tant que « Nano-Gateway », avec une portée pouvant atteindre 22 km et une capacité de 100 nœuds. On passerait ainsi de la perfection, si la capacité d'une passerelle LoRaWAN complète bien plus coûteuse pouvait desservir des milliers de nœuds, à l'excès, avec la plate-forme LoPy également capable de se connecter à une liaison via Wi-Fi tout en exécutant des traitements locaux.

Mise à jour du firmware

Lorsque la plate-forme le permet, c'est généralement une bonne idée de commencer par mettre le micrologiciel à niveau vers la dernière version disponible (et Pycom ne manquera pas de s'en assurer grâce à la plate-forme LoPy, en publiant des avis bien visibles sur son site Web). Des instructions sont fournies pour Windows, Mac OS X et Linux, l'utilisation de ce dernier système d'exploitation nécessitant l'installation préalable d'une dépendance unique, le logiciel de dialogue.

$ sudo apt-get install dialog
$ tar xvf pycom_update_1.1.1.b1.tar.gz

Une fois l'archive téléchargée extraite, la mise à jour peut être exécutée.

L'utilitaire de mise à jour fournit des instructions supplémentaires et explique comment passer la plate-forme LoPy en mode de mise à jour du micrologiciel, par raccordement de quelques broches sur une carte d'extension.

Il suffit ensuite de sélectionner le type de dispositif et de terminer la mise à jour. La simplicité même !

Python avec Pymakr

MicroPython avec l'IDE Pymakr fournit l'environnement de développement officiel pour les plates-formes Pycom. L'installation de l'IDE sur Ubuntu est aussi simple que le téléchargement du paquet approprié et, par exemple:

$ sudo dpkg -i pymakr_1.0.0.b8-1_all.deb
$ sudo apt-get -f install

Pour plus de détails, notamment sur l'installation sur Windows et OS X, veuillez vous rendre sur le site Web.

MicroPython se décrit comme « une mise en œuvre simple et efficace du langage de programmation Python 3 , comprenant un petit sous-ensemble de la bibliothèque Python standard. Elle est optimisée pour fonctionner sur des microcontrôleurs et dans des environnements limités. » En tant que langage particulièrement adapté à un prototypage rapide et bénéficiant d'un grand nombre de bibliothèques (notamment pour les capteurs et bien d'autres périphériques utiles), il est facile de voir pourquoi le langage Python a été choisi.

Avec l'IDE Pymakr et le guide de démarrage rapide, il n'a pas fallu longtemps pour entrer un exemple simple, se connecter à la carte via une connexion USB/série et effectuer le téléchargement, puis programmer la LED intégrée pour le cycle vert, jaune et rouge. L'une des caractéristiques les plus intéressantes de Pymakr et de la plate-forme LoPy est que vous pouvez également télécharger des applications via une connexion Wi-Fi.

.

Le test de Things Network

Bien sûr, parmi les autres atouts de cette petite carte, il y en a un qui présente un intérêt incomparable : la prise en charge LoRaWAN. Et existe-t-il pour le tester une meilleure façon que de configurer la plate-forme LoPy pour joindre le réseau des choses (TTN) à l'aide du mode d'activation OTAA, avant l'exécution en liaison montante ?

Il se trouve que la configuration du module à utiliser avec le réseau des objets (TTN) est traitée dans la documentation officielle.

Cela peut paraitre évident, et la documentation LoPy le mentionne, mais il est intéressant de noter ici aussi, qu'une antenne adéquate doit être reliée au connecteur U.FL placé à côté du bouton Reset du module, avant l'utilisation, pour éviter d'endommager la radio LoRa.

Le Pycase en option a également été utilisé. En effet, il permet de protéger le module et la carte d'extension, et il offre en plus un support de montage très pratique pour un connecteur SMA auquel une antenne peut être reliée.

 

 

 

 

 

Pour approvisionner notre nœud sur TTN, nous devons d'abord entrer l'identifiant unique étendu EUI (Extended Unique Identifier) du circuit, configuré en usine ; relativement simple, cette opération consiste à entrer quelques lignes de Python dans le REPL (invite de l'interpréteur). Nous pouvons alors enregistrer la plate-forme LoPy pour notre application de test via la Console TTN.

Une fois le circuit enregistré sur l'application lopy_testing, nous avons obtenu l'identifiant unique étendu EUI (Extended Unique Identifier) et la clé de l'application (App Key) qui pourraient être configurés sur notre application Python.

Tout ce que nous avons fait ici a consisté à utiliser les exemples OTAA et Send figurant dans la documentation TTN pour les combiner en un seul script très simple.

Après synchronisation sur application LoPy et reset du circuit, nous avons pu confirmer via la Console TTN que le circuit s'est bien joint au réseau et a pu lui envoyer des données !

Premières impressions

L'acquisition d'une expérience pratique avec un module LoPy figurait depuis quelque temps sur ma liste de tâches et lorsque je suis finalement décidé, je dois reconnaître que je n'ai pas été déçu. Je reconnais volontiers que je n'ai pas poussé très loin et que le vrai test sera l'utilisation d'un (ou de plusieurs) de ces modules en situation réelle, mais jusqu'à présent, je suis impressionné. Non seulement le pack LoPy regroupe un grand nombre de fonctionnalités intéressantes dans un petit boîtier, mais il n'y a rien non plus à redire sur la documentation et l'expérience utilisateur globale.

En parlant de documentation, Pycom propose plusieurs tutoriels LoPy, aussi bien ceux portant sur LoRaWAN que ceux articulés sur une adresse MAC LORA « brute » beaucoup plus simple, qui peut être utilisée pour la communication point à point entre deux modules LoPy, éliminant le recours à une passerelle LoRaWAN et à l'accès Internet. Des tutoriels génériques applicables à tous les modules Pycom sont également disponibles ; ils couvrent des aspects spécifiques tels que le HTTPS, l'ADC, le MQTT, l'I2C, le threading, les timers, etc.

Andrew Back

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.

Recommended Articles

Commentaires

DesignSpark Electrical Logolinkedin