- Wat is een API en hoe is het nuttig?
- 1. OpenHAB REST API
- 2. Mozilla Web Things-API
- 3. OpenWeatherMap
- 4. EmonCMS API
- 6. Adafruit IO API
- 7. Home Assistant API
- 8. De Things Network API's
- 9. ThingSpeak.io REST API
- 10. EdgeX Foundry
In de verbonden wereld van vandaag is Internet of Thins (IoT) niet langer een modewoord dat door experts wordt rondgegooid. Het is echt!! En is overal om ons heen te vinden, levens veranderen, betere dienstverlening mogelijk maken, processen verbeteren, nieuwe kansen bieden en inkomsten verhogen.
Met miljarden nieuwe apparaten die nog moeten worden verbonden met internet, zal de impact van IoT zeker verder gaan dan de IoT-apparaten zelf naar verschillende andere toepassingen door gebruik te maken van de gegevens die door deze apparaten worden geleverd om sociale en commerciële groei te realiseren. Dit gebeurt al omdat de meeste organisaties die tegenwoordig geen IoT-oplossingen hebben geïmplementeerd, er nog steeds de vruchten van kunnen plukken door toegang te krijgen tot de gegevens die worden gegenereerd door apparaten die door andere mensen zijn geïmplementeerd door hun API's te gebruiken.
Wat is een API en hoe is het nuttig?
De afkorting API staat voor Application Programming Interface, deze zijn niet nieuw en beperkt tot IoT, ze worden al heel lang gebruikt in softwareontwikkeling. API's vergemakkelijken de eenvoudige integratie van verschillende services in producten, waardoor applicaties die in de ene taal zijn geschreven, kunnen worden gebruikt door software die in een andere taal is geschreven, waardoor de algehele infrastructuur en tijd die nodig is voor productontwikkeling worden verminderd. Deze zelfde voordelen worden momenteel overgedragen naar IoT-applicaties, waarbij API's in verschillende applicaties worden gebruikt om gegevens bloot te leggen waarmee meerdere apparaten kunnen worden gecombineerd en verbonden om nieuwe en interessante workflows op te lossen, waardoor ongeziene mogelijkheden rond IoT worden onthuld.
Bij het aanmelden voor nieuwe services (bijvoorbeeld Spotify), zouden we vaak opties zijn tegengekomen zoals 'Aanmelden met Gmail' of 'Aanmelden met Facebook'. Dit zijn niets anders dan API's die door Google / Facebook aan Spotify worden geleverd om de aanmeldingsprocedure gemakkelijk te maken. Hier deelt de API basisgebruikersgegevens zoals naam, e-mail-ID, telefoonnummer enz. Met Spotify en helpt u tijd te besparen bij de aanmeldingsprocedure. Evenzo zijn er verschillende API's beschikbaar voor verschillende applicatiebehoeften.
Net als bij software zijn er verschillende IoT-API's beschikbaar voor verschillende taken, maar de meeste zijn meestal niet gratis. Voor de tutorial van vandaag kijken we naar de top 10, zeer nuttige (naar onze mening) Open Source IoT API's om u te helpen uw ontwikkelingskosten en tijd te verminderen. Deze API's zijn open, gratis (of hebben gratis pakketten) en kunnen niet alleen door professionals worden gebruikt, maar ook door makers, hobbyisten en vrijwel iedereen die ze nuttig vindt en de gebruiksvoorwaarden goed vindt. Deze API's worden in willekeurige volgorde weergegeven, zijn willekeurig in verschillende branches geselecteerd en zijn waarschijnlijk niet vergelijkbaar omdat ze verschillende taken uitvoeren.
1. OpenHAB REST API
Open Home Automation Bus (openHAB) is een open source, technologie-agnostisch domotica-platform dat helpt om slimme apparaten en 'niet-zo-slimme' thuisapparaten op één plek te verbinden en te bedienen. Hiermee kunnen door de gebruiker gedefinieerde acties door apparaten worden uitgevoerd, met behulp van door de gebruiker gedefinieerde informatie en door de gebruiker gedefinieerde tools. Om dit te bereiken, segmenteert en verdeelt openHAB bepaalde functies en bewerkingen die allemaal kunnen worden benaderd via de openHAB REST API.
Via de openHAB REST API hebben gebruikers toegang tot de gegevens van alle apparaten die aan het platform zijn gekoppeld, de apparaten zelf (dingen) en bindingen, en kunnen ze ook opdrachten en acties geven om de status, het gedrag of de eigenschappen van de apparaten die met openHAB zijn verbonden te wijzigen. De interactie met de API is gebaseerd op het HTTP-protocol; daarom is het belangrijk om voor veilige en veilige verbindingen te zorgen wanneer u ermee werkt. Volgens de openHAB-website omvatten enkele van de interacties die mogelijk zijn via de openHAB REST API;
- Haal openHAB-gegevens op uit externe applicaties
- Injecteer gegevens en activeer gebeurtenissen in openHAB vanuit externe applicaties (bijvoorbeeld sommige bewegingsdetectoren of bewakingscamera's)
- Inspecteer openHAB-bindingen / dingen of items, leer over huidige toestanden, parameters of problemen
- Interactie met openHAB vanuit andere programma's; veel programmeertalen en automatiseringstools kunnen gemakkelijk gebruik maken van REST API
- Gebruik van software van derden op mobiele telefoons, zoals Tasker, om uw garagedeur te openen
Documentatie, meer voorbeelden en gedetailleerde instructies over het gebruik van de API zijn te vinden op de website van OpenHAB.
Apps van derden, zoals Tasker, die met openHAB worden gebruikt, zijn een grote aanwijzing voor hoe API's de IoT-economie openen en kansen bieden voor extra waardecreatie in de hele keten.
2. Mozilla Web Things-API
Mozilla is een non-profitorganisatie met de missie om het vrije en open web te verdedigen en de Web Things API vertegenwoordigt haar inspanningen om haar deelname op het web uit te breiden naar IoT. Volgens de Web Things-website stelt de Web Things-API gebruikers in staat om unieke URL's te verstrekken aan alle verbonden apparaten op het World Wide Web, waardoor het kan worden gebruikt als een verenigende applicatielaag voor alle IoT-apparaten.
De Web Things API is, net als de meeste andere IoT API's, gebaseerd op REST en stelt gebruikers in staat; toegang krijgen tot de eigenschappen van apparaten, de huidige status van elk apparaat bepalen en opdrachten geven om de status van het apparaat te wijzigen of acties uit te voeren. De WebThings API maakt toegang tot bronnen, die elk aspect van een apparaat vertegenwoordigen, eenvoudig, aangezien naar elke bron onafhankelijk wordt verwezen met behulp van een URL. Meer informatie is te vinden op de Mozilla IoT-website.
3. OpenWeatherMap
OpenWeatherMap is een webgebaseerde service die toegang biedt tot weersgerelateerde gegevens (temperatuur, vochtigheid, regenval, enz.), Inclusief huidig weer, voorspellingen en historische gegevens aan de ontwikkelaars van webservices, mobiele en recentere IoT-toepassingen. De gegevens die beschikbaar zijn via OpenWeatherMap zijn afkomstig van bronnen variërend van doe-het-zelfweerstations tot meteorologische uitzendingen, weerstations op luchthavens en verschillende andere bronnen. We hebben al besproken hoe je Openweather Map met Arduino kunt gebruiken om weergegevens van internet te lezen met ESP8266.
De gegevens worden zo verwerkt en gesorteerd dat via de OpenWeatherMap API IoT-oplossingen kunnen worden gebouwd die deze gegevens gebruiken om taken te informeren en te automatiseren. Zo kunnen prognosegegevens via de API worden ingevoerd in een alarmsysteem / apparaat om boeren te waarschuwen voor mogelijke hevige regenbuien, naast verschillende andere mogelijkheden.
Hoewel de meeste functies van OpenWeatherMap worden betaald, heeft het gratis pakket enorm handige functies die de meeste IoT-projecten redelijk goed kunnen dienen. Documentatie en andere details over de API zijn te vinden op de openWeatherMap-website.
4. EmonCMS API
EmonCMS is een krachtige open-source web-app voor het verwerken, loggen en visualiseren van gegevens. Het is een product van de inspanningen van de OpenEnergyMonitor-groep om, zoals de naam al aangeeft, open source-energiebewakingsapparatuur te faciliteren door omgevingsgegevens te analyseren. Het is in wezen een datavisualisatietool waar gegevens van verschillende energiemonitoringsensoren kunnen worden bekeken. Om het voor ontwikkelaars gemakkelijk te maken om toegang te krijgen tot het platform, is een connectiviteits-API gemaakt om interactie met het platform mogelijk te maken wanneer het op localhost (LAN) of via internet draait. Met de EmonCMS API kunnen gebruikers de status van energieapparaten op het platform bijwerken, metingen en andere parameters verkrijgen die de status van apparaten aangeven (als het apparaat compatibel is) van het platform, samen met verschillende andere functies.
Wilt u datavisualisatie toevoegen aan uw volgende op energie gebaseerde IoT-oplossing? Het EmonCMS is misschien net wat je nodig hebt. Meer informatie over het platform en de API is te vinden op hun website.
5. Deeltjes-API
Particle API is de applicatie-programmeerinterface ontwikkeld door Particle om ontwikkelaars gemakkelijk met hun platform te laten werken. Particle.IO is een van de echte end-to-end leveranciers van IoT-oplossingen in de branche en levert de apparaathardware, mobiele communicatie, apparaatcloud en applicatie-interfaces. We hebben eerder Particle Cloud met Raspberry Pi gebruikt voor domotica-doeleinden.
De Particle API maakt het gemakkelijk voor ontwikkelaars om toegang te krijgen tot de volledige functionaliteit van Particle en deze te integreren met andere applicaties en apparaten. Volgens particle stelt de API ontwikkelaars in staat om functies naar de firmware van hun apparaat te schrijven en deze vervolgens in realtime te gebruiken aan de toepassingskant van dingen. Enkele voorbeelden van API-methoden zijn het in- en uitschakelen van wifi, het verbinden van apparaten, het wisselen van de status van de apparaten, het verkrijgen van gegevens en het algemeen beheren van de apparaten.
Documentatie en andere details over de API zijn te vinden op de website van ParticleIO.
6. Adafruit IO API
Adafruit is een van de meest populaire merken in de doe-het- zelfelektronicawereld en hun beslissing om een tijdje geleden het Adafruit IO-platform voor IoT-oplossingen te lanceren, werd goed ontvangen door de makers / elektronica-hobbyistengemeenschap. Het platform is sindsdien blijven groeien en heeft een groot aantal makers gediend, waaronder ik. Het Adafruit IO-platform is in wezen een apparaatwolk met onder meer datavisualisatiefuncties, allemaal aangestuurd door de Adafruit IO API. We hebben Adafruit IO al gebruikt met PIC en ook andere ontwikkelingsplatforms zoals ESP en Raspberry Pi.
Volgens Adafruit biedt de Adafruit IO HTTP API gebruikers toegang tot hun Adafruit IO-gegevens vanuit elke programmeertaal of hardware-omgeving die HTTP kan spreken. Hierdoor kunnen ze systemen ontwerpen die actie ondernemen op basis van de data, en veranderingen in het apparaat bewerkstelligen door informatie naar de apparaten te sturen.
Het Adafruit IO-platform is een van de gemakkelijkste platforms om mee te werken en het is een van mijn favorieten voor DIY IoT-projecten. Documentatie en meer details zijn te vinden op de website van Adafruit IO.
7. Home Assistant API
Home Assistant is een door de gemeenschap geleid, open source domoticasysteem vergelijkbaar met openHAB. Net als andere platforms wordt Home Assistant aangestuurd door de Home Assistant Python REST API die toegang biedt tot gegevensmethoden voor de Home Assistant-besturingsservice.
Hiermee kunnen gebruikers de configuratie bewerken, basisinformatie over de Home Assistant-instantie retourneren, alle gegevens retourneren die nodig zijn om op te starten, een reeks gebeurtenisobjecten retourneren en meer. De API accepteert en retourneert alleen JSON-gecodeerde objecten die de gebeurtenisnaam, het aantal luisteraars en meer bevatten. Het is gebaseerd op python 3 en helpt om moeiteloos alle geregistreerde thuisapparaten te volgen en te bedienen, ongeacht of de registratie via het web of de mobiele app is gedaan. Documentatie en meer details over de API zijn te vinden op de website van Home Assistant.
8. De Things Network API's
LoRa wordt een van de communicatiekanalen bij uitstek vanwege het grote bereik, het lage stroomverbruik en andere functies. The Things Network (TTN) is een open source, gemeenschapsgestuurde inspanning om een wereldwijd open LoRaWAN-netwerk op te bouwen om een open infrastructuur te creëren om de ontwikkeling van LoRa-gebaseerde IoT-oplossingen te vergemakkelijken. Als zodanig biedt TTN een reeks open tools en een wereldwijd, open netwerk met maximale beveiliging en schaalbaarheid. Als je nieuw bent bij Lora, lees dan het gedetailleerde artikel over Inleiding tot LoRa en LoRaWAN.
De interactie met het TTN-platform wordt aangestuurd door twee belangrijke API's; de TTN Data API en de TTN Application Manager API. Met de Data API kunt u gebeurtenissen en berichten van apparaten ontvangen en berichten naar apparaten verzenden, in het algemeen informatie uitwisselen met apparaten. De Application Manager API wordt daarentegen gebruikt om applicaties, gateways en apparaten te beheren. De Data API is gebaseerd op het MQTT-protocol en kan worden gebruikt voor ontwikkeling via de SDK of direct met MQTT, terwijl de Application Manager API is gebaseerd op het HTTP-protocol. Meer informatie over deze API is te vinden op de website van The Things Network.
9. ThingSpeak.io REST API
ThingSpeak wordt beschouwd als een van de beste open source, cloudplatforms voor IoT-apparaten. Het is een van de beste platforms voor het verwerken van gegevens van apparaten, vooral vanwege de integratie met MATLAB nadat het enkele jaren geleden door Mathworks was overgenomen. Het stelt gebruikers in staat om gegevens te uploaden, samen te voegen, te analyseren en te visualiseren met MATLABzonder dat u de MATLAB-software apart hoeft aan te schaffen. Al het bovenstaande wordt vergemakkelijkt door de ThingSpeak API te gebruiken. Net als de meeste van de andere hierboven genoemde API's, stelt de ThingSpeak API gebruikers in staat; verzamel en bewaar sensorgegevens, haal gegevens en de huidige status van verbonden apparaten op, automatiseer gebeurtenissen op basis van gegevens, stel triggers in op basis van de status van IoT-apparaten en integreer onder andere met sociale mediaplatforms zoals Twitter. Voor meer informatie over ThingSpeak, bekijk eerdere IoT-projecten waarin ThingSpeak is gebruikt met veel verschillende microcontrollers zoals Arduino, Raspberry PI, ESP enz:
- Live temperatuur- en vochtigheidsbewaking via internet met Arduino en ThingSpeak
- Heart Beat Monitoring via internet met Arduino en ThingSpeak
- Raspberry Pi-weerstation: bewaking van vochtigheid, temperatuur en druk via internet
- Op IoT gebaseerd patiëntbewakingssysteem met ESP8266 en Arduino
Enkele van de kenmerken van ThingSpeak die zich automatisch vertalen in de voordelen van het gebruik van de API zijn;
- Eenvoudige apparaatconfiguratie om gegevens naar het ThingSpeak-platform te verzenden met behulp van standaard IoT-platforms.
- Realtime visualisatie van sensorgegevens en gegevensaggregatie met behulp van externe bronnen.
- IoT-analyses worden uitgevoerd op basis van schema's of gebeurtenissen.
- MATLAB-analyse, RESTful en MQTT API's.
- Maakt prototypen en bouwen van IoT-systemen mogelijk zonder serverconfiguratie en installatie van websoftware.
- Compatibiliteit met populaire ontwikkelplatforms zoals de Arduino en Raspberry Pi
- Reageert automatisch op gegevens en automatiseert taken
- Integratie met services van derden, zoals Twitter. Een goed voorbeeld van een situatie waarin dit nuttig is, is een IoT-oplossing die automatisch het waterniveau tweets.
Naast de gratis gehoste API is de ThingSpeak API open source en beschikbaar op GitHub om te downloaden op privéservers.
10. EdgeX Foundry
EdgeX Foundry is een open source-ecosysteem van IoT-platforms op basis van open source-configuraties. De EdgeX Foundry API biedt verschillende eindpunten voor services, waaronder klantregistratie , planning en logboekregistratie. De API heeft een REST-architectuur en gebruikt OAuth 2.0 voor authenticatie. Edgex heeft een reeks microservices die zijn aangesloten op elk apparaat dat op het netwerk is aangesloten.
Elke microservice heeft verschillende belangrijke API-aanroepen die kunnen worden gebruikt voor;
- Registreer een apparaatservice
- Richt een apparaat in
- Verzend gegevens van het apparaat naar het Edgex-platform,
- Het lezen van de gegevens van het Edgex-platform voor gebruik in andere applicaties
- Exporteren van onder meer data.
Documentatie en meer details over de API zijn te vinden op de EdgeX Foundry-website.
Dat is mijn lijst! Deze lijst is echter geenszins uitputtend, aangezien ik denk aan enkele andere API's zoals IoT-Plotter en andere die ik aan de lijst had kunnen toevoegen. Laat gerust opmerkingen achter over de Open IoT API's waarmee u heeft gewerkt. Uw opmerkingen kunnen een grote bijdrage leveren aan het helpen van anderen bij het selecteren van een API of platform voor gebruik in hun projecten.
Tot de volgende keer.