Utilisation de l'intelligence de la périphérie sans fil avec Digi XBee MicroPython

Digi International Digi International
19 avril 2019

Chez Digi, nous innovons et itérons constamment pour apporter les meilleures solutions sans fil à nos clients, partenaires et OEM. Notre riche ensemble de modules, de ressources et d'outils sans fil permet aux développeurs de créer des produits et des applications connectés pour un large éventail d'applications dans les domaines de l'agriculture, de l'industrie, de la médecine et des villes intelligentes.

Dans ce billet, nous allons partager les améliorations apportées aux capacités de MicroPython dans notre gamme XBee®, et les nouvelles fonctionnalités que nous avons déployées. Nous ajouterons continuellement des améliorations pour soutenir l'intelligence périphérique dans les applications IoT . "Nous venons à peine de commencer !

Avec la dernière version du micrologiciel MicroPython 3Digi XBee , l'ensemble des fonctionnalités permet désormais aux clients de créer une véritable logique commerciale sur le XBee lui-même, tout au long du cycle de vie du produit final.

Voici un bref aperçu de certaines des nouvelles fonctionnalités :

  • Nous avons étendu les capacités de MicroPython à toute la gamme de produits.
  • Nous avons ajouté le support des modules personnalisés MicroPython à nos produits à courte portée.
  • En outre, nous avons ajouté la possibilité de mettre à jour l'application MicroPython à distance par voie hertzienne.

Parlons plus en détail de la fonctionnalité améliorée.

Capacités étendues de MicroPython

Les nouvelles capacités de MicroPython signifient que vous pouvez vous attendre à ce que les interfaces d'E/S soient les mêmes pour toute la gamme de produits XBee 3. Que vous souhaitiez utiliser le PWM pour piloter un moteur, vous interfacer avec un thermostat ou un capteur I2C, ou simplement allumer et éteindre une lumière, vous pourrez utiliser votre appareil Digi XBee 3 pour ajouter de l'intelligence et interagir directement avec le monde réel. Comme nous le verrons, les cas d'utilisation potentiels dans le monde réel vont de la domotique aux applications industrielles IoT .

Support personnalisé de MicroPython

Sur les produits à courte portée Digi XBee 3, les clients peuvent désormais ajouter leurs propres modules MicroPython personnalisés. Un environnement Python sans modules est très limité. Les modules sont fondamentaux pour la programmation Python et les meilleures pratiques d'ingénierie logicielle. Ils permettent de partager facilement du code commun entre différents modules XBee 3 et même différents produits finaux du client.

Mises à jour en direct de MicroPython

Les mises à jour par voie hertzienne (OTA) signifient que si vous trouvez un bogue dans votre code ou si vous voulez améliorer les capacités de vos appareils sur le terrain, vous pouvez envoyer un nouveau code à vos XBee sans avoir à envoyer un camion à chacun d'eux.

Dans de nombreuses applications telles que l'éclairage public, il n'est tout simplement pas pratique de devoir accéder physiquement aux appareils pour corriger un bogue ou ajouter de nouvelles fonctionnalités. Cette fonctionnalité vous permet de mettre à jour vos dispositifs sans avoir à les démonter physiquement, ce qui représente un gain de temps et de main-d'œuvre.

Mises à jour en direct pour les réseaux courte portée et cellulaire

Digi XBee et les clients XBee 3 connaissent déjà notre capacité à mettre à jour le micrologiciel XBee par voie hertzienne. Notre équipe de développement a entrepris de faire en sorte que les clients puissent également mettre à jour à distance les applications MicroPython sur les appareils Digi XBee 3. Pour les appareils qui utilisent IP, nous intégrons Digi Remote Manager® (Digi RM), le service en nuage de Digi pour la surveillance et la gestion de la configuration des appareils à distance. Pour les produits RF à courte portée qui ne sont pas sur un réseau IP comme Zigbee, nous utilisons la fonction OTA.

Les produits à courte portéeDigi XBee 3 qui comprennent 802.15.4, DigiMesh et Zigbee ne peuvent pas se connecter directement à Digi RM et disposent également d'une fonction de mise à jour MicroPython over the air. Comme ils ont un espace plus limité que le XBee 3 Cellular, nous utilisons les fonctions de mise à jour du micrologiciel qui étaient déjà présentes dans le produit pour télécharger une simple image de système de fichiers qui contient l'application Python et ses modules de soutien.

Pour les produits Digi XBee 3 Cellular, vous pouvez utiliser Digi RM pour interagir directement avec le système de fichiers de votre XBee. Non seulement vous pouvez télécharger votre code Python, mais vous pouvez le configurer pour que les mises à jour ne se produisent qu'au réveil des appareils endormis, pour une utilisation optimale de la batterie. Cette fonctionnalité utilise une fonction unique aux appareils Digi connectés au Digi RM, appelée Short Message (SM) Query. Elle vous permet de minimiser l'utilisation des données et même de vous connecter à la demande par SMS ou au prochain intervalle d'enregistrement par UDP.


 

Pour en savoir plus sur À propos de Digi RM, consultez notre livre blanc, IoT Device Management : Déploiements sécurisés et évolutifs avec Digi Remote Manager

 


Avantages de l'utilisation de MicroPython

MicroPython permet aux clients d'ajouter de l'intelligence aux produits finis sans avoir à consacrer plus de temps, de coûts et de complexité à la conception d'un microcontrôleur hôte. Bien entendu, il ne s'agit pas d'un modèle unique ; le choix d'utiliser MicroPython ou le processeur hôte dépend de la complexité et des exigences de l'application.

Un microcontrôleur hôte peut être approprié, et les deux ne sont pas mutuellement exclusifs. MicroPython peut servir à ajouter au module de communication une fonctionnalité qui n'existerait pas autrement (par exemple MQTT), et ainsi gagner le temps nécessaire à son implémentation sur le MCU hôte. Cela dit, de nombreuses applications n'ont pas besoin d'un processeur hôte et exigent simplement que leur logique commerciale exécute une séquence des actions suivantes :

  • Lire une entrée (I2C, GPIO)
  • Suivre un intervalle
  • Envoyer des données
  • Effectuer un calcul simple
  • Vérifier si une condition doit être modifiée
  • Allumer ou éteindre un appareil
  • Dormir
  • Réveillez-vous

Les actions ci-dessus se combinent de manière directe pour résoudre les problèmes, et n'importe laquelle de ces actions peut être exécutée à l'aide de MicroPython. Un XBee 3 typique exécutant MicroPython pourrait dormir pendant cinq minutes, se réveiller pour vérifier si l'état d'un GPIO est passé de faible à élevé, puis se rendormir. Si la valeur change, il pourrait envoyer un message texte pour alerter que quelque chose ne va pas.

Exemples de cas d'utilisation de Digi XBee 3 MicroPython

Il existe de nombreuses utilisations pratiques au quotidien pour cette fonctionnalité, ainsi que des applications sur le terrain pour l'industrie IoT. Les différents types de cas d'utilisation peuvent nécessiter la fonctionnalité de la ligne cellulaire XBee 3 (Cat 1, LTE-M, NB-IoT, 3G), ou des produits XBee 3 à courte portée (Zigbee, DigiMesh, 802.15.4), en fonction de la topologie et de la distribution requises des dispositifs, ainsi que de la fréquence et de la quantité de données à envoyer.

Explorons des exemples qui montrent l'éventail des possibilités.

Capteur de niveau d'eau

Dans certains climats, les pompes de puisard peuvent tomber en panne en raison d'une fonte des neiges et d'un ruissellement excessifs, ou de tempêtes de pluie qui produisent un volume important de précipitations. Un simple capteur de niveau d'eau élevé peut alerter le propriétaire du problème avant qu'il n'entraîne l'inondation du sous-sol.

Application de lecture quotidienne des données

Dans un autre exemple d'application MicroPython typique de Digi XBee 3, le module dort pendant une journée, se réveille, lit un capteur I2C, transforme les données à l'aide d'un calcul simple, met en forme le résultat, puis transmet le point de données en amont au nuage IoT souhaité ou à une passerelle locale pour l'agrégation, selon que le XBee 3 est cellulaire ou à courte portée, respectivement.

Applications industrielles et agricoles

L'utilisation de MicroPython sur Digi XBee 3 gagne du terrain auprès de nos clients pour résoudre des problèmes concrets.

Digi XBee MicroPython

Par exemple, un client a utilisé MicroPython sur XBee 3 Cellular LTE-M pour intégrer la logique des capteurs de sol alimentés par batterie afin de surveiller la température et l'humidité des champs de paillis. Cette application a utilisé plusieurs bibliothèques MicroPython, notamment MQTT, pour publier les données sur le nuage AWS (Amazon Web Services) IoT .

Un autre client a utilisé une bibliothèque client FTP pour enregistrer des données dans le système de fichiers et les transmettre ensuite à son propre serveur d'applications.

Dans un autre cas d'utilisation, un client a utilisé MicroPython sur XBee 3 Zigbee pour lire la température actuelle et l'envoyer à un nœud distant dans une application de comptage de vapeur.

Simplicité du code MicroPython

L'avantage de ces solutions est qu'elles impliquent un code MicroPython incroyablement simple. Un développeur compétent peut créer une application utile en 100 lignes de code ou moins.

Les solutions MicroPython ne sont limitées que par l'imagination. Par exemple, vous pouvez utiliser MicroPython avec les appareils Digi XBee 3 pour faire tout ce qui suit et plus encore :

  • Piloter un écran simple
  • Interface avec BLE
  • Ajouter un protocole réseau simple
  • Améliorer le mode API avec la trame de relais de données utilisateur
  • Traiter les demandes provenant du nuage

Nous venons tout juste de commencer à fournir des solutions d'intelligence de pointe sur Digi XBee 3. Digi travaille activement à l'expansion de nos outils de développement MicroPython, des bibliothèques, des programmes d'exemple et des applications que nous hébergeons sur notre dépôt github. Ces ressources de développement fournissent des blocs de construction que vous pouvez utiliser pour résoudre des problèmes réels en ajoutant de l'intelligence à IoT vos produits et applications.

Prochaines étapes

Obtenez notre dossier technique
En savoir plus sur la sécurité Bluetooth avec les appareils Digi XBee