- Was ist eine API und wie ist sie nützlich?
- 1. OpenHAB REST API
- 2. Mozilla Web Things API
- 3. OpenWeatherMap
- 4. EmonCMS API
- 6. Adafruit IO API
- 7. Home Assistant API
- 8. Die Things Network APIs
- 9. ThingSpeak.io REST API
- 10. EdgeX Foundry
In der heutigen vernetzten Welt ist Internet of Thins (IoT) kein Modewort mehr, das von Experten herumgeworfen wird. Es ist real!! Und ist überall um uns herum zu finden, verändert das Leben, ermöglicht bessere Dienstleistungen, verbessert Prozesse, bietet neue Möglichkeiten und steigert den Umsatz.
Mit Milliarden neuer Geräte, die noch nicht mit dem Internet verbunden sind, werden die Auswirkungen des IoT definitiv über die IoT-Geräte selbst hinaus auf mehrere andere Anwendungen übertragen, indem die von diesen Geräten bereitgestellten Daten genutzt werden, um soziales und kommerzielles Wachstum zu erzielen. Dies geschieht bereits, da die meisten Unternehmen, in denen IoT-Lösungen nicht bereitgestellt sind, die Vorteile weiterhin nutzen können, indem sie mithilfe ihrer APIs auf die Daten zugreifen, die von Geräten generiert wurden, die von anderen Personen bereitgestellt wurden.
Was ist eine API und wie ist sie nützlich?
Das Akronym API steht für Application Programming Interface. Diese sind nicht neu und auf IoT beschränkt. Sie werden seit langem in der Softwareentwicklung verwendet. APIs erleichtern die einfache Integration verschiedener Dienste in Produkte, sodass in einer Sprache geschriebene Anwendungen von in einer anderen Sprache geschriebener Software verwendet werden können, wodurch die Gesamtinfrastruktur und der Zeitaufwand für die Produktentwicklung reduziert werden. Dieselben Vorteile werden derzeit auf IoT-Anwendungen übertragen, wobei APIs für verschiedene Anwendungen verwendet werden, um Daten verfügbar zu machen, mit denen mehrere Geräte kombiniert und verbunden werden können, um neue und interessante Workflows zu lösen und unsichtbare Möglichkeiten rund um IoT aufzudecken.
Bei der Anmeldung für neue Dienste (z. B. Spotify) sind häufig Optionen wie "Mit Google Mail anmelden" oder "Mit Facebook anmelden" aufgetreten. Dies sind nichts anderes als APIs, die Spotify von Google / Facebook zur Verfügung gestellt wird, um den Anmeldevorgang zu vereinfachen. Hier teilt die API grundlegende Benutzerdetails wie Name, E-Mail-ID, Telefonnummer usw. mit Spotify und hilft Ihnen, Zeit beim Anmelden zu sparen. Ebenso stehen unterschiedliche APIs für unterschiedliche Anwendungsanforderungen zur Verfügung.
Genau wie bei Software stehen mehrere IoT-APIs für verschiedene Aufgaben zur Verfügung, die meisten sind jedoch normalerweise nicht kostenlos. Für das heutige Tutorial werden wir uns die Top 10 ansehen, die (unserer Meinung nach) sehr nützliche Open Source IoT-APIs sind, um Ihnen dabei zu helfen, Ihre Entwicklungskosten und -zeit zu reduzieren. Diese APIs sind offen, kostenlos (oder haben kostenlose Pakete) und können nicht nur von Profis, sondern auch von Herstellern, Hobbyisten und so ziemlich jedem verwendet werden, der sie nützlich findet und mit den Nutzungsbedingungen einverstanden ist. Diese APIs werden in keiner bestimmten Reihenfolge aufgelistet, wurden zufällig über Vertikale hinweg ausgewählt und sind wahrscheinlich nicht vergleichbar, da sie unterschiedliche Aufgaben ausführen.
1. OpenHAB REST API
Open Home Automation Bus (openHAB) ist eine Open-Source-Plattform für technologieunabhängige Hausautomation, mit der intelligente Geräte und „nicht so intelligente“ Heimgeräte an einem Ort verbunden und gesteuert werden können. Es ermöglicht die Ausführung benutzerdefinierter Aktionen durch Geräte mithilfe benutzerdefinierter Informationen und benutzerdefinierter Tools. Um dies zu erreichen, segmentiert und unterteilt openHAB bestimmte Funktionen und Operationen, auf die alle über die openHAB-REST-API zugegriffen werden kann.
Über die openHAB-REST-API können Benutzer auf die Daten aller mit der Plattform verbundenen Geräte, der Geräte selbst (Dinge) und Bindungen zugreifen sowie Befehle und Aktionen ausgeben, um den Status, das Verhalten oder die Eigenschaften der mit openHAB verbundenen Geräte zu ändern. Die Interaktion mit der API basiert auf dem HTTP-Protokoll. Daher ist es wichtig, sichere Verbindungen zu gewährleisten, wenn Sie damit arbeiten. Laut der openHAB-Website gehören zu den Interaktionen, die über die openHAB-REST-API möglich sind, Folgendes:
- Rufen Sie openHAB-Daten aus externen Anwendungen ab
- Injizieren Sie Daten und lösen Sie Ereignisse in openHAB von externen Anwendungen aus (z. B. einigen Bewegungsmeldern oder Überwachungskameras).
- Überprüfen Sie openHAB-Bindungen / -Dinge oder -Elemente, informieren Sie sich über aktuelle Zustände, Parameter oder Probleme
- Interaktion mit openHAB aus anderen Programmen; Viele Programmiersprachen und Automatisierungstools können die REST-API problemlos verwenden
- Verwenden von Software von Drittanbietern auf Mobiltelefonen wie Tasker zum Öffnen Ihres Garagentors
Dokumentation, weitere Beispiele und detaillierte Anweisungen zur Verwendung der API finden Sie auf der OpenHAB-Website.
Apps von Drittanbietern wie Tasker, die mit openHAB verwendet werden, sind ein wichtiger Hinweis darauf, wie APIs die IoT-Wirtschaftlichkeit öffnen und Möglichkeiten für zusätzliche Wertschöpfung entlang der Kette bieten.
2. Mozilla Web Things API
Mozilla ist eine gemeinnützige Organisation mit dem Ziel, das freie und offene Web zu verteidigen. Die API für Web-Dinge repräsentiert ihre Bemühungen, die Teilnahme am Web auf das Internet der Dinge auszudehnen. Laut der Web Things-Website können Benutzer mit der Web Things-API allen verbundenen Geräten im World Wide Web eindeutige URLs bereitstellen, sodass sie als einheitliche Anwendungsschicht für alle IoT-Geräte verwendet werden können.
Die Web Things-API basiert wie die meisten anderen IoT-APIs auf REST und ermöglicht es Benutzern, Greifen Sie auf die Eigenschaften von Geräten zu, ermitteln Sie den aktuellen Status jedes Geräts und geben Sie Befehle aus, um den Status des Geräts zu ändern oder Aktionen auszuführen. Die WebThings-API erleichtert den Zugriff auf Ressourcen, die jeden Aspekt eines Geräts darstellen, da auf jede Ressource unabhängig über eine URL verwiesen wird. Weitere Informationen finden Sie auf der Mozilla IoT-Website.
3. OpenWeatherMap
OpenWeatherMap ist ein webbasierter Dienst, der Entwicklern von Webdiensten, mobilen und neueren IoT-Anwendungen Zugriff auf wetterbezogene Daten (Temperatur, Luftfeuchtigkeit, Niederschlag usw.) bietet, einschließlich aktuelles Wetter, Vorhersagen und historische Daten. Die über OpenWeatherMap verfügbaren Daten stammen aus Quellen, die von DIY-Wetterstationen über meteorologische Rundfunkdienste bis hin zu Flughafenwetterstationen und verschiedenen anderen Quellen reichen. Wir haben bereits besprochen, wie Openweather Map mit Arduino verwendet werden kann, um Wetterdaten mit ESP8266 aus dem Internet zu lesen.
Die Daten werden so verarbeitet und sortiert, dass über die OpenWeatherMap-API IoT-Lösungen erstellt werden können, die diese Daten zur Information und Automatisierung von Aufgaben nutzen. Beispielsweise können Prognosedaten über die API in ein Alarmsystem / -gerät eingespeist werden, um die Landwirte unter anderem vor möglichen starken Regengüssen zu warnen.
Während die meisten Funktionen von OpenWeatherMap bezahlt werden, bietet das kostenlose Paket äußerst nützliche Funktionen, die die meisten IoT-Projekte recht gut bedienen können. Dokumentation und weitere Details zur API finden Sie auf der openWeatherMap-Website.
4. EmonCMS API
EmonCMS ist eine leistungsstarke Open-Source-Web-App zum Verarbeiten, Protokollieren und Visualisieren von Daten. Es ist ein Produkt der Bemühungen der OpenEnergyMonitor-Gruppe, wie der Name schon sagt, Open-Source-Energieüberwachungsgeräte durch Analyse von Umweltdaten zu vereinfachen. Es handelt sich im Wesentlichen um ein Datenvisualisierungstool, bei dem Daten aus mehreren Energieüberwachungen verwendet werdenSensoren können angezeigt werden. Um Entwicklern den Zugriff auf die Plattform zu erleichtern, wurde eine Konnektivitäts-API erstellt, die die Interaktion mit der Plattform ermöglicht, wenn sie auf localhost (LAN) oder über das Internet ausgeführt wird. Mit der EmonCMS-API können Benutzer den Status von Energiegeräten auf der Plattform aktualisieren, Messwerte und andere Parameter abrufen, die den Status von Geräten (sofern das Gerät kompatibel ist) von der Plattform zusammen mit mehreren anderen Funktionen anzeigen.
Möchten Sie Ihrer nächsten energiebasierten IoT-Lösung eine Datenvisualisierung hinzufügen? Das EmonCMS ist möglicherweise genau das, was Sie brauchen. Weitere Informationen zur Plattform und zur API finden Sie auf deren Website.
5. Partikel-API
Die Partikel-API ist die von Partikel entwickelte Anwendungsprogrammierschnittstelle, mit der Entwickler problemlos mit ihrer Plattform arbeiten können. Particle.IO ist einer der echten End-to-End-Anbieter von IoT-Lösungen in der Branche und bietet Gerätehardware, Mobilfunk, Geräte-Cloud und Anwendungsschnittstellen. Wir haben zuvor die Partikelwolke mit Raspberry Pi für die Hausautomation verwendet.
Die Partikel-API erleichtert Entwicklern den Zugriff auf und die Integration der gesamten Funktionalität von Partikeln in andere Anwendungen und Geräte. Laut Partikel ermöglicht die API Entwicklern, Funktionen in die Firmware ihres Geräts zu schreiben und sie dann zur Verwendung auf der Anwendungsseite in Echtzeit aufzurufen. Einige beispielhafte API-Methoden umfassen das Ein- und Ausschalten des WLANs, das Verbinden von Geräten, das Umschalten des Status der Geräte, das Abrufen von Daten und das allgemeine Verwalten der Geräte.
Dokumentation und weitere Details zur API finden Sie auf der Website von ParticleIO.
6. Adafruit IO API
Adafruit ist eine der beliebtesten Marken in der DIY-Elektronikwelt und ihre Entscheidung, die Adafruit IO-Plattform für IoT-Lösungen vor einiger Zeit auf den Markt zu bringen, wurde von der Hersteller- / Elektronik-Hobby-Community gut aufgenommen. Die Plattform ist seitdem weiter gewachsen und hat eine gute Anzahl von Machern bedient, einschließlich mir. Die Adafruit IO-Plattform ist im Wesentlichen eine Gerätewolke mit Datenvisualisierungsfunktionen, die unter anderem von der Adafruit IO-API gesteuert werden. Wir haben Adafruit IO bereits mit PIC und anderen Entwicklungsplattformen wie ESP und Raspberry Pi verwendet.
Laut Adafruit bietet die Adafruit IO-HTTP-API Benutzern Zugriff auf ihre Adafruit IO-Daten aus jeder Programmiersprache oder Hardwareumgebung, die HTTP sprechen kann. Auf diese Weise können sie Systeme entwerfen, die basierend auf den Daten Maßnahmen ergreifen und Änderungen am Gerät bewirken, indem sie Informationen an die Geräte senden.
Die Adafruit IO-Plattform ist eine der am einfachsten zu bearbeitenden Plattformen und einer meiner Favoriten für DIY-IoT-Projekte. Dokumentation und weitere Details finden Sie auf der Website von Adafruit IO.
7. Home Assistant API
Home Assistant ist ein von der Community geführtes Open-Source-Hausautomationssystem, das openHAB ähnelt. Wie andere Plattformen wird Home Assistant von der Home Assistant Python REST-API gesteuert, die den Zugriff auf Datenmethoden für den Home Assistant-Steuerungsdienst ermöglicht.
Benutzer können die Konfiguration bearbeiten, grundlegende Informationen zur Home Assistant-Instanz zurückgeben, alle zum Bootstrap erforderlichen Daten zurückgeben, ein Array von Ereignisobjekten zurückgeben und vieles mehr. Die API akzeptiert und gibt nur JSON-codierte Objekte zurück, die Ereignisnamen, Listener-Anzahl und mehr enthalten. Es basiert auf Python 3 und hilft dabei, alle registrierten Heimgeräte mühelos zu verfolgen und zu steuern, unabhängig davon, ob die Registrierung über das Internet oder die mobile App erfolgte. Dokumentation und weitere Details zur API finden Sie auf der Website von Home Assistant.
8. Die Things Network APIs
LoRa wird aufgrund seiner großen Reichweite und seines geringen Stromverbrauchs unter anderem zu einem Kommunikationskanal der Wahl. Das Things Network (TTN) ist eine von der Community betriebene Open-Source-Initiative zum Aufbau eines globalen offenen LoRaWAN-Netzwerks, um eine offene Infrastruktur zu schaffen, die die Entwicklung von LoRa-basierten IoT-Lösungen erleichtert. Als solches bietet TTN eine Reihe offener Tools und ein globales, offenes Netzwerk mit maximaler Sicherheit und Skalierbarkeit. Wenn Sie Lora noch nicht kennen, lesen Sie den ausführlichen Artikel zur Einführung in LoRa und LoRaWAN.
Die Interaktion mit der TTN-Plattform wird von zwei Haupt-APIs gesteuert. die TTN-Daten-API und die TTN-Anwendungsmanager-API. Mit der Daten-API können Sie Ereignisse und Nachrichten von Geräten empfangen sowie Nachrichten an Geräte senden und im Allgemeinen Informationen mit Geräten austauschen. Die Application Manager-API wird dagegen zum Verwalten von Anwendungen, Gateways und Geräten verwendet. Die Daten-API basiert auf dem MQTT-Protokoll und kann für die Entwicklung über das SDK oder direkt mit MQTT verwendet werden, während die Application Manager-API auf dem HTTP-Protokoll basiert. Weitere Informationen zu dieser API finden Sie auf der Website von The Things Network.
9. ThingSpeak.io REST API
ThingSpeak gilt als eine der besten Open-Source-Cloud-Plattformen für IoT-Geräte. Es ist eine der besten Plattformen für die Verarbeitung von Daten von Geräten, insbesondere aufgrund der Integration in MATLAB, nachdem es vor einigen Jahren von Mathworks übernommen wurde. Benutzer können mit MATLAB Daten hochladen, aggregieren, analysieren und visualisierenohne dass die MATLAB-Software separat erworben werden muss. All dies erleichtert die Verwendung der ThingSpeak-API. Wie die meisten anderen oben genannten APIs ermöglicht die ThingSpeak-API Benutzern; Sammeln und Speichern von Sensordaten, Abrufen von Daten und des aktuellen Status verbundener Geräte, Automatisieren von Ereignissen basierend auf Daten, Einrichten von Triggern basierend auf dem Status von IoT-Geräten und Integrieren in Social Media-Plattformen wie Twitter. Weitere Informationen zu ThingSpeak finden Sie in früheren IoT-Projekten, in denen ThingSpeak mit vielen verschiedenen Mikrocontrollern wie Arduino, Raspberry PI, ESP usw. verwendet wurde:
- Live-Temperatur- und Feuchtigkeitsüberwachung über das Internet mit Arduino und ThingSpeak
- Herzschlagüberwachung über das Internet mit Arduino und ThingSpeak
- Raspberry Pi Weather Station: Überwachung von Luftfeuchtigkeit, Temperatur und Druck über das Internet
- IoT-basiertes Patientenüberwachungssystem mit ESP8266 und Arduino
Einige der Funktionen von ThingSpeak, die sich automatisch in den Vorteilen der Verwendung der API niederschlagen, sind:
- Einfache Gerätekonfiguration zur Übertragung von Daten an die ThingSpeak-Plattform mithilfe von Standard-IoT-Plattformen.
- Echtzeitvisualisierung von Sensordaten und Datenaggregation unter Verwendung von Quellen Dritter.
- IoT-Analysen werden basierend auf Zeitplänen oder Ereignissen ausgeführt.
- MATLAB Analytics-, RESTful- und MQTT-APIs.
- Ermöglicht das Prototyping und Erstellen von IoT-Systemen ohne Server-Setup und Installation von Web-Software.
- Kompatibilität mit gängigen Entwicklungsplattformen wie Arduino und Raspberry Pi
- Wirkt automatisch auf Daten und automatisiert Aufgaben
- Integration mit Drittanbieterdiensten wie Twitter. Ein gutes Beispiel für eine Situation, in der dies nützlich ist, ist eine IoT-Lösung, die den Wasserstand automatisch twittert.
Zusätzlich zur kostenlosen gehosteten API ist die ThingSpeak-API Open Source und steht auf GitHub zum Download auf privaten Servern zur Verfügung.
10. EdgeX Foundry
EdgeX Foundry ist ein Open-Source-Ökosystem von IoT-Plattformen, das auf Open-Source-Konfigurationen basiert. Die EdgeX Foundry-API bietet verschiedene Endpunkte für Dienste, einschließlich Clientregistrierung , Zeitplanung und Protokollierung. Die API verfügt über eine REST-Architektur und verwendet OAuth 2.0 zur Authentifizierung. Edgex verfügt über eine Reihe von Mikrodiensten, die an jedes mit dem Netzwerk verbundene Gerät angeschlossen sind.
Jeder Mikrodienst verfügt über mehrere wichtige API-Aufrufe, die verwendet werden können.
- Registrieren Sie einen Gerätedienst
- Stellen Sie ein Gerät bereit
- Daten vom Gerät an die Edgex-Plattform senden,
- Lesen der Daten von der Edgex-Plattform zur Verwendung in anderen Anwendungen
- Exportieren von Daten unter anderem.
Dokumentation und weitere Details zur API finden Sie auf der EdgeX Foundry-Website.
Das ist meine Liste! Diese Liste ist jedoch keineswegs erschöpfend, da einige andere APIs wie IoT-Plotter und andere, die ich der Liste hätte hinzufügen können, in den Sinn kommen. Sie können gerne Kommentare zu den Open IoT-APIs abgeben, mit denen Sie gearbeitet haben. Ihre Kommentare können anderen dabei helfen, eine API oder Plattform für ihre Projekte auszuwählen.
Bis zum nächsten Mal.