- Cos'è un'API e come è utile?
- 1. OpenHAB REST API
- 2. API Mozilla Web Things
- 3. OpenWeatherMap
- 4. EmonCMS API
- 6. API Adafruit IO
- 7. Home Assistant API
- 8. Le API di Things Network
- 9. ThingSpeak.io REST API
- 10. EdgeX Foundry
Nel mondo connesso di oggi Internet of thins (IoT) non è più una parola d'ordine lanciata dagli esperti. È reale!! E può essere trovato tutto intorno a noi, cambiando le vite, facilitando servizi migliori, migliorando i processi, fornendo nuove opportunità e aumentando i ricavi.
Con miliardi di nuovi dispositivi che devono ancora essere connessi a Internet, l'impatto dell'IoT sarà sicuramente portato oltre i dispositivi IoT stessi verso molte altre applicazioni, sfruttando i dati forniti da questi dispositivi per ottenere crescite sociali e commerciali. Ciò sta già accadendo poiché la maggior parte delle organizzazioni oggi che non dispongono di soluzioni IoT implementate, sono ancora in grado di coglierne i vantaggi ottenendo l'accesso ai dati generati dai dispositivi distribuiti da altre persone utilizzando le loro API.
Cos'è un'API e come è utile?
L'acronimo API sta per Application Programming Interface, queste non sono una novità e limitate all'IoT, sono state utilizzate nello sviluppo di software per molto tempo. Le API facilitano la facile integrazione di diversi servizi nei prodotti, consentendo alle applicazioni scritte in una lingua di essere utilizzate da software scritto in un'altra lingua, aiutando a ridurre l'infrastruttura complessiva e i tempi necessari per lo sviluppo del prodotto. Questi stessi vantaggi vengono attualmente trasferiti nelle applicazioni IoT con API utilizzate in diverse applicazioni per esporre dati che consentono di combinare e connettere più dispositivi per risolvere flussi di lavoro nuovi e interessanti, rivelando possibilità invisibili intorno all'IoT.
Al momento della registrazione a nuovi servizi (ad esempio Spotify), ci saremmo spesso imbattuti in opzioni come "Accedi utilizzando Gmail" o "Accedi utilizzando Facebook". Queste non sono altro che API fornite da Google / Facebook a Spotify per semplificare la procedura di registrazione. Qui l'API condividerà i dettagli utente di base come nome, ID e-mail, numero di telefono ecc. Con Spotify e ti aiuterà a risparmiare tempo con la procedura di registrazione. Allo stesso modo sono disponibili API differenti per esigenze applicative differenti.
Proprio come con il software, ci sono diverse API IoT disponibili per diverse attività, ma la maggior parte di esse di solito non è gratuita. Per il tutorial di oggi, esamineremo le prime 10 API IoT Open Source molto utili (a nostro avviso) per aiutarti a ridurre i costi e i tempi di sviluppo. Queste API sono aperte, gratuite (o hanno pacchetti gratuiti) e possono essere utilizzate non solo da professionisti ma anche da produttori, hobbisti e praticamente da chiunque le trovi utili e sia d'accordo con i termini di utilizzo. Queste API non sono elencate in un ordine particolare, sono state selezionate casualmente tra i verticali e probabilmente non sono confrontabili in quanto svolgono attività diverse.
1. OpenHAB REST API
Open Home Automation Bus (openHAB) è una piattaforma di automazione domestica open source e indipendente dalla tecnologia che aiuta a connettere e controllare dispositivi intelligenti e dispositivi domestici "non così intelligenti" in un unico posto. Consente l'esecuzione di azioni definite dall'utente da parte dei dispositivi, utilizzando informazioni definite dall'utente e strumenti definiti dall'utente. Per ottenere ciò, openHAB segmenta e suddivide in compartimenti alcune funzioni e operazioni a cui è possibile accedere tramite l'API REST di openHAB.
Attraverso l'API REST di openHAB, gli utenti possono accedere ai dati di tutti i dispositivi associati alla piattaforma, ai dispositivi stessi (cose) e ai Binding, nonché impartire comandi e azioni per modificare lo stato, il comportamento o le proprietà dei dispositivi collegati a openHAB. L'interazione con l'API si basa sul protocollo; in quanto tale è importante garantire connessioni sicure e protette quando si lavora con esso. Secondo il sito web di openHAB, alcune delle interazioni possibili tramite l'API REST di openHAB includono;
- Recupera i dati openHAB da applicazioni esterne
- Inietta dati e attiva eventi in openHAB da applicazioni esterne (ad esempio, alcuni rilevatori di movimento o telecamere di sorveglianza)
- Ispeziona binding / cose o elementi di openHAB, impara a conoscere stati, parametri o problemi correnti
- Interagire con openHAB da altri programmi; molti linguaggi di programmazione e strumenti di automazione possono facilmente utilizzare l'API REST
- Utilizzo di software di terze parti sui telefoni cellulari, come Tasker per aprire la porta del garage
La documentazione, ulteriori esempi e istruzioni dettagliate sull'uso dell'API sono disponibili sul sito Web di OpenHAB.
Le app di terze parti come Tasker utilizzate con openHAB sono un grande indicatore di come le API stanno aprendo l'economia dell'IoT, fornendo opportunità per la creazione di valore aggiuntivo lungo la catena.
2. API Mozilla Web Things
Mozilla è un'organizzazione no-profit con la missione di difendere il web libero e aperto e l'API web things rappresenta i suoi sforzi per estendere la sua partecipazione sul web all'IoT. Secondo il sito Web Web Things, l'API Web Things consente agli utenti di fornire URL univoci a tutti i dispositivi connessi sul World Wide Web, consentendone l'utilizzo come livello applicativo unificante per tutti i dispositivi IoT.
L'API Web Things, come la maggior parte delle altre API IoT, è basata su REST e consente agli utenti di; accedere alle proprietà dei dispositivi, determinare lo stato corrente di ciascun dispositivo e impartire comandi per modificare lo stato del dispositivo o eseguire azioni. L'API WebThings semplifica l'accesso alle risorse, rappresentando ogni aspetto di un dispositivo, poiché ogni risorsa viene referenziata in modo indipendente utilizzando un URL. Ulteriori informazioni sono disponibili nel sito Web di Mozilla IoT.
3. OpenWeatherMap
OpenWeatherMap è un servizio basato sul web che fornisce agli sviluppatori di servizi web, dispositivi mobili e più recentemente applicazioni IoT l' accesso ai dati relativi al tempo (temperatura, umidità, precipitazioni, ecc.), Comprese le condizioni meteorologiche attuali, le previsioni e i dati storici. I dati disponibili tramite OpenWeatherMap provengono da fonti che vanno dalle stazioni meteorologiche fai-da-te ai servizi di trasmissione meteorologica, alle stazioni meteorologiche aeroportuali e molte altre fonti. Abbiamo già discusso su come utilizzare Openweather Map con Arduino per leggere i dati meteorologici da Internet utilizzando ESP8266.
I dati vengono elaborati e ordinati in modo tale che tramite l'API OpenWeatherMap è possibile creare soluzioni IoT che sfruttano questi dati per informare e automatizzare le attività. Ad esempio, i dati di previsione tramite l'API possono essere inseriti in un sistema / dispositivo di allarme per avvisare gli agricoltori di possibili forti piogge tra molte altre possibilità.
Sebbene la maggior parte delle funzionalità di OpenWeatherMap siano a pagamento, il pacchetto gratuito ha funzionalità immensamente utili che possono servire abbastanza bene la maggior parte dei progetti IoT. La documentazione e altri dettagli sull'API sono disponibili sul sito web di openWeatherMap.
4. EmonCMS API
EmonCMS è una potente app web open source per l' elaborazione, la registrazione e la visualizzazione dei dati. È un prodotto degli sforzi del gruppo OpenEnergyMonitor per, proprio come suggerisce il nome, facilitare i dispositivi di monitoraggio energetico open source analizzando i dati ambientali. È essenzialmente uno strumento di visualizzazione dei dati in cui i dati provenienti da diversi monitoraggio energeticoi sensori possono essere visualizzati. Per facilitare agli sviluppatori l'accesso alla piattaforma, è stata creata un'API di connettività per consentire l'interazione con la piattaforma durante l'esecuzione su localhost (LAN) o tramite Internet. L'API EmonCMS consente agli utenti di aggiornare lo stato dei dispositivi energetici sulla piattaforma, ottenere letture e altri parametri che indicano lo stato dei dispositivi (se il dispositivo è compatibile) dalla piattaforma insieme a molte altre funzionalità.
Stai cercando di aggiungere un po 'di visualizzazione dei dati alla tua prossima soluzione IoT basata sull'energia? EmonCMS potrebbe essere proprio ciò di cui hai bisogno. Ulteriori informazioni sulla piattaforma e sull'API sono disponibili sul loro sito web.
5. API delle particelle
Particle API è l'interfaccia di programmazione dell'applicazione sviluppata da Particle per consentire agli sviluppatori di lavorare facilmente con la loro piattaforma. Particle.IO è uno dei veri fornitori di soluzioni IoT end-to-end del settore, che fornisce l'hardware del dispositivo, la comunicazione cellulare, il cloud del dispositivo e le interfacce delle applicazioni. Abbiamo già utilizzato Particle Cloud con Raspberry Pi per scopi di automazione domestica.
L'API Particle rende facile per gli sviluppatori accedere e integrare la piena funzionalità di Particle con altre applicazioni e dispositivi. Secondo particle, l'API consente agli sviluppatori di scrivere funzioni sul firmware del proprio dispositivo e quindi chiamarle per utilizzarle sul lato dell'applicazione in tempo reale. Alcuni metodi API di esempio includono l'accensione e lo spegnimento del Wi-Fi, la connessione di dispositivi, la commutazione dello stato dei dispositivi, l'ottenimento di dati e in generale la gestione dei dispositivi.
La documentazione e altri dettagli sull'API sono disponibili sul sito Web di ParticleIO.
6. API Adafruit IO
Adafruit è uno dei marchi più popolari nel mondo dell'elettronica fai-da-te e la loro decisione di lanciare la piattaforma IO Adafruit per soluzioni IoT qualche tempo fa è stata ben accolta dalla comunità dei produttori / appassionati di elettronica. La piattaforma ha continuato a crescere da allora e ha servito un buon numero di produttori, me compreso. La piattaforma Adafruit IO è essenzialmente un cloud di dispositivi con funzionalità di visualizzazione dei dati, tra le altre, tutte guidate dall'API IO di Adafruit. Abbiamo già utilizzato Adafruit IO con PIC e anche altre piattaforme di sviluppo come ESP e Raspberry Pi.
Secondo Adafruit, l'API HTTP IO di Adafruit fornisce agli utenti l'accesso ai dati IO di Adafruit da qualsiasi linguaggio di programmazione o ambiente hardware in grado di parlare HTTP. In questo modo possono progettare sistemi che agiscono sulla base dei dati ed effettuare modifiche nel dispositivo inviando informazioni ai dispositivi.
La piattaforma Adafruit IO è una delle piattaforme più facili con cui lavorare ed è una delle mie preferite per i progetti IoT fai-da-te. La documentazione e ulteriori dettagli sono disponibili sul sito Web di Adafruit IO.
7. Home Assistant API
Home Assistant è un sistema di automazione domestica open source guidato dalla comunità simile a openHAB. Come altre piattaforme, Home Assistant è gestito dall'API REST Python di Home Assistant che fornisce l'accesso ai metodi di dati per il servizio di controllo di Home Assistant.
Consente agli utenti di modificare la configurazione, restituire informazioni di base sull'istanza di Home Assistant, restituire tutti i dati necessari per il bootstrap, restituire un array di oggetti evento e altro ancora. L'API accetta e restituisce solo oggetti con codifica JSON che contengono il nome dell'evento, il conteggio dei listener e altro. Si basa su python 3 e aiuta a monitorare e controllare senza sforzo tutti i dispositivi domestici registrati, indipendentemente dal fatto che la registrazione sia stata effettuata tramite web o app mobile. La documentazione e ulteriori dettagli sull'API sono disponibili sul sito Web di Home Assistant.
8. Le API di Things Network
LoRa sta diventando uno dei canali di comunicazione di elezione grazie alla sua lunga portata e al basso consumo energetico, tra le altre caratteristiche. The Things Network (TTN) è uno sforzo open source guidato dalla comunità per costruire una rete LoRaWAN aperta globale per creare un'infrastruttura aperta per facilitare lo sviluppo di soluzioni IoT basate su LoRa. In quanto tale, TTN fornisce una serie di strumenti aperti e una rete globale e aperta con la massima sicurezza e scalabilità. Se sei nuovo su Lora, leggi l'articolo dettagliato su Introduzione a LoRa e LoRaWAN.
L'interazione con la piattaforma TTN è guidata da due principali API; TTN Data API e TTN Application Manager API. L'API dei dati consente di ricevere eventi e messaggi dai dispositivi, nonché inviare messaggi ai dispositivi, in generale, scambiare informazioni con i dispositivi. L'API di Application Manager, invece, viene utilizzata per gestire applicazioni, gateway e dispositivi. La Data API si basa sul protocollo MQTT e può essere utilizzata per lo sviluppo tramite SDK o direttamente con MQTT mentre l'API di Application Manager si basa sul protocollo HTTP. Ulteriori informazioni su queste API sono disponibili sul sito Web di The Things Network.
9. ThingSpeak.io REST API
ThingSpeak è considerata una delle migliori piattaforme cloud open source per dispositivi IoT. È una delle migliori piattaforme per l'elaborazione dei dati dai dispositivi, soprattutto grazie alla sua integrazione con MATLAB dopo essere stata acquisita da Mathworks alcuni anni fa. Consente agli utenti di caricare, aggregare, analizzare e visualizzare i dati utilizzando MATLABsenza la necessità di acquistare separatamente il software MATLAB. Tutto quanto sopra è facilitato dall'utilizzo dell'API ThingSpeak. Proprio come la maggior parte delle altre API menzionate sopra, l'API ThingSpeak consente agli utenti; raccoglie e archivia i dati dei sensori, recupera i dati e lo stato corrente dei dispositivi connessi, automatizza gli eventi in base ai dati, imposta i trigger in base allo stato dei dispositivi IoT e si integra con piattaforme di social media come Twitter, tra le altre funzionalità. Per saperne di più su ThingSpeak, controlla i precedenti progetti IoT in cui ThingSpeak è stato utilizzato con molti microcontrollori diversi come Arduino, Raspberry PI, ESP ecc:
- Monitoraggio in tempo reale della temperatura e dell'umidità su Internet utilizzando Arduino e ThingSpeak
- Monitoraggio del battito cardiaco su Internet utilizzando Arduino e ThingSpeak
- Stazione meteorologica Raspberry Pi: monitoraggio di umidità, temperatura e pressione su Internet
- Sistema di monitoraggio del paziente basato su IoT con ESP8266 e Arduino
Alcune delle caratteristiche di ThingSpeak che si traducono automaticamente in vantaggi derivanti dall'utilizzo della sua API sono;
- Facile configurazione del dispositivo per trasmettere dati alla piattaforma ThingSpeak utilizzando piattaforme IoT standard.
- Visualizzazione in tempo reale dei dati dei sensori e aggregazione dei dati utilizzando fonti di terze parti.
- L'analisi IoT viene eseguita in base a pianificazioni o eventi.
- Analisi MATLAB, API RESTful e MQTT.
- Consente la prototipazione e la costruzione di sistemi IoT senza alcuna configurazione del server e installazione di software Web.
- Compatibilità con piattaforme di sviluppo popolari come Arduino e Raspberry Pi
- Agisce automaticamente sui dati e automatizza le attività
- Integrazione con servizi di terze parti come Twitter. Un buon esempio di una situazione in cui ciò è utile è una soluzione IoT che twitta automaticamente il livello dell'acqua.
Oltre all'API ospitata gratuita, l'API ThingSpeak è open source e disponibile su GitHub per il download su server privati.
10. EdgeX Foundry
EdgeX Foundry è un ecosistema open source di piattaforme IoT basato su configurazioni open source. L'API Foundry di EdgeX offre diversi endpoint per servizi, tra cui registrazione, pianificazione e registrazione del client. L'API ha un'architettura REST e utilizza OAuth 2.0 per l'autenticazione. Edgex ha una serie di micro servizi che sono collegati a ciascun dispositivo connesso alla rete.
Ogni micro servizio ha diverse importanti chiamate API che possono essere utilizzate;
- Registra un servizio del dispositivo
- Fornire un dispositivo
- Invia dati dal dispositivo alla piattaforma Edgex,
- Lettura dei dati dalla piattaforma Edgex per l'utilizzo in altre applicazioni
- Esportazione di dati, tra gli altri.
La documentazione e ulteriori dettagli sull'API sono disponibili sul sito Web EdgeX Foundry.
Questa è la mia lista! Questo elenco tuttavia non è in alcun modo esaustivo poiché mi vengono in mente altre API come IoT-Plotter e altre che avrei potuto aggiungere all'elenco. Sentiti libero di lasciare commenti sulle API Open IoT con cui hai lavorato. I tuoi commenti possono aiutare gli altri a selezionare un'API o una piattaforma da utilizzare nei loro progetti.
Fino alla prossima volta.