- O que é uma API e como ela é útil?
- 1. API REST OpenHAB
- 2. API Mozilla Web Things
- 3. OpenWeatherMap
- 4. API EmonCMS
- 6. API Adafruit IO
- 7. API Home Assistant
- 8. As APIs da Things Network
- 9. API REST ThingSpeak.io
- 10. EdgeX Foundry
No mundo conectado de hoje, Internet of Thins (IoT) não é mais uma palavra da moda lançada por especialistas. É real!! E podem ser encontrados ao nosso redor, mudando vidas, facilitando melhores serviços, melhorando processos, proporcionando novas oportunidades e aumentando receitas.
Com bilhões de novos dispositivos que ainda precisam ser conectados à Internet, o impacto da IoT definitivamente será conduzido além dos próprios dispositivos IoT para vários outros aplicativos, aproveitando os dados fornecidos por esses dispositivos para alcançar crescimentos sociais e comerciais. Isso já está acontecendo porque a maioria das organizações hoje que não têm soluções de IoT implantadas, ainda são capazes de colher os benefícios, obtendo acesso aos dados gerados por dispositivos implantados por outras pessoas usando suas APIs.
O que é uma API e como ela é útil?
A sigla API significa Interface de Programação de Aplicativo, não é uma novidade e está limitada à IoT, ela tem sido usada no desenvolvimento de software há muito tempo. As APIs facilitam a integração fácil de diferentes serviços em produtos, permitindo que aplicativos escritos em um idioma sejam usados por software escrito em outro idioma, ajudando na redução da infraestrutura geral e da necessidade de tempo para o desenvolvimento do produto. Essas mesmas vantagens estão atualmente sendo transferidas para aplicativos IoT com APIs sendo usados em diversos aplicativos para expor dados que permitem que vários dispositivos sejam combinados e conectados para resolver fluxos de trabalho novos e interessantes, revelando possibilidades invisíveis em torno da IoT.
Ao se inscrever em novos serviços (por exemplo, Spotify), normalmente encontraríamos opções como “Faça login usando o Gmail” ou “Faça login usando o Facebook”. Estes nada mais são do que APIs fornecidas pelo Google / Facebook para o Spotify para facilitar o procedimento de inscrição. Aqui, a API irá compartilhar detalhes básicos do usuário como Nome, ID de e-mail, número de telefone, etc. com o Spotify e ajudá-lo a economizar tempo com o procedimento de inscrição. Da mesma forma, diferentes APIs estão disponíveis para diferentes necessidades de aplicativos.
Assim como com o software, existem várias APIs IoT disponíveis para diferentes tarefas, mas a maioria delas geralmente não é gratuita. Para o tutorial de hoje, veremos as 10 principais APIs de IoT muito úteis (em nossa opinião) para ajudá-lo a reduzir o custo e o tempo de desenvolvimento. Essas APIs são abertas, gratuitas (ou têm pacotes gratuitos) e podem ser usadas não apenas por profissionais, mas também por criadores, amadores e praticamente qualquer pessoa que as considere úteis e esteja de acordo com os termos de uso. Essas APIs são listadas em nenhuma ordem específica, foram selecionadas aleatoriamente nas verticais e provavelmente não são comparáveis, pois executam tarefas diferentes.
1. API REST OpenHAB
O Open Home Automation Bus (openHAB) é uma plataforma de automação residencial independente de tecnologia que ajuda a conectar e controlar dispositivos inteligentes e "não tão inteligentes" em um só lugar. Ele permite o desempenho de ações definidas pelo usuário por dispositivos, usando informações definidas pelo usuário e ferramentas definidas pelo usuário. Para conseguir isso, o openHAB segmenta e compartimentaliza certas funções e operações que podem ser acessadas por meio da API REST openHAB.
Através da API REST do openHAB, os usuários podem acessar os dados de todos os dispositivos associados à plataforma, os próprios dispositivos (coisas) e Bindings, bem como emitir comandos e ações para alterar o estado, comportamento ou propriedades dos dispositivos conectados ao openHAB. A interação com a API é baseada no protocolo; como tal, é importante garantir conexões seguras e seguras ao trabalhar com ele. De acordo com o site openHAB, algumas das interações possíveis por meio da API REST openHAB incluem;
- Recupere dados openHAB de aplicativos externos
- Injetar dados e acionar eventos no openHAB de aplicativos externos (por exemplo, alguns detectores de movimento ou câmeras de vigilância)
- Inspecione ligações / coisas ou itens do openHAB, aprenda sobre os estados, parâmetros ou problemas atuais
- Interagindo com openHAB de outros programas; muitas linguagens de programação e ferramentas de automação podem usar facilmente a API REST
- Usando software de terceiros em telefones celulares, como Tasker para abrir a porta da garagem
Documentação, mais exemplos e instruções detalhadas sobre o uso da API podem ser encontrados no site da OpenHAB.
Aplicativos de terceiros como o Tasker sendo usados com openHAB são um grande indicador de como as APIs estão abrindo a economia da IoT, fornecendo oportunidades para criação de valor adicional ao longo da cadeia.
2. API Mozilla Web Things
Mozilla é uma organização sem fins lucrativos com a missão de defender a web livre e aberta e a API de coisas da web representa seus esforços para estender sua participação na web para a IoT. De acordo com o site Web Things, a API Web Things permite que os usuários forneçam URLs exclusivos para todos os dispositivos conectados na World Wide Web, permitindo que sejam usados como uma camada de aplicativo unificadora para todos os dispositivos IoT.
A API Web Things, como a maioria das outras APIs IoT, é baseada em REST e permite que os usuários; acessar as propriedades dos dispositivos, determinar o estado atual de cada dispositivo e emitir comandos para alterar o estado do dispositivo ou executar ações. A API WebThings facilita o acesso a recursos, representando cada aspecto de um dispositivo, pois cada recurso é referenciado de forma independente por meio de uma URL. Mais informações podem ser encontradas no site da Mozilla IoT.
3. OpenWeatherMap
OpenWeatherMap é um serviço baseado na web que fornece acesso a dados relacionados ao clima (temperatura, umidade, precipitação, etc), incluindo clima atual, previsões e dados históricos para os desenvolvedores de serviços da web, aplicativos móveis e, mais recentemente, IoT. Os dados disponíveis através do OpenWeatherMap são provenientes de fontes que vão desde estações meteorológicas DIY a serviços de transmissão meteorológica, estações meteorológicas de aeroportos e várias outras fontes. Já discutimos como usar o Openweather Map com Arduino para ler dados meteorológicos da Internet usando ESP8266.
Os dados são processados e classificados de forma que, por meio da API OpenWeatherMap, possam ser criadas soluções de IoT que aproveitam esses dados para informar e automatizar tarefas. Por exemplo, os dados de previsão via API podem ser alimentados em um sistema / dispositivo de alarme para alertar os agricultores sobre possíveis chuvas fortes, entre várias outras possibilidades.
Embora a maioria dos recursos do OpenWeatherMap sejam pagos, o pacote gratuito tem recursos imensamente úteis que podem servir a maioria dos projetos de IoT muito bem. A documentação e outros detalhes sobre a API podem ser encontrados no site openWeatherMap.
4. API EmonCMS
EmonCMS é um poderoso aplicativo da web de código aberto para processamento, registro e visualização de dados. É um produto dos esforços do grupo OpenEnergyMonitor para, assim como o nome indica, facilitar os dispositivos de monitoramento de energia de código aberto por meio da análise de dados ambientais. É essencialmente uma ferramenta de visualização de dados onde os dados de vários monitoramento de energiaos sensores podem ser visualizados. Para facilitar o acesso dos desenvolvedores à plataforma, foi criada uma API de conectividade que permite a interação com a plataforma quando executada em localhost (LAN) ou via internet. A API EmonCMS permite aos usuários atualizar o status dos dispositivos de energia na plataforma, obter leituras e outros parâmetros que indicam o estado dos dispositivos (se o dispositivo for compatível) da plataforma, juntamente com vários outros recursos.
Procurando adicionar um pouco de visualização de dados à sua próxima solução de IoT baseada em energia? O EmonCMS pode ser exatamente o que você precisa. Mais informações sobre a plataforma e a API podem ser encontradas em seu site.
5. API de partículas
Particle API é a interface de programação de aplicativo desenvolvida pela Particle para permitir que os desenvolvedores trabalhem facilmente com sua plataforma. O Particle.IO é um dos verdadeiros provedores de soluções de IoT ponta a ponta do setor, fornecendo o hardware do dispositivo, comunicação celular, nuvem de dispositivo e interfaces de aplicativos. Anteriormente, usamos o Particle Cloud com Raspberry Pi para fins de automação residencial.
A API do Particle torna mais fácil para os desenvolvedores acessar e integrar a funcionalidade completa do Particle com outros aplicativos e dispositivos. De acordo com a partícula, a API permite que os desenvolvedores escrevam funções no firmware de seus dispositivos e depois os chamem para uso no lado do aplicativo em tempo real. Alguns métodos de API de exemplo incluem desligar e ligar o wi-fi, conectar dispositivos, alternar o estado dos dispositivos, obter dados e, em geral, gerenciar os dispositivos.
A documentação e outros detalhes sobre a API podem ser encontrados no site do ParticleIO.
6. API Adafruit IO
Adafruit é uma das marcas mais populares no mundo da eletrônica DIY e sua decisão de lançar a plataforma Adafruit IO para soluções de IoT um tempo atrás foi bem recebida pela comunidade de fabricantes / amadores de eletrônicos. A plataforma continuou crescendo desde então e atendeu a um bom número de fabricantes, incluindo eu. A plataforma Adafruit IO é essencialmente uma nuvem de dispositivos com recursos de visualização de dados, entre outros, todos conduzidos pela API Adafruit IO. Já usamos Adafruit IO com PIC e outras plataformas de desenvolvimento como ESP e Raspberry Pi também.
De acordo com Adafruit, a API Adafruit IO HTTP fornece aos usuários acesso aos seus dados Adafruit IO a partir de qualquer linguagem de programação ou ambiente de hardware que possa falar HTTP. Com isso, eles podem projetar sistemas que agem com base nos dados e efetuam alterações no dispositivo, enviando informações aos dispositivos.
A plataforma Adafruit IO é uma das plataformas mais fáceis de trabalhar e uma das minhas favoritas para projetos DIY IoT. Documentação e mais detalhes podem ser encontrados no site da Adafruit IO.
7. API Home Assistant
Home Assistant é um sistema de automação residencial de código aberto, conduzido pela comunidade, semelhante ao openHAB. Como outras plataformas, o Home Assistant é conduzido pela API REST Python do Home Assistant que fornece acesso a métodos de dados para o serviço de controle do Home Assistant.
Ele permite que os usuários editem a configuração, retornem informações básicas sobre a instância do Home Assistant, retornem todos os dados necessários para a inicialização, retornem uma série de objetos de evento e muito mais. A API aceita e retorna apenas objetos codificados em JSON que contêm o nome do evento, a contagem do listener e muito mais. É baseado no python 3 e ajuda a rastrear e controlar sem esforço todos os dispositivos domésticos registrados, independentemente de o registro ter sido feito via web ou aplicativo móvel. Documentação e mais detalhes sobre a API podem ser encontrados no site do Home Assistant.
8. As APIs da Things Network
LoRa está se tornando um dos canais de comunicação de escolha devido ao seu longo alcance, baixo consumo de energia, entre outros recursos. The Things Network (TTN) é um esforço comunitário de código aberto para construir uma rede LoRaWAN aberta global para criar uma infraestrutura aberta para facilitar o desenvolvimento de soluções IoT baseadas em LoRa. Como tal, o TTN fornece um conjunto de ferramentas abertas e uma rede aberta global com máxima segurança e escalabilidade. Se você é novo no Lora, leia o artigo detalhado sobre Introdução ao LoRa e LoRaWAN.
A interação com a plataforma TTN é conduzida por duas APIs principais; a API de dados TTN e a API do gerenciador de aplicativos TTN. A API de dados permite receber eventos e mensagens de dispositivos, bem como enviar mensagens para dispositivos, geralmente, trocar informações com dispositivos. A API do Application Manager, por outro lado, é usada para gerenciar aplicativos, gateways e dispositivos. A API de dados é baseada no protocolo MQTT e pode ser usada para desenvolvimento por meio do SDK ou diretamente com MQTT, enquanto a API do Application Manager é baseada no protocolo HTTP. Mais informações sobre essas APIs podem ser encontradas no site da The Things Network.
9. API REST ThingSpeak.io
ThingSpeak é considerada uma das principais plataformas em nuvem de código aberto para dispositivos IoT. É uma das melhores plataformas para processamento de dados de dispositivos principalmente devido à sua integração com o MATLAB após ter sido adquirido pela Mathworks há alguns anos. Ele permite que os usuários façam upload, agreguem, analisem e visualizem dados usando o MATLABsem a necessidade de adquirir o software MATLAB separadamente. Todos os itens acima são facilitados usando a API ThingSpeak. Assim como a maioria das outras APIs mencionadas acima, a API ThingSpeak permite aos usuários; coletar e armazenar dados do sensor, recuperar dados e o estado atual dos dispositivos conectados, automatizar eventos com base em dados, configurar gatilhos com base no estado dos dispositivos IoT e integrar com plataformas de mídia social como o Twitter, entre outros recursos. Para saber mais sobre o ThingSpeak, verifique os projetos IoT anteriores em que o ThingSpeak foi usado com muitos microcontroladores diferentes, como Arduino, Raspberry PI, ESP etc:
- Monitoramento ao vivo de temperatura e umidade pela Internet usando Arduino e ThingSpeak
- Monitoramento de batimentos cardíacos pela Internet usando Arduino e ThingSpeak
- Estação meteorológica Raspberry Pi: monitoramento de umidade, temperatura e pressão pela Internet
- Sistema de monitoramento de paciente baseado em IoT usando ESP8266 e Arduino
Alguns dos recursos do ThingSpeak que se traduzem automaticamente em benefícios de usar sua API são;
- Configuração fácil do dispositivo para transmitir dados para a plataforma ThingSpeak usando plataformas IoT padrão.
- Visualização em tempo real dos dados do sensor e agregação de dados usando fontes de terceiros.
- A análise IoT é executada com base em programações ou eventos.
- Análise MATLAB, APIs RESTful e MQTT.
- Permite a prototipagem e construção de sistemas IoT sem qualquer configuração de servidor e instalação de software da web.
- Compatibilidade com plataformas de desenvolvimento populares, como Arduino e Raspberry Pi
- Atua automaticamente nos dados e automatiza tarefas
- Integração com serviços de terceiros como Twitter. Um bom exemplo de situação em que isso é útil é uma solução de IoT que tweeta automaticamente o nível da água.
Além da API hospedada gratuitamente, a API ThingSpeak é um código aberto e está disponível no GitHub para download em servidores privados.
10. EdgeX Foundry
EdgeX Foundry é um ecossistema de código aberto de plataformas IoT com base em configurações de código aberto. A API EdgeX Foundry oferece vários terminais para serviços, incluindo registro de cliente , agendamento e registro. A API tem uma arquitetura REST e usa OAuth 2.0 para autenticação. Edgex possui uma série de micro serviços que são anexados a cada dispositivo conectado à rede.
Cada micro serviço tem várias chamadas API importantes que podem ser usadas;
- Registre um serviço de dispositivo
- Provisionar um dispositivo
- Envie dados do dispositivo para a plataforma Edgex,
- Lendo os dados da plataforma Edgex para uso em outros aplicativos
- Exportar dados, entre outros.
Documentação e mais detalhes sobre a API podem ser encontrados no site EdgeX Foundry.
Essa é a minha lista! Esta lista, no entanto, não é exaustiva, pois algumas outras APIs, como IoT-Plotter e outras que eu poderia ter adicionado à lista, estão vindo à mente. Sinta-se à vontade para deixar comentários sobre as APIs Open IoT com as quais você trabalhou. Seus comentários podem ajudar muito outras pessoas a selecionar uma API ou plataforma para usar em seus projetos.
Até a próxima.