- Vad är ett API och hur är det användbart?
- 1. OpenHAB REST API
- 2. Mozilla Web Things API
- 3. OpenWeatherMap
- 4. EmonCMS API
- 6. Adafruit IO API
- 7. Hemassistent-API
- 8. Things Network API: er
- 9. REST API för ThingSpeak.io
- 10. EdgeX Gjuteri
I dagens anslutna värld är Internet of thins (IoT) inte längre ett surrande ord som slängs av experter. Det är på riktigt!! Och finns överallt runt oss, förändrar liv, underlättar bättre tjänster, förbättrar processer, ger nya möjligheter och ökar intäkterna.
Med miljarder nya enheter som ännu inte är anslutna till internet kommer effekterna av IoT definitivt att drivas bortom själva IoT-enheterna till flera andra applikationer genom att utnyttja data från dessa enheter för att uppnå sociala och kommersiella tillväxter. Detta händer redan eftersom de flesta organisationer idag som inte har IoT-lösningar distribuerade, fortfarande kan dra nytta av det genom att få tillgång till data som genereras av enheter som distribueras av andra människor med hjälp av deras API: er.
Vad är ett API och hur är det användbart?
Akronymen API står för Application Programming Interface, dessa är inte nya och begränsade till IoT, de har använts i programvaruutveckling under lång tid. API: er underlättar den enkla integrationen av olika tjänster i produkter, vilket gör att applikationer skrivna på ett språk kan användas av programvara som är skrivna på ett annat språk, vilket hjälper till att minska den totala infrastrukturen och tidskraven för produktutveckling. Samma fördelar överförs för närvarande till IoT-applikationer med API: er som används i olika applikationer för att exponera data som gör det möjligt att kombinera och ansluta flera enheter för att lösa nya och intressanta arbetsflöden, vilket avslöjar osedda möjligheter kring IoT.
När vi registrerar oss för nya tjänster (säg Spotify) skulle vi ofta ha stött på alternativ som "Logga in med Gmail" eller "Logga in med Facebook". Dessa är inget annat än API: er som tillhandahålls av Google / Facebook till Spotify för att göra anmälningsförfarandet enkelt. Här delar API: n grundläggande användarinformation som Namn, E-post-ID, Telefonnummer etc med Spotify och hjälper dig att spara tid med registreringsproceduren. På samma sätt finns olika API: er tillgängliga för olika applikationsbehov.
Precis som med programvara finns det flera IoT-API: er tillgängliga för olika uppgifter, men de flesta av dem kommer vanligtvis inte gratis. För dagens handledning kommer vi att titta på topp 10, mycket användbara (enligt vår åsikt) Open Source IoT API för att hjälpa dig att minska dina utvecklingskostnader och tid. Dessa API: er är öppna, gratis (eller har gratispaket) och kan användas av inte bara proffs utan även tillverkare, hobbyister och i stort sett alla som tycker att de är användbara och är okej med användarvillkoren. Dessa API: er listas i ingen särskild ordning, valdes slumpmässigt över vertikaler och är förmodligen inte jämförbara eftersom de utför olika uppgifter.
1. OpenHAB REST API
Open Home Automation Bus (openHAB) är en öppen källkod, teknologisk agnostisk hemautomationsplattform som hjälper till att ansluta och styra smarta enheter och ”inte så smarta” hemanordningar på ett ställe. Det gör att användardefinierade åtgärder kan utföras av enheter med användardefinierad information och användardefinierade verktyg. För att uppnå detta segmenterar och delar openHAB vissa funktioner och operationer som alla kan nås via openHAB REST API.
Genom openHAB REST API kan användare komma åt data för alla enheter som är associerade med plattformen, enheterna själva (saker) och bindningar, samt utfärda kommandon och åtgärder för att ändra tillstånd, beteende eller egenskaper hos enheterna som är anslutna till openHAB. Interaktion med API baseras på HTTP-protokollet; som sådan är det viktigt att säkerställa säkra och säkra anslutningar när du arbetar med det. Enligt openHAB-webbplatsen inkluderar några av de interaktioner som är möjliga via openHAB REST API;
- Hämta openHAB-data från externa applikationer
- Injicera data och utlösa händelser i openHAB från externa applikationer (till exempel vissa rörelsedetektorer eller övervakningskameror)
- Inspektera openHAB-bindningar / saker eller artiklar, lär dig mer om aktuella tillstånd, parametrar eller problem
- Interagera med openHAB från andra program; många programmeringsspråk och automatiseringsverktyg kan enkelt använda REST API
- Använd tredjepartsprogramvara på mobiltelefoner, till exempel Tasker, för att öppna din garageport
Dokumentation, fler exempel och detaljerad instruktion om användning av API finns på OpenHAB: s webbplats.
Tredjepartsappar som Tasker som används med openHAB är en stor pekare på hur API: er öppnar upp IoT-ekonomin, vilket ger möjligheter till ytterligare värdeskapande längs kedjan.
2. Mozilla Web Things API
Mozilla är en ideell organisation med uppdraget att försvara den fria och öppna webben och web saker API representerar dess ansträngningar att utöka sitt deltagande på webben till IoT. Enligt Web Things-webbplatsen tillåter Web Things API användarna att tillhandahålla unika URL-adresser till alla anslutna enheter på Internet, så att den kan användas som ett enhetligt applikationslager för alla IoT-enheter.
Web Things API, som de flesta andra IoT API: er, är baserat på REST och tillåter användare att; få tillgång till enheternas egenskaper, bestämma aktuellt tillstånd för varje enhet och utfärda kommandon för att ändra enhetens tillstånd eller utföra åtgärder. WebThings API gör det lätt att komma åt resurser, vilket representerar varje aspekt av en enhet, eftersom varje resurs oberoende refereras med en URL. Mer information finns på Mozilla IoT-webbplatsen.
3. OpenWeatherMap
OpenWeatherMap är en webbaserad tjänst som ger tillgång till väderrelaterade data (temperatur, luftfuktighet, nederbörd osv.), Inklusive aktuellt väder, prognoser och historisk data till utvecklare av webbtjänster, mobila och mer nyligen IoT-applikationer. Uppgifterna tillgängliga via OpenWeatherMap kommer från källor som sträcker sig från DIY väderstationer till meteorologiska sändningstjänster, flygplatsväderstationer och flera andra källor. Vi har redan diskuterat hur man använder Openweather Map med Arduino för att läsa väderdata från internet med ESP8266.
Uppgifterna behandlas och sorteras på ett sådant sätt att IoT-lösningar som använder dessa data för att informera och automatisera uppgifter kan byggas via OpenWeatherMap API. Till exempel kan prognosdata via API matas in i ett larmsystem / -enhet för att varna jordbrukare om eventuella kraftiga regnskurar bland flera andra möjligheter.
Medan de flesta av funktionerna i OpenWeatherMap betalas, har gratispaketet oerhört användbara funktioner som kan tjäna de flesta IoT-projekt ganska bra. Dokumentation och andra detaljer om API finns på openWeatherMaps webbplats.
4. EmonCMS API
EmonCMS är en kraftfull öppen källkodsapp för bearbetning, loggning och visualisering av data. Det är en produkt av OpenEnergyMonitor-gruppens ansträngningar att, precis som namnet antyder, underlätta enheter för öppen källkodsövervakning genom att analysera miljödata. Det är i grunden ett datavisualiseringsverktyg där data från flera energiovervakningarsensorer kan ses. För att göra det enkelt för utvecklare att komma åt plattformen skapades ett anslutnings-API för att möjliggöra interaktion med plattformen när de körs på localhost (LAN) eller via internet. EmonCMS API tillåter användare att uppdatera statusen för energienheter på plattformen, få avläsningar och andra parametrar som indikerar enheternas tillstånd (om enheten är kompatibel) från plattformen tillsammans med flera andra funktioner.
Vill du lägga till lite datavisualisering till din nästa energibaserade IoT-lösning? EmonCMS kan bara vara vad du behöver. Mer information om plattformen och API: n finns på deras webbplats.
5. Partikel-API
Particle API är applikationsprogrammeringsgränssnittet som utvecklats av Particle så att utvecklare enkelt kan arbeta med sin plattform. Particle.IO är en av branschens verkliga leverantörer av IoT-lösningar från hela till slut, som tillhandahåller enhetshårdvara, mobilkommunikation, enhetsmoln och applikationsgränssnitt. Vi har tidigare använt Particle Cloud med Raspberry Pi för hemautomatiseringsändamål.
Particle API gör det enkelt för utvecklare att få tillgång till och integrera hela funktionaliteten hos Particle med andra applikationer och enheter. Enligt partikel tillåter API: t utvecklare att skriva funktioner till enhetens firmware och sedan ringa dem för användning i applikationssidan av saker i realtid. Några exempel på API-metoder inkluderar att stänga av och sätta på wifi, ansluta enheter, växla enheternas tillstånd, få data och i allmänhet hantera enheterna.
Dokumentation och annan information om API finns på ParticleIO: s webbplats.
6. Adafruit IO API
Adafruit är ett av de mest populära varumärkena i DIY-elektronikvärlden och deras beslut att lansera Adafruit IO-plattformen för IoT-lösningar för ett tag tillbaka mottogs väl av tillverkaren / elektronikhobbysamhället. Plattformen har fortsatt att växa sedan dess och har tjänat ett stort antal tillverkare inklusive mig. Adafruit IO-plattformen är i huvudsak ett enhetsmoln med datavisualiseringsfunktioner bland annat som drivs av Adafruit IO API. Vi har redan använt Adafruit IO med PIC och andra utvecklingsplattformar som ESP och Raspberry Pi.
Enligt Adafruit ger Adafruit IO HTTP API användarna tillgång till deras Adafruit IO-data från vilket programmeringsspråk eller hårdvarumiljö som helst som kan tala HTTP. Genom detta kan de utforma system som vidtar åtgärder baserat på data, och påverka förändringar i enheten genom att skicka information till enheterna.
Adafruit IO-plattformen är en av de enklaste plattformarna att arbeta med och det är en av mina favoriter för DIY IoT-projekt. Dokumentation och mer information finns på Adafruit IO: s webbplats.
7. Hemassistent-API
Home Assistant är ett lokalsamhällsstyrt, öppen källkodssystem som liknar openHAB. Som andra plattformar drivs Home Assistant av Home Assistant Python REST API som ger åtkomst till datametoder för Home Assistant-kontrolltjänsten.
Det gör det möjligt för användare att redigera konfiguration, returnera grundläggande information om hemassistentinstansen, returnera all data som behövs för att starta upp, returnera en uppsättning händelseobjekt och mer. API: t accepterar och returnerar endast JSON-kodade objekt som innehåller händelsens namn, lyssnarantal och mer. Den är baserad på python 3 och hjälper till att enkelt spåra och kontrollera alla registrerade hemapparater, oavsett om registreringen gjordes via webben eller mobilappen. Dokumentation och mer information om API finns på Home Assistant webbplats.
8. Things Network API: er
LoRa blir en av de valfria kommunikationskanalerna på grund av dess långa räckvidd, låg strömförbrukning bland andra funktioner. Things Network (TTN) är en öppen källkod, community driven insats för att bygga ett globalt öppet LoRaWAN-nätverk för att skapa öppen infrastruktur för att underlätta utvecklingen av LoRa-baserade IoT-lösningar. Som sådan tillhandahåller TTN en uppsättning öppna verktyg och ett globalt, öppet nätverk med maximal säkerhet och skalbarhet. Om du är ny på Lora, gå igenom en detaljerad artikel om Introduktion till LoRa och LoRaWAN.
Interaktionen med TTN-plattformen drivs av två stora API: er; TTN Data API och TTN Application Manager API. Data API låter dig ta emot händelser och meddelanden från enheter samt skicka meddelanden till enheter, i allmänhet, utbyta information med enheter. Application Manager API, å andra sidan, används för att hantera applikationer, gateways och enheter. Data API är baserat på MQTT-protokollet och kan användas för utveckling via SDK eller direkt med MQTT medan Application Manager API är baserat på HTTP-protokollet. Mer information om dessa API finns på The Things Network webbplats.
9. REST API för ThingSpeak.io
ThingSpeak betraktas som en av de översta molnplattformarna för öppen källkod för IoT-enheter. Det är en av de bästa plattformarna för bearbetning av data från enheter, särskilt på grund av dess integration med MATLAB efter att ha förvärvats av Mathworks för några år tillbaka. Det låter användare ladda upp, aggregera, analysera och visualisera data med MATLAButan att behöva skaffa MATLAB-programvaran separat. Allt ovanstående underlättar användning av ThingSpeak API. Precis som de flesta andra API: er som nämns ovan tillåter ThingSpeak API användarna; samla in och lagra sensordata, hämta data och nuvarande tillstånd för anslutna enheter, automatisera händelser baserat på data, konfigurera utlösare baserat på tillstånd för IoT-enheter och integrera med sociala medieplattformar som twitter bland andra funktioner. För att lära dig mer om ThingSpeak, kolla in tidigare IoT-projekt där ThingSpeak har använts med många olika mikrokontroller som Arduino, Raspberry PI, ESP etc:
- Övervakning av levande temperatur och luftfuktighet via Internet med Arduino och ThingSpeak
- Hjärtslagövervakning över Internet med Arduino och ThingSpeak
- Raspberry Pi Weather Station: Övervakning av luftfuktighet, temperatur och tryck via Internet
- IoT-baserat patientövervakningssystem med ESP8266 och Arduino
Några av funktionerna i ThingSpeak som automatiskt översätts till fördelarna med att använda dess API är;
- Enkel enhetskonfiguration för att överföra data till ThingSpeak-plattformen med standard IoT-plattformar.
- Realtidsvisualisering av sensordata och dataggregation med hjälp av källor från tredje part.
- IoT-analys körs baserat på scheman eller händelser.
- MATLAB-analys, RESTful och MQTT API: er.
- Möjliggör prototypning och byggande av IoT-system utan serverinstallation och webbprogramvaruinstallation.
- Kompatibilitet med populära utvecklingsplattformar som Arduino och Raspberry Pi
- Handlar automatiskt på data och automatiserar uppgifter
- Integration med tredje parts tjänster som Twitter. Ett bra exempel på en situation där detta är användbart är en IoT-lösning som automatiskt kvittrar vattennivån.
Förutom det kostnadsfria värd-API: et är ThingSpeak API öppen källkod och tillgängligt på GitHub för nedladdning på privata servrar.
10. EdgeX Gjuteri
EdgeX Foundry är ett open source-ekosystem med IoT-plattformar baserat på open source-konfigurationer. EdgeX Foundry API erbjuder flera slutpunkter för tjänster inklusive klientregistrering , schemaläggning och loggning. API: et har en REST-arkitektur och använder OAuth 2.0 för autentisering. Edgex har en serie mikrotjänster som är anslutna till varje enhet som är ansluten till nätverket.
Varje mikrotjänst har flera viktiga API-samtal som kan användas till;
- Registrera en enhetstjänst
- Tillhandahålla en enhet
- Skicka data från enheten till Edgex-plattformen,
- Läser data från Edgex-plattformen för användning i andra applikationer
- Exportera data bland annat.
Dokumentation och mer information om API finns på EdgeX Foundry webbplats.
Det är min lista! Denna lista är dock inte på något sätt uttömmande eftersom vissa andra API: er som IoT-Plotter och andra som jag kunde ha lagt till i listan kommer att tänka på. Släpp gärna kommentarer om Open IoT API: er som du har arbetat med. Dina kommentarer kan komma långt för att hjälpa andra att välja ett API eller en plattform som ska användas i sina projekt.
Tills nästa gång.