- Hva er et API og hvordan er det nyttig?
- 1. OpenHAB REST API
- 2. Mozilla Web Things API
- 3. OpenWeatherMap
- 4. EmonCMS API
- 6. Adafruit IO API
- 7. Hjemmeassistent-API
- 8. Things Network API-er
- 9. REST API for ThingSpeak.io
- 10. EdgeX støperi
I dagens tilkoblede verden er Internet of Thins (IoT) ikke lenger et buzz-ord som kastes rundt av eksperter. Det er ekte!! Og kan finnes overalt, forandrer liv, tilrettelegger for bedre tjenester, forbedrer prosesser, gir nye muligheter og øker inntektene.
Med milliarder av nye enheter som ennå ikke er koblet til internett, vil effekten av IoT definitivt bli drevet utover IoT-enhetene selv til flere andre applikasjoner ved å utnytte dataene som leveres av disse enhetene for å oppnå sosial og kommersiell vekst. Dette skjer allerede ettersom de fleste organisasjoner i dag som ikke har IoT-løsninger distribuert, fremdeles er i stand til å høste fordelene av det ved å få tilgang til dataene som genereres av enheter distribuert av andre mennesker ved hjelp av deres API-er.
Hva er et API og hvordan er det nyttig?
Forkortelsen API står for Application Programming Interface, disse er ikke nye og begrenset til IoT, de har vært brukt i programvareutvikling i lang tid. API-er gjør det enkelt å integrere forskjellige tjenester i produkter, slik at applikasjoner skrevet på ett språk kan brukes av programvare skrevet på et annet språk, noe som bidrar til å redusere den samlede infrastrukturen og tidskravet til produktutvikling. De samme fordelene overføres for øyeblikket til IoT-applikasjoner med APIer som brukes på tvers av forskjellige applikasjoner for å avsløre data som gjør det mulig å kombinere og koble flere enheter for å løse nye og interessante arbeidsflyter, og avsløre usynlige muligheter rundt IoT.
Når vi registrerer deg for nye tjenester (si Spotify), hadde vi ofte kommet over alternativer som "Logg på med Gmail" eller "Logg på med Facebook". Dette er ingenting annet enn API-er fra Google / Facebook til Spotify for å gjøre registreringsprosedyren enkel. Her vil API-en dele grunnleggende brukerdetaljer som navn, e-post-ID, telefonnummer osv. Med Spotify og hjelpe deg med å spare tid med påmeldingsprosedyren. På samme måte er forskjellige API-er tilgjengelige for forskjellige applikasjonsbehov.
Akkurat som med programvare, er det flere IoT APIer tilgjengelig for forskjellige oppgaver, men de fleste av dem kommer vanligvis ikke gratis. For dagens opplæring vil vi se på topp 10, veldig nyttige (etter vår mening) Open Source IoT APIer for å hjelpe deg med å redusere utviklingskostnadene og tiden din. Disse APIene er åpne, gratis (eller har gratis pakker) og kan brukes av ikke bare profesjonelle, men også produsenter, hobbyister og stort sett alle som synes det er nyttig og er greit med bruksvilkårene. Disse API-ene er oppført i ingen spesiell rekkefølge, ble valgt tilfeldig på tvers av vertikaler, og er sannsynligvis ikke sammenlignbare da de utfører forskjellige oppgaver.
1. OpenHAB REST API
Open Home Automation Bus (openHAB) er en open source, teknologi agnostisk hjemmeautomatiseringsplattform som hjelper til med å koble til og kontrollere smarte enheter og “ikke så smarte” hjemmeenheter på ett sted. Den tillater utførelse av brukerdefinerte handlinger av enheter ved hjelp av brukerdefinert informasjon og brukerdefinerte verktøy. For å oppnå dette segmenterer og oppdeler openHAB visse funksjoner og operasjoner som alle kan nås via openHAB REST API.
Gjennom openHAB REST API kan brukere få tilgang til dataene til alle enheter tilknyttet plattformen, enhetene selv (ting) og bindinger, samt utstede kommandoer og handlinger for å endre tilstand, oppførsel eller egenskaper til enhetene som er koblet til openHAB. Interaksjon med API er basert på HTTP-protokollen; som sådan er det viktig å sikre sikre og trygge forbindelser når du arbeider med det. I følge openHAB-nettstedet inkluderer noen av interaksjonene som er mulige via openHAB REST API;
- Hent openHAB-data fra eksterne applikasjoner
- Injiser data og utløs hendelser i openHAB fra eksterne applikasjoner (for eksempel noen bevegelsesdetektorer eller overvåkingskameraer)
- Inspiser openHAB-bindinger / ting eller gjenstander, lær om nåværende tilstander, parametere eller problemer
- Samhandle med openHAB fra andre programmer; mange programmeringsspråk og automatiseringsverktøy kan enkelt bruke REST API
- Bruk tredjepartsprogramvare på mobiltelefoner, for eksempel Tasker, for å åpne garasjeporten
Dokumentasjon, flere eksempler og detaljert instruksjon om bruk av API finner du på OpenHABs nettsted.
Tredjepartsapper som Tasker som brukes med openHAB, er en stor pekepinn på hvordan API-er åpner IoT-økonomien, og gir muligheter for ytterligere verdiskaping langs kjeden.
2. Mozilla Web Things API
Mozilla er en ideell organisasjon med oppdraget å forsvare det gratis og åpne nettet, og web ting API representerer dets innsats for å utvide sin deltakelse på nettet til IoT. I følge Web Things-nettstedet tillater Web Things API brukere å gi unike URL-er til alle tilkoblede enheter på World Wide Web, slik at den kan brukes som et samlende applikasjonslag for alle IoT-enhetene.
Web Things API, som de fleste andre IoT APIer, er basert på REST og lar brukerne; få tilgang til enhetens egenskaper, bestemme gjeldende tilstand for hver enhet og gi kommandoer for å endre enhetens tilstand eller utføre handlinger. WebThings API gjør det enkelt å få tilgang til ressurser, som representerer hvert aspekt av en enhet, ettersom hver ressurs er uavhengig referert ved hjelp av en URL. Mer informasjon finner du på Mozilla IoT-nettstedet.
3. OpenWeatherMap
OpenWeatherMap er en nettbasert tjeneste som gir tilgang til værrelaterte data (temperatur, fuktighet, nedbør osv.), Inkludert nåværende vær, prognoser og historiske data til utviklere av webtjenester, mobile og mer nylig IoT-applikasjoner. Dataene som er tilgjengelige via OpenWeatherMap kommer fra kilder som spenner fra DIY værstasjoner til meteorologiske kringkastingstjenester, værstasjoner på flyplassen og flere andre kilder. Vi har allerede diskutert hvordan du bruker Openweather Map med Arduino for å lese værdata fra internett ved hjelp av ESP8266.
Dataene blir behandlet og sortert på en slik måte at IoT-løsninger som bruker disse dataene til å informere og automatisere oppgaver kan bygges via OpenWeatherMap API. For eksempel kan prognosedata via API mates inn i et alarmsystem / enhet for å advare bønder om mulig kraftig regnskyll blant flere andre muligheter.
Mens de fleste funksjonene i OpenWeatherMap er betalt, har gratispakken utrolig nyttige funksjoner som kan tjene de fleste IoT-prosjekter ganske bra. Dokumentasjon og annen informasjon om API-en finner du på openWeatherMap-nettstedet.
4. EmonCMS API
EmonCMS er en kraftig open-source web-app for behandling, logging og visualisering av data. Det er et produkt av innsatsen til OpenEnergyMonitor-gruppen for å, akkurat som navnet tilsier, legge til rette for overvåking av åpen kildekode ved å analysere miljødata. Det er egentlig et datavisualiseringsverktøy der data fra flere energiovervåkingsensorer kan vises. For å gjøre det enkelt for utviklere å få tilgang til plattformen, ble det opprettet en tilkoblings-API for å tillate interaksjon med plattformen når den kjører på localhost (LAN) eller via internett. EmonCMS API lar brukerne oppdatere statusen til energienheter på plattformen, få avlesninger og andre parametere som indikerer tilstanden til enhetene (hvis enheten er kompatibel) fra plattformen sammen med flere andre funksjoner.
Ønsker du å legge til litt datavisualisering til din neste energibaserte IoT-løsning? EmonCMS kan bare være det du trenger. Mer informasjon om plattformen og API-en finner du på deres hjemmeside.
5. Partikkel-API
Particle API er applikasjonsprogrammeringsgrensesnittet utviklet av Particle, slik at utviklere enkelt kan jobbe med plattformen. Particle.IO er en av bransjens sanne ende-til-ende-leverandører av IoT-løsninger, og leverer enhetshardware, mobilkommunikasjon, enhetssky og applikasjonsgrensesnitt. Vi har tidligere brukt Particle Cloud with Raspberry Pi til hjemmeautomatiseringsformål.
Particle API gjør det enkelt for utviklere å få tilgang til og integrere den fulle funksjonaliteten til Particle med andre applikasjoner og enheter. I henhold til partikkel tillater API-et utviklere å skrive funksjoner til enhetens firmware og deretter ringe dem til bruk på applikasjonssiden av ting i sanntid. Noen eksempler på API-metoder inkluderer å slå wifi av og på, koble til enheter, veksle tilstanden til enhetene, innhente data og generelt administrere enhetene.
Dokumentasjon og andre detaljer om API-en finner du på ParticleIOs nettsted.
6. Adafruit IO API
Adafruit er et av de mest populære merkene i DIY-elektronikkverdenen, og deres beslutning om å lansere Adafruit IO-plattformen for IoT-løsninger for en stund tilbake ble godt mottatt av produsent / elektronikk-hobbyfellesskapet. Plattformen har vokst siden den gang og har tjent et stort antall produsenter inkludert meg. Adafruit IO-plattformen er egentlig en enhetssky med datavisualiseringsfunksjoner, blant annet alle drevet av Adafruit IO API. Vi har allerede brukt Adafruit IO med PIC og andre utviklingsplattformer som ESP og Raspberry Pi også.
I følge Adafruit gir Adafruit IO HTTP API brukerne tilgang til Adafruit IO-data fra ethvert programmeringsspråk eller maskinvaremiljø som kan snakke HTTP. Gjennom dette kan de designe systemer som iverksetter tiltak basert på dataene, og påvirker endringer i enheten ved å sende informasjon til enhetene.
Adafruit IO-plattformen er en av de enkleste plattformene å jobbe med, og det er en av favorittene mine for DIY IoT-prosjekter. Dokumentasjon og flere detaljer finner du på Adafruit IOs nettsted.
7. Hjemmeassistent-API
Home Assistant er et fellesskapsstyrt, åpen kildekode- hjemmeautomatiseringssystem som ligner på openHAB. Som andre plattformer drives Home Assistant av Home Assistant Python REST API som gir tilgang til datametoder for Home Assistant-kontrolltjenesten.
Det gjør det mulig for brukere å redigere konfigurasjon, returnere grunnleggende informasjon om Home Assistant-forekomsten, returnere alle dataene som trengs for å starte opp, returnere en rekke hendelsesobjekter og mer. API aksepterer og returnerer bare JSON-kodede objekter som inneholder hendelsesnavn, lytterantall og mer. Den er basert på python 3 og hjelper deg med å enkelt spore og kontrollere alle registrerte hjemmeenheter, uavhengig av om registreringen ble gjort via nettet eller mobilappen. Dokumentasjon og mer informasjon om API-en finner du på Hjemmeassistentens nettside.
8. Things Network API-er
LoRa blir en av de valgte kommunikasjonskanalene på grunn av det lange rekkevidden, lave strømforbruk blant andre funksjoner. Things Network (TTN) er en åpen kildekode, fellesskapsdrevet innsats for å bygge et globalt åpent LoRaWAN-nettverk for å skape åpen infrastruktur for å lette utviklingen av LoRa-baserte IoT-løsninger. Som sådan tilbyr TTN et sett med åpne verktøy og et globalt, åpent nettverk med maksimal sikkerhet og skalerbarhet. Hvis du er ny i Lora, så gå gjennom detaljert artikkel om Introduksjon til LoRa og LoRaWAN.
Interaksjon med TTN-plattformen er drevet av to store API-er; TTN Data API og TTN Application Manager API. Data API lar deg motta hendelser og meldinger fra enheter, samt sende meldinger til enheter, generelt, utveksle informasjon med enheter. Application Manager API brukes derimot til å administrere applikasjoner, gateways og enheter. Data API er basert på MQTT-protokollen og kan brukes for utvikling via SDK eller direkte med MQTT mens Application Manager API er basert på HTTP-protokollen. Mer informasjon om disse API-ene finner du på The Things Network-nettstedet.
9. REST API for ThingSpeak.io
ThingSpeak blir sett på som en av de øverste åpen kildekodene, skyplattformer for IoT-enheter. Det er en av de beste plattformene for behandling av data fra enheter, spesielt på grunn av integrasjonen med MATLAB etter å ha blitt anskaffet av Mathworks for noen år tilbake. Det lar brukerne laste opp, samle, analysere og visualisere data ved hjelp av MATLAButen behov for å anskaffe MATLAB-programvaren separat. Alt ovenfor er lettere å bruke ThingSpeak API. Akkurat som de fleste andre API-er som er nevnt ovenfor, tillater ThingSpeak API brukere; samle inn og lagre sensordata, hente data og nåværende tilstand for tilkoblede enheter, automatisere hendelser basert på data, sette opp utløsere basert på tilstanden til IoT-enheter, og integrer med sosiale medieplattformer som Twitter blant andre funksjoner. For å lære mer om ThingSpeak, sjekk ut tidligere IoT-prosjekter der ThingSpeak har blitt brukt med mange forskjellige mikrokontrollere som Arduino, Raspberry PI, ESP etc:
- Direkte temperatur- og fuktighetsovervåking over Internett ved hjelp av Arduino og ThingSpeak
- Heart Beat Monitoring over Internett ved hjelp av Arduino og ThingSpeak
- Raspberry Pi Weather Station: Overvåker fuktighet, temperatur og trykk over Internett
- IoT-basert pasientovervåkingssystem ved bruk av ESP8266 og Arduino
Noen av funksjonene i ThingSpeak som automatisk oversettes til fordelene ved å bruke API-en er:
- Enkel enhetskonfigurasjon for å overføre data til ThingSpeak-plattformen ved hjelp av standard IoT-plattformer.
- Sanntids visualisering av sensordata og dataaggregering ved hjelp av tredjepartskilder.
- IoT-analyser kjører basert på tidsplaner eller hendelser.
- MATLAB analytics, RESTful og MQTT APIer.
- Gjør det mulig å prototype og bygge IoT-systemer uten serveroppsett og installasjon av webprogramvare.
- Kompatibilitet med populære utviklingsplattformer som Arduino og Raspberry Pi
- Handler automatisk på data og automatiserer oppgaver
- Integrasjon med tredjeparts tjenester som Twitter. Et godt eksempel på en situasjon der dette er nyttig er en IoT-løsning som automatisk tweeter vannstanden.
I tillegg til gratis verts-API, er ThingSpeak API åpen kildekode og tilgjengelig på GitHub for nedlasting på private servere.
10. EdgeX støperi
EdgeX Foundry er et open source-økosystem av IoT-plattformer basert på open source-konfigurasjoner. EdgeX Foundry API tilbyr flere sluttpunkter for tjenester, inkludert klientregistrering , planlegging og logging. API-en har en REST-arkitektur og bruker OAuth 2.0 for autentisering. Edgex har en serie mikrotjenester som er koblet til hver enhet som er koblet til nettverket.
Hver mikrotjeneste har flere viktige API-anrop som kan brukes til;
- Registrer en enhetstjeneste
- Tilrettelegge en enhet
- Send data fra enheten til Edgex-plattformen,
- Leser dataene fra Edgex-plattformen for bruk i andre applikasjoner
- Eksport av blant annet data.
Dokumentasjon og mer informasjon om API-en finner du på EdgeX Foundry-nettstedet.
Det er listen min! Denne listen er imidlertid på ingen måte uttømmende, da noen andre API-er som IoT-Plotter og andre som jeg kunne ha lagt til i listen kommer til å tenke. Slipp gjerne kommentarer om Open IoT API-ene du har jobbet med. Kommentarene dine kan hjelpe mange andre med å velge et API eller en plattform som skal brukes i prosjektene sine.
Til neste gang.