- Qu'est-ce qu'une API et en quoi est-elle utile?
- 1. API REST OpenHAB
- 2. API Mozilla Web Things
- 3. OpenWeatherMap
- 4. API EmonCMS
- 6. API Adafruit IO
- 7. API Home Assistant
- 8. Les API du réseau Things
- 9. API REST ThingSpeak.io
- 10. Fonderie EdgeX
Dans le monde connecté d'aujourd'hui, Internet of Thins (IoT) n'est plus un mot à la mode lancé par des experts. C'est réel!! Et peuvent être trouvés tout autour de nous, changeant des vies, facilitant de meilleurs services, améliorant les processus, offrant de nouvelles opportunités et augmentant les revenus.
Avec des milliards de nouveaux appareils qui ne sont pas encore connectés à Internet, l'impact de l'IoT sera certainement conduit au-delà des appareils IoT eux-mêmes à plusieurs autres applications en exploitant les données fournies par ces appareils pour réaliser une croissance sociale et commerciale. Cela se produit déjà, car la plupart des organisations qui n'ont pas déployé de solutions IoT peuvent encore en tirer parti en accédant aux données générées par les appareils déployés par d'autres personnes à l'aide de leurs API.
Qu'est-ce qu'une API et en quoi est-elle utile?
L'acronyme API signifie Application Programming Interface, ce n'est pas une nouveauté et se limite à l'IoT, ils sont utilisés dans le développement de logiciels depuis longtemps. Les API facilitent l' intégration de différents services dans les produits, permettant aux applications écrites dans une langue d'être utilisées par des logiciels écrits dans une autre langue, contribuant à réduire l'infrastructure globale et le temps requis pour le développement des produits. Ces mêmes avantages sont actuellement transférés dans les applications IoT avec des API utilisées dans diverses applications pour exposer des données qui permettent à plusieurs appareils d'être combinés et connectés pour résoudre de nouveaux flux de travail intéressants, révélant des possibilités inédites autour de l'IoT.
Lors de l'inscription à de nouveaux services (disons Spotify), nous aurions souvent rencontré des options telles que «Se connecter à l'aide de Gmail» ou «Se connecter à l'aide de Facebook». Ce ne sont que des API fournies par Google / Facebook à Spotify pour faciliter la procédure d'inscription. Ici, l'API partagera les détails de l'utilisateur de base tels que le nom, l'ID de messagerie, le numéro de téléphone, etc. avec Spotify et vous aidera à gagner du temps avec la procédure d'inscription. De même, différentes API sont disponibles pour différents besoins d'application.
Tout comme avec les logiciels, plusieurs API IoT sont disponibles pour différentes tâches, mais la plupart d'entre elles ne sont généralement pas gratuites. Pour le didacticiel d'aujourd'hui, nous examinerons le top 10 des API IoT Open Source très utiles (à notre avis) pour vous aider à réduire vos coûts et votre temps de développement. Ces API sont ouvertes, gratuites (ou ont des packages gratuits) et peuvent être utilisées non seulement par les professionnels, mais aussi par les fabricants, les amateurs et à peu près tous ceux qui les trouvent utiles et acceptent les conditions d'utilisation. Ces API sont répertoriées sans ordre particulier, ont été sélectionnées au hasard dans les secteurs verticaux et ne sont probablement pas comparables car elles exécutent des tâches différentes.
1. API REST OpenHAB
Open Home Automation Bus (openHAB) est une plate-forme domotique open source indépendante de la technologie qui permet de connecter et de contrôler des appareils intelligents et des appareils domestiques «pas si intelligents» en un seul endroit. Il permet l'exécution d'actions définies par l'utilisateur par les appareils, en utilisant des informations définies par l'utilisateur et des outils définis par l'utilisateur. Pour ce faire, openHAB segmente et compartimente certaines fonctions et opérations qui sont toutes accessibles via l'API REST openHAB.
Grâce à l'API REST openHAB, les utilisateurs peuvent accéder aux données de tous les appareils associés à la plate-forme, aux appareils eux-mêmes (objets) et aux liaisons, ainsi qu'à émettre des commandes et des actions pour modifier l'état, le comportement ou les propriétés des appareils connectés à openHAB. L'interaction avec l'API est basée sur le protocole; en tant que tel, il est important de garantir des connexions sûres et sûres lorsque vous travaillez avec. Selon le site Web openHAB, certaines des interactions possibles via l'API openHAB REST comprennent:
- Récupérer des données openHAB à partir d'applications externes
- Injectez des données et déclenchez des événements dans openHAB à partir d'applications externes (par exemple, certains détecteurs de mouvement ou caméras de surveillance)
- Inspectez les liaisons / objets ou éléments openHAB, découvrez les états, paramètres ou problèmes actuels
- Interagir avec openHAB à partir d'autres programmes; de nombreux langages de programmation et outils d'automatisation peuvent facilement utiliser l'API REST
- Utilisation de logiciels tiers sur les téléphones portables, tels que Tasker pour ouvrir votre porte de garage
Une documentation, plus d'exemples et des instructions détaillées sur l'utilisation de l'API sont disponibles sur le site Web d'OpenHAB.
Les applications tierces comme Tasker utilisées avec openHAB sont un grand indicateur de la façon dont les API ouvrent l'économie de l'IoT, offrant des opportunités de création de valeur supplémentaire tout au long de la chaîne.
2. API Mozilla Web Things
Mozilla est une organisation à but non lucratif qui a pour mission de défendre le Web libre et ouvert et l'API Web Things représente ses efforts pour étendre sa participation sur le Web à l'IoT. Selon le site Web Web Things, l'API Web Things permet aux utilisateurs de fournir des URL uniques à tous les appareils connectés sur le World Wide Web, ce qui lui permet d'être utilisée comme couche d'application unificatrice pour tous les appareils IoT.
L'API Web Things, comme la plupart des autres API IoT, est basée sur REST et permet aux utilisateurs de; accéder aux propriétés des appareils, déterminer l'état actuel de chaque appareil et émettre des commandes pour modifier l'état de l'appareil ou effectuer des actions. L'API WebThings facilite l'accès aux ressources, représentant chaque aspect d'un appareil, car chaque ressource est référencée indépendamment à l'aide d'une URL. Pour plus d'informations, consultez le site Web de Mozilla IoT.
3. OpenWeatherMap
OpenWeatherMap est un service Web qui permet d' accéder aux données météorologiques (température, humidité, précipitations, etc.), y compris la météo actuelle, les prévisions et les données historiques aux développeurs de services Web, d'applications mobiles et plus récemment d'applications IoT. Les données disponibles via OpenWeatherMap proviennent de sources allant des stations météorologiques de bricolage aux services de diffusion météorologique, aux stations météorologiques d'aéroport et à plusieurs autres sources. Nous avons déjà discuté de la façon d'utiliser Openweather Map avec Arduino pour lire les données météorologiques d'Internet en utilisant ESP8266.
Les données sont traitées et triées de telle manière que via l'API OpenWeatherMap, des solutions IoT qui exploitent ces données pour informer et automatiser les tâches peuvent être créées. Par exemple, les données de prévision via l'API peuvent être introduites dans un système / dispositif d'alarme pour avertir les agriculteurs d'éventuelles averses violentes parmi plusieurs autres possibilités.
Bien que la plupart des fonctionnalités d'OpenWeatherMap soient payantes, le package gratuit possède des fonctionnalités extrêmement utiles qui peuvent très bien servir la plupart des projets IoT. La documentation et d'autres détails sur l'API peuvent être trouvés sur le site Web openWeatherMap.
4. API EmonCMS
EmonCMS est une puissante application Web open source pour le traitement, la journalisation et la visualisation des données. C'est le fruit des efforts du groupe OpenEnergyMonitor pour, comme son nom l'indique, faciliter les dispositifs de surveillance de l'énergie open source en analysant les données environnementales. Il s'agit essentiellement d'un outil de visualisation de données où les données de plusieurs surveillances énergétiquesles capteurs peuvent être visualisés. Pour faciliter l'accès des développeurs à la plate-forme, une API de connectivité a été créée pour permettre l'interaction avec la plate-forme lors de l'exécution sur localhost (LAN) ou via Internet. L'API EmonCMS permet aux utilisateurs de mettre à jour l'état des appareils énergétiques sur la plate-forme, d'obtenir des lectures et d'autres paramètres indiquant l'état des appareils (si l'appareil est compatible) à partir de la plate-forme ainsi que plusieurs autres fonctionnalités.
Vous souhaitez ajouter une visualisation des données à votre prochaine solution IoT basée sur l'énergie? L'EmonCMS est peut-être ce dont vous avez besoin. Plus d'informations sur la plateforme et l'API peuvent être trouvées sur leur site Web.
5. API Particle
Particle API est l'interface de programmation d'application développée par Particle pour permettre aux développeurs de travailler facilement avec leur plate-forme. Particle.IO est l'un des véritables fournisseurs de solutions IoT de bout en bout du secteur, fournissant le matériel de l'appareil, la communication cellulaire, le cloud d'appareils et les interfaces d'application. Nous avons déjà utilisé Particle Cloud avec Raspberry Pi à des fins de domotique.
L'API Particle permet aux développeurs d'accéder et d'intégrer facilement toutes les fonctionnalités de Particle avec d'autres applications et appareils. Selon particule, l'API permet aux développeurs d'écrire des fonctions dans le micrologiciel de leur appareil, puis de les appeler pour une utilisation du côté application des choses en temps réel. Quelques exemples de méthodes d'API incluent l'activation et la désactivation du wifi, la connexion de périphériques, le basculement de l'état des périphériques, l'obtention de données et la gestion générale des périphériques.
La documentation et d'autres détails sur l'API sont disponibles sur le site Web de ParticleIO.
6. API Adafruit IO
Adafruit est l'une des marques les plus populaires dans le monde de l'électronique DIY et leur décision de lancer il y a quelque temps la plate-forme Adafruit IO pour les solutions IoT a été bien accueillie par la communauté des fabricants / amateurs d'électronique. La plate-forme n'a cessé de croître depuis et a servi un bon nombre de fabricants, dont moi. La plate-forme Adafruit IO est essentiellement un cloud d'appareils avec des fonctionnalités de visualisation de données, entre autres, toutes pilotées par l'API Adafruit IO. Nous avons déjà utilisé Adafruit IO avec PIC et d'autres plates-formes de développement comme ESP et Raspberry Pi.
Selon Adafruit, l'API HTTP Adafruit IO permet aux utilisateurs d'accéder à leurs données Adafruit IO à partir de n'importe quel langage de programmation ou environnement matériel pouvant parler HTTP. Grâce à cela, ils peuvent concevoir des systèmes qui prennent des mesures en fonction des données et effectuer des changements dans l'appareil en envoyant des informations aux appareils.
La plate-forme Adafruit IO est l'une des plates-formes les plus faciles à utiliser et c'est l'une de mes préférées pour les projets DIY IoT. La documentation et plus de détails peuvent être trouvés sur le site Web d'Adafruit IO.
7. API Home Assistant
Home Assistant est un système domotique open source dirigé par la communauté, similaire à openHAB. Comme les autres plates-formes, Home Assistant est piloté par l'API REST Python de Home Assistant qui fournit un accès aux méthodes de données pour le service de contrôle de Home Assistant.
Il permet aux utilisateurs de modifier la configuration, de renvoyer des informations de base sur l'instance de Home Assistant, de renvoyer toutes les données nécessaires au démarrage, de renvoyer un tableau d'objets d'événement, etc. L'API accepte et renvoie uniquement les objets encodés JSON contenant le nom de l'événement, le nombre d'écouteurs, etc. Il est basé sur python 3 et permet de suivre et de contrôler sans effort tous les appareils domestiques enregistrés, que l'enregistrement ait été effectué via le Web ou l'application mobile. La documentation et plus de détails sur l'API sont disponibles sur le site Web de Home Assistant.
8. Les API du réseau Things
LoRa devient l'un des canaux de communication de choix en raison de sa longue portée et de sa faible consommation d'énergie, entre autres fonctionnalités. The Things Network (TTN) est un effort communautaire open source visant à créer un réseau LoRaWAN ouvert mondial afin de créer une infrastructure ouverte afin de faciliter le développement de solutions IoT basées sur LoRa. En tant que tel, TTN fournit un ensemble d'outils ouverts et un réseau ouvert mondial offrant une sécurité et une évolutivité maximales. Si vous êtes nouveau sur Lora, consultez l'article détaillé sur l'introduction à LoRa et LoRaWAN.
L'interaction avec la plate-forme TTN est conduite par deux API majeures; l'API TTN Data et l'API TTN Application Manager. L'API de données vous permet de recevoir des événements et des messages d'appareils ainsi que d'envoyer des messages aux appareils, généralement, d'échanger des informations avec les appareils. L'API Application Manager, quant à elle, est utilisée pour gérer les applications, les passerelles et les appareils. L'API de données est basée sur le protocole MQTT et peut être utilisée pour le développement via le SDK ou directement avec MQTT tandis que l'API Application Manager est basée sur le protocole HTTP. Vous trouverez plus d'informations sur ces API sur le site Web de The Things Network.
9. API REST ThingSpeak.io
ThingSpeak est considérée comme l'une des meilleures plateformes cloud open source pour les appareils IoT. C'est l'une des meilleures plates-formes pour traiter les données des appareils, notamment en raison de son intégration avec MATLAB après son acquisition par Mathworks il y a quelques années. Il permet aux utilisateurs de télécharger, d'agréger, d'analyser et de visualiser des données à l'aide de MATLABsans avoir besoin d'acquérir le logiciel MATLAB séparément. Tout ce qui précède facilite l'utilisation de l'API ThingSpeak. Tout comme la plupart des autres API mentionnées ci-dessus, l'API ThingSpeak permet aux utilisateurs; collectez et stockez les données des capteurs, récupérez les données et l'état actuel des appareils connectés, automatisez les événements en fonction des données, configurez les déclencheurs en fonction de l'état des appareils IoT et intégrez les plateformes de médias sociaux comme Twitter, entre autres fonctionnalités. Pour en savoir plus sur ThingSpeak, consultez les précédents projets IoT où ThingSpeak a été utilisé avec de nombreux microcontrôleurs tels que Arduino, Raspberry PI, ESP, etc.
- Surveillance de la température et de l'humidité en direct sur Internet à l'aide d'Arduino et de ThingSpeak
- Surveillance du rythme cardiaque sur Internet en utilisant Arduino et ThingSpeak
- Station météo Raspberry Pi: surveillance de l'humidité, de la température et de la pression sur Internet
- Système de surveillance des patients basé sur l'IoT utilisant ESP8266 et Arduino
Certaines des fonctionnalités de ThingSpeak qui se traduisent automatiquement par les avantages de l'utilisation de son API sont;
- Configuration facile de l'appareil pour transmettre des données à la plate-forme ThingSpeak à l'aide de plates-formes IoT standard.
- Visualisation en temps réel des données des capteurs et agrégation de données à l'aide de sources tierces.
- L'analyse IoT s'exécute en fonction de calendriers ou d'événements.
- Analyses MATLAB, API RESTful et MQTT.
- Permet le prototypage et la construction de systèmes IoT sans aucune configuration de serveur ni installation de logiciel Web.
- Compatibilité avec les plates-formes de développement populaires telles que Arduino et Raspberry Pi
- Agit automatiquement sur les données et automatise les tâches
- Intégration avec des services tiers comme Twitter. Un bon exemple de situation où cela est utile est une solution IoT qui tweete automatiquement le niveau d'eau.
En plus de l'API hébergée gratuite, l'API ThingSpeak est open source et disponible sur GitHub en téléchargement sur des serveurs privés.
10. Fonderie EdgeX
EdgeX Foundry est un écosystème open source de plates-formes IoT basé sur des configurations open source. L'API EdgeX Foundry offre plusieurs points de terminaison pour les services, notamment l' enregistrement des clients , la planification et la journalisation. L'API a une architecture REST et utilise OAuth 2.0 pour l'authentification. Edgex a une série de micro-services qui sont attachés à chaque appareil connecté au réseau.
Chaque micro-service a plusieurs appels API importants qui peuvent être utilisés pour;
- Enregistrer un service d'appareil
- Provisionner un appareil
- Envoyer des données de l'appareil vers la plate-forme Edgex,
- Lecture des données de la plate-forme Edgex pour une utilisation dans d'autres applications
- Exporter des données, entre autres.
La documentation et plus de détails sur l'API peuvent être trouvés sur le site Web EdgeX Foundry.
C'est ma liste! Cette liste n'est cependant en aucun cas exhaustive car certaines autres API comme IoT-Plotter et d'autres que j'aurais pu ajouter à la liste me viennent à l'esprit. N'hésitez pas à laisser des commentaires sur les API Open IoT avec lesquelles vous avez travaillé. Vos commentaires peuvent aider les autres à sélectionner une API ou une plateforme à utiliser dans leurs projets.
Jusqu'à la prochaine fois.