L’Internet des objets (IoT) connaît une croissance fulgurante, car de plus en plus d’appareils se connectent chaque jour. Cette croissance exponentielle s’accompagne d’une demande correspondante en outils de développement IoT. Ceux-ci permettent aux entreprises de créer des applications capables d’interagir avec ces appareils.
Aller à :
- Quels sont les outils de développement IoT ?
- Cas d’usage de l’IoT
- Principaux outils de développement IoT
- AWS IoT
- Particle
- Mozilla WebThings
- Cisco IoT Cloud Connect
- Eclipse IoT
- Niagra 4.12
- PlatformIO
- Comment choisir un outil de développement IoT
Quels sont les outils de développement IoT ?
Les outils de développement IoT se présentent sous différentes formes : plateformes, systèmes d’exploitation et kits matériels. Certains offrent une suite complète de services, tandis que d’autres se spécialisent dans des domaines précis, comme la connectivité IoT ou l’analyse de données.
Fonctionnalités des outils de développement IoT
Les outils de développement IoT proposent généralement diverses fonctionnalités, notamment :
- Gestion des appareils IoT
- Options de connectivité IoT
- Analyse et visualisation des données
- Sécurité de l’IoT
- Développement et prototypage d’applications
Voir aussi : 6 défis de l’IoT et comment les relever
Cas d’usage de l’IoT
Ces applications peuvent servir à de nombreuses fins, notamment surveiller et contrôler des appareils, collecter des données et effectuer des analyses. Le besoin en outils de développement IoT est alimenté par le très grand nombre de cas d’usage de l’IoT. Parmi les plus courants figurent :
- Villes intelligentes : L’IoT est utilisé pour rendre les villes plus intelligentes et plus efficaces. Des projets sont en cours dans des villes du monde entier pour déployer des systèmes de stationnement intelligent, de gestion du trafic, d’éclairage LED et bien plus encore.
- IoT industriel : L’IoT industriel révolutionne les processus de fabrication. Les usines sont équipées de capteurs et de contrôleurs qui leur permettent de surveiller automatiquement les opérations, de détecter les défaillances et d’optimiser les processus de production.
- IoT dans le commerce de détail : Les distributeurs utilisent l’IoT pour améliorer le service client et augmenter leurs ventes. Les applications comprennent le suivi en temps réel des niveaux de stock, la fourniture de recommandations personnalisées selon les préférences des clients et la détection des comportements frauduleux.
- IoT dans le secteur de la santé : Les appareils IoT sont utilisés dans les établissements de santé pour surveiller les patients à distance, améliorer l’observance des traitements et simplifier les processus administratifs.
Voir aussi : Les tendances qui façonnent l’avenir de l’IoT
Principaux outils de développement IoT
Le marché compte plusieurs outils de développement IoT de premier plan, chacun possédant ses propres atouts et spécialisations. Nous examinons sept des principales plateformes de développement IoT disponibles sur le marché.
AWS IoT
AWS IoT est une plateforme complète proposée par Amazon, qui fournit des services de gestion des appareils IoT, de connectivité IoT et d’analyse IoT. Elle s’intègre également à d’autres services AWS, comme AWS Lambda pour l’informatique serverless et Amazon Kinesis pour la diffusion et le traitement des données en temps réel.
Solutions
- Logiciels pour appareils : Quatre solutions sont proposées dans ce domaine : FreeRTOS, AWS IoT Greengrass, AWS IoT ExpressLink et AWS IoT EduKit. Chacune offre des fonctionnalités différentes. Par exemple, FreeRTOS permet aux développeurs de déployer des systèmes d’exploitation pour microcontrôleurs, tandis qu’IoT Greengrass permet l’edge computing.
- Services de connectivité et de contrôle : AWS IoT propose différentes options pour sécuriser, contrôler et gérer les appareils IoT depuis le cloud. Cette catégorie comprend AWS IoT Core, AWS IoT Device Defender, AWS IoT Device Management et AWS IoT Fleetwise.
- Services d’analyse : AWS IoT propose des solutions d’analyse telles qu’IoT SiteWise, IoT Events et IoT Analytics pour surveiller et analyser les données IoT.
Particle
Particle fournit une plateforme IoT complète en tant que service (PaaS), sécurisée et personnalisable. Cette plateforme IoT intégrée permet aux entreprises de gérer et de déployer facilement des applications logicielles, des appareils edge jusqu’au cloud.
Grâce à ce logiciel, les développeurs peuvent créer et superviser des applications en toute simplicité. Le matériel est conçu pour être durable et sécurisé, tandis que le système d’exploitation est stable et facile à utiliser. De plus, l’ensemble est conçu pour fonctionner parfaitement de concert, afin d’éviter aux utilisateurs de perdre du temps à résoudre des problèmes de compatibilité.
Solutions
- Device OS : Le système d’exploitation pour appareils IoT de Particle, Device OS, est conçu pour aider les développeurs IoT à créer des applications IoT personnalisées sans devoir gérer un développement de firmware extrêmement complexe. Il propose des mises à jour OTA, des fonctionnalités de débogage à distance et la prise en charge de plusieurs protocoles de communication IoT.
- Particle Connectivity : Les développeurs n’ont pas besoin de créer leur propre pile réseau. Particle Connectivity fournit une connectivité IoT sécurisée grâce à différentes options, comme le Wi-Fi, les réseaux cellulaires et les réseaux maillés. Cette solution offre également une évolutivité fluide et une gestion complète de la connectivité.
- Particle Cloud : Les développeurs IoT peuvent gérer les appareils, les données et les applications IoT via la plateforme Particle Cloud. Celle-ci comprend des fonctionnalités de gestion des appareils, l’intégration de services cloud tiers et la prise en charge des webhooks pour déclencher des événements au sein des applications IoT.
- Appareils préprovisionnés : Particle propose du matériel IoT préprovisionné, conçu pour fonctionner de manière fluide avec le PaaS IoT, notamment des cartes de développement IoT, des capteurs IoT et des appareils passerelles IoT.
Mozilla WebThings
Mozilla préfère employer le terme Web of Things (WoT) lorsqu’elle évoque ses solutions destinées aux développeurs IoT. WebThings est une plateforme IoT open source créée par Mozilla. Le WebThings Framework facilite la création d’appareils IoT qui exposent l’API Web Thing (interface de programmation d’applications). Ils peuvent ainsi être détectés par une passerelle ou un client WoT, qui identifie automatiquement les capacités de l’appareil et le contrôle à distance.
Solutions
- API Web Thing : L’API Web Thing est un composant essentiel de la plateforme IoT WebThings. Elle permet aux utilisateurs de surveiller et de contrôler des appareils sur le Web. L’API est actuellement en cours de normalisation par le W3C, ce qui signifie qu’elle sera disponible pour les développeurs à l’avenir.
- WebThings Gateway : Mozilla WebThings Gateway est une implémentation open source de passerelle WoT qui fait le lien entre plusieurs protocoles IoT et l’API Web Thing. La passerelle dispose d’une interface Web permettant aux utilisateurs de surveiller et de contrôler les appareils, ainsi que d’une documentation sur l’architecture de la passerelle, les instructions de compilation, la création de nouvelles traductions, le test des mises à jour OTA préliminaires et la publication des mises à jour OTA de la passerelle. Les développeurs IoT peuvent ainsi utiliser Mozilla WebThings Gateway pour prototyper et déployer rapidement des solutions IoT.
- WebThings Framework : Le Mozilla WebThings Framework fournit aux développeurs une plateforme de développement IoT open source robuste. Le framework propose un ensemble de composants logiciels réutilisables exposant l’API Web Thing. Ces composants peuvent servir à créer des applications IoT dans différents langages de programmation. De plus, le WebThings Framework est compatible avec plusieurs bibliothèques tierces, ce qui facilite son intégration dans les environnements de développement existants.
- WebThings Cloud : Mozilla WebThings Cloud est un ensemble d’outils de développement IoT qui facilitent la gestion à distance et à grande échelle d’objets Web sur Internet. Les services cloud incluent un service d’accès à distance permettant de créer un tunnel chiffré de bout en bout entre une passerelle WoT (ou un appareil) et un client WoT, pour un accès sécurisé. Avec WebThings Cloud, les utilisateurs peuvent facilement développer et déployer des applications IoT sans se soucier de l’infrastructure sous-jacente.
Cisco IoT Cloud Connect
Cisco IoT Cloud Connect propose une plateforme IoT complète pour la gestion des appareils, la sécurité, l’analyse des données et le développement d’applications.
Solutions
- Intégration des appareils IoT : Cisco IoT Cloud Connect permet aux développeurs d’automatiser le provisionnement des appareils IoT, les mises à jour de firmware et l’application des politiques.
- Edge computing IoT : Cette fonctionnalité permet aux utilisateurs d’exécuter les analyses et la prise de décision sur les appareils IoT plutôt que dans le cloud, ce qui peut réduire la charge du réseau et la latence pour les applications sensibles au facteur temps.
- Analyse des données IoT et activation des applications : Grâce à cette fonctionnalité, les développeurs créent rapidement des applications IoT en s’appuyant sur les informations issues des données des appareils IoT.
- Sécurité IoT de Cisco : Les solutions de sécurité IoT de Cisco fournissent une protection robuste pour les appareils IoT, les réseaux et les protocoles de communication.
- Intégrations : Cisco propose un large éventail d’intégrations avec des plateformes et technologies de développement IoT tierces.
Eclipse IoT
Eclipse est une communauté open source qui conçoit des outils pour développeurs destinés à différents langages et environnements de programmation. Le groupe de travail Eclipse IoT propose plusieurs projets de développement IoT, notamment des passerelles IoT, des plateformes cloud IoT, des outils d’automatisation des tests IoT et des protocoles IoT.
Solutions
- Eclipse IoT Agile : Eclipse IoT Agile IoT est une plateforme permettant de créer rapidement des services IoT en intégrant des appareils IoT, des plateformes cloud et des protocoles IoT. Elle comprend un outil visuel pour créer des applications IoT, ainsi que la prise en charge de l’automatisation de l’intégration des appareils IoT et des mises à jour de firmware.
- Eclipse IoT SmartHome : Ce projet fournit un framework pour développer des services IoT pour la maison intelligente, notamment un moteur de règles open source et un outil visuel de conception d’interfaces utilisateur.
- Eclipse IoT Californium : Californium est un projet consacré au protocole CoAP, conçu pour les appareils IoT contraints disposant de faibles capacités énergétiques et réseau. Le projet Eclipse IoT Californium fournit plusieurs bibliothèques dans différents langages de programmation pour implémenter CoAP dans des applications IoT.
- Eclipse IoT Paho : Paho propose des bibliothèques clientes IoT open source dans différents langages de programmation pour connecter des appareils IoT à des brokers MQTT.
Niagara 4.12
L’architecture Niagara 4.12 est une infrastructure logicielle complète qui répond à ces défis.
Elle fournit une console centrale permettant de connecter les données opérationnelles en temps réel aux personnes et aux systèmes qui gèrent les workflows dans les bâtiments intelligents, les centres de données, les processus industriels, les villes intelligentes et d’autres aspects des entreprises. L’architecture Niagara 4.12 fournit un ensemble complet de services de développement IoT qui permettent aux développeurs de créer rapidement des applications IoT sophistiquées, fiables, réactives et sécurisées.
Solutions
- WebWiresheet 2.0 : WebWiresheet 2.0 est un outil de développement IoT qui permet aux développeurs de créer facilement des écrans d’interface utilisateur graphiques pour les appareils IoT, à l’aide d’un outil de conception par glisser-déposer.
- Gestionnaire de points réseau Niagara en HTML5 : Cet outil facilite la gestion des connexions des appareils IoT au sein du réseau Niagara.
- Générateur BQL en HTML5 : Le BQL (Building Query Language) est un langage basé sur SQL qui permet d’interroger les données des bâtiments en temps réel. Le générateur BQL en HTML5 permet aux développeurs de créer et de tester facilement des requêtes BQL.
- Volet Transform : Le volet Transform permet aux développeurs de manipuler les données des appareils IoT lorsqu’elles transitent par le réseau Niagara.
- Limite étendue du nombre de caractères de l’historique : Cette mise à jour augmente la limite de caractères pour le stockage des données historiques des appareils IoT dans Niagara.
- Prise en charge de l’internationalisation : Niagara 4.12 prend en charge plusieurs langues pour les applications IoT.
- Authentificateur MQTT Azure : Cette mise à jour ajoute la prise en charge de l’authentification des appareils IoT à l’aide du service de broker MQTT de la plateforme cloud Microsoft Azure.
- Pilote client HTTP : Le pilote client HTTP permet aux appareils IoT de se connecter à des services Web via le protocole HTTP.
- Optimisation du moteur MSTP : Cette mise à jour améliore les performances et la fiabilité de la connexion des appareils IoT utilisant le protocole de communication MSTP (Modbus Serial Tunneling Protocol).
PlatformIO
PlatformIO est un écosystème open source pour le développement IoT, offrant une compatibilité du code multiplateforme et des outils de gestion des bibliothèques. PlatformIO peut être utilisé comme environnement de développement IoT autonome ou comme plug-in pour des éditeurs de code populaires tels qu’Atom et VSCode.
Solutions
- IDE PlatformIO : L’IDE PlatformIO (environnement de développement intégré) est un environnement de développement IoT complet, qui comprend un éditeur de code et un terminal intégré.
- PlatformIO Core (CLI) : Les développeurs peuvent également utiliser l’interface de ligne de commande de PlatformIO pour leurs tâches de développement IoT.
- Débogage : PlatformIO inclut des outils de débogage pour les applications IoT.
- Tests unitaires : PlatformIO intègre la prise en charge des tests unitaires des applications IoT.
- Analyse statique du code : Cet outil aide les développeurs à trouver et à corriger les erreurs de leur code avant de l’exécuter sur des appareils IoT.
- Développement à distance : PlatformIO permet de développer et de déployer à distance des applications IoT sur différentes plateformes matérielles.
- Gestion des bibliothèques : Les développeurs peuvent facilement gérer les bibliothèques et les dépendances de leurs projets IoT avec le gestionnaire de bibliothèques de PlatformIO.
- Intégration aux IDE de bureau et cloud : PlatformIO peut être utilisé comme plug-in avec des éditeurs de code populaires tels qu’Atom et VSCode, ou dans un environnement de développement IoT autonome.
- Intégration continue : PlatformIO inclut des outils d’intégration continue pour les projets IoT, permettant d’automatiser la compilation et les tests des applications IoT.
Comment choisir un outil de développement IoT
Lors du choix d’une pile de développement IoT, tenez compte des facteurs suivants.
Facilité d’utilisation
L’un des facteurs les plus importants à prendre en compte est la facilité d’utilisation. L’outil doit être facile à apprendre et à utiliser, même pour les personnes qui n’ont aucune expérience du développement d’applications IoT. En outre, la plateforme doit disposer d’une documentation et d’une assistance de qualité afin que les utilisateurs puissent obtenir de l’aide en cas de problème.
Plateformes prises en charge
Un autre facteur essentiel à prendre en compte est la compatibilité de l’outil avec différentes plateformes. L’outil doit fonctionner avec le matériel et les logiciels que vous utilisez pour votre projet IoT.
Coût du développement
Le coût de l’outil de développement est également un élément important. Si votre budget est limité, vous devrez peut-être choisir une pile de solutions moins coûteuse. Toutefois, il est essentiel de veiller à ce que l’outil reste efficace et dispose de toutes les fonctionnalités dont vous avez besoin.
Évolutivité
Lors du choix d’un outil de développement IoT, il est également important de tenir compte de l’évolutivité. L’outil doit pouvoir gérer un grand nombre d’appareils et de points de données à mesure que le projet IoT se développe. Dans le cas contraire, vous devrez peut-être trouver un nouvel outil ou mettre à niveau un outil existant au fur et à mesure de l’expansion du projet.
Sécurité
La sécurité est un autre élément essentiel à prendre en compte lors du choix d’un outil de développement IoT. L’outil doit proposer des fonctionnalités contribuant à sécuriser les données et à empêcher les accès non autorisés. En outre, le fournisseur doit jouir d’une bonne réputation en matière de sécurité et de confidentialité, afin que vous puissiez avoir l’assurance que vos données seront protégées.
Interopérabilité
Un autre facteur essentiel à prendre en compte est l’interopérabilité, c’est-à-dire la capacité de différents appareils et systèmes à fonctionner ensemble de manière transparente. La solution de développement IoT doit pouvoir s’interfacer avec d’autres appareils et systèmes, afin que vous puissiez facilement ajouter de nouvelles fonctionnalités si nécessaire. Dans le cas contraire, vous devrez peut-être acheter des outils ou des services supplémentaires pour parvenir à une interopérabilité complète.
Prise en charge des protocoles standard
Il est également essentiel de vérifier que l’outil de développement IoT prend en charge les protocoles standard tels que HTTP, MQTT, CoAP et AMQP. Ces protocoles sont nécessaires à la communication entre les appareils et les systèmes d’un réseau IoT.
Le développement rapide du secteur de l’IoT a entraîné une multiplication constante des outils permettant de créer des solutions IoT. Il s’agit d’une arme à double tranchant pour les développeurs IoT, car il peut être difficile de déterminer quelle solution utiliser pour un projet donné. Les outils répertoriés dans cet article comptent parmi les plus populaires actuellement disponibles et devraient constituer un bon point de départ pour quiconque souhaite se lancer dans le développement IoT.
Voir aussi : Principaux appareils IoT