Desbravando o IoT na Azure

Anselmo Borges
Rescue Point
Published in
7 min readFeb 16, 2022
Agora vai mlk!

Estou iniciando uma série de estudos de IoT na Azure, tinha começado a fazer alguma coisa em AWS e infelizmente não dei continuidade, durante a pandemia eu ví um vídeo de um cara brasileiro (É Brasil mlk!) que pegou um Raspberry Pi ligou numa Kombi (sim, numa Kombi) e começou a enviar dados como:

  • Temperatura do Motor
  • Rotação
  • Velocidade (no caso ele não fez andando mas daria)

Ele jogava tudo isso em tempo real pra AWS e processava esses dados gerando gráficos mano! Se liga!

O meteu a Kombi na internet viado!!!!

Eu fiquei deslumbrado que liguei pro Flávio um camarada que tem um loja de som automotivos e falei: “Mano vamo testá saporra! Da pra criar um mini rastreador com N funcionalidades, passando geolocalização mais informações do carro/caminhão sei lá! ploto num mapa, a gente cria parcerias e tal…”

Eu tava como? Mindblow!

Mas ele tava numa correria no começo da pandemia, com quarentena, não sabia se fechava a loja, se mantinha aberto, se era essencial ou não, ou seja, o meu brother estava com outras prioridades e entendi ele, e como 80% das ideias brilhantes que eu tenho na vida, desisti dessa também.

Eu acabei de tirar a certificação de Data Engineer (DP-203) da Azure e pensei: “Em que certificação vou meter o louco agora?”. Hoje olhei um cursinho no Cloud Academy para a certificação AZ-220: Microsoft Certified: Azure IoT Developer Specialty, pensei, olha o IoT me chamando denovo, vou meter o louco.

Ontem comecei a fazer o treinamento mas ví que tratava-se de um material a própria Microsoft desenvolvido em parceria com a Universidade de Oxford e mano, esse material está disponível de graça, se liga?

É um repositório do GitHub onde o mano está ensinando na prática (na prática mesmo) como fazer configurações básicas de Raspberry Pi mandando informações simples como Temperatura e outros dados para o Azure IoT Hub.

Você já quer abandonar o post porque não tem um RaspBerry Py?

Calma cara, ainda não vá embora, esse material do Git é foda, os caras bolaram um simulador online de RaspBerry onde consegue simular o funcionamento do cara completo! Se liga:

Qual sua desculpa agora meu chapa?

Segue abaixo o link dessa belezinha:

Tem o link pro curso, tem o link pro simulador agora vou passar o link pro material de estudo da Microsoft, ah mano, não tem nem desculpa agora.

Ainda vou dar um resumão do que entendi do Azure IoT Hub e postar mais materiais… vamô ficá baum nessa p***! hauhauha

Mas antes do resumão, o que é IoT?

“Não sei nem do que você esta falando até agora Anselmo?” Então vamos contextualizar do que estamos falando. Internet das coisas, você já deve ter ouvido falar sobre, do Ingles Internet of Things (IoT) é o conceito usado para todos os dados gerados por vários dispositivos possíveis, por exemplo, sensores, motores, aparelhos, carros, aviões, seu celular, sua geladeira, sua Alexa, seu registro de gás. Todos eles geram informações, seja analógica ou digital, mas falando das digitais, grande parte delas trabalham de forma offline.

Um exemplo de um sensor de dados offline por exemplo, no hospital, muitos dispositivos que monitoram o paciente, monitoram pontualmente ou num espaço de tempo e seus dados ficam somente no aparelho, com uma limitação de tempo de vida. Aparelhos mais modernos já enviam dados na rede e centralizam essas informações em sistema, esses já são um exemplo do IoT funcionando.

Agora imagina só se eu conseguisse cruzar todas essas informações e ter um gráfico centralizado do andamento do paciente, como monitoramento respiratório, cardíaco, sanguíneo e não só pontual mas de 5 em 5 min, ou de 1 em 1 min. Num cenário desse eu conseguiria saber se o paciente tem um piora a noite, ou se ele tem uma reação nos batimentos cardíacos a um remédio.

Imagina se durante o Inicio do covid eu tivesse sensores ou cameras que monitorassem a quantidade de leitos utilizados em hospitais públicos e esses dados fossem atualizados em tempo real, esses dados enviados para o SUS, cada ponto de UPA com seu ponto de geolocalização cadastrado e o índice populacional de cada cidade ou bairro atualizado no SENSO. Eu teria como saber com precisão quais hospitais ficariam sobrecarregados e pra qual hospital eu deveria levar meu parente ou a mim mesmo e eu teria leito tudo dentro de meu espaço geografico. Isso salvaria vidas e esse um dos super poderes que o IoT, engenharia de dados e analytics trazem pro dia dia e por isso ele é tão importante independente do cenário, onde eu poderia citar uns 30, eu só parei porque me empolgo.

Resumão sobre o Azure IoT Hub

Levando em consideração os VÁRIOS tipos de sensores e dispositivos que eu tenho, ou posso ter também vários tipos de protocolos de comunicação e de arquivos. Levaria um tempo absurdo separar e catalogar dados que não vem de 1 ou 4 vem de milhões/bilhões por minuto.

oh o bichão ae!

O Azure IoT Hub é o cara que faz a centralização dessas informações da melhor maneira possível, ele possui disponibilidade, um ambiente intuitivo e poder computacional para esse volume de processamento de informações, centralizando e dispondo essas informações de onde quer que venham.

A centralização desses dados seria apenas um primeiro passo para dividir essas informações com N outras tecnologias da Stack fazendo o ETL/ELT desses dados, enriquecendo outras tabelas já existentes no ambiente com eles, montando relatórios em tempo real com Power BI, enfim, vai muito da sua criatividade e conhecimento técnico pra trazer sempre a informação mais assertiva possível.

Segue alguns dos pilares que roubei descaradamente da documentação e que podem ajudar a conhecer melhor a ferramenta e entender como ela atenderia suas necessidades.

  • Telemetria: Telemetria é o processo de gravação e transmissão de valores recebidos por um dispositivo IoT. A telemetria é uma função essencial de uma solução de IoT.
  • Provisionamento: O ato de provisionar um dispositivo para a nuvem identifica exclusivamente o dispositivo para a nuvem. O provisionamento também estabelece os protocolos de segurança para o dispositivo e seus direitos e privilégios de acesso.
  • Roteamento: o roteamento de mensagens permite que você envie mensagens de seus dispositivos para serviços em nuvem de maneira automatizada, escalável e confiável. Você pode enviar mensagens ou eventos de telemetria do dispositivo (por exemplo, eventos de ciclo de vida do dispositivo).
  • Dimensionamento: para soluções em nuvem, o dimensionamento envolve a necessidade de aumentar ou diminuir o escopo da solução. A capacidade de aumentar ou diminuir a escala de uma solução oferece ao desenvolvedor a flexibilidade de implantar diferentes tipos de soluções.
  • Disponibilidade do serviço: A disponibilidade do serviço visa garantir um nível acordado de desempenho operacional (normalmente tempo de atividade) para um serviço em nuvem. A disponibilidade do serviço é definida pelo acordo de nível de serviço (SLA).

Segurança

Não é bagunçado o processo trafego de dados entre um lado e outro, mesmo porque trata-se de um processo que pode ser bi-direcional (já falaremos sobre isso), ou seja, imagina se alguém de má fé envia um comando que super aquece o seu sensor ou qualquer outra trolagem. Existem vários tipos de autenticação disponíveis entre a Azure e seus dispositivos, haverá um outro post falando sobre eles.

Dimensionamento

Quando sua solução nasce, você não sabe a quantidade de recursos que precisa alocar na Azure, portanto você pode nascer pequeno e ir crescendo a sua solução de acordo com o volume de dados e trafego cresce também.

Tiers

Os Tiers podem ser contratados de acordo com a sua necessidade, eles são divididos em 2 tipos:

Basic

Voltados pra casos onde vou fazer um processo unilateral, ou seja, vou somente enviar dados do dispositivo para a Azure e oferece apenas algumas das features do seu primo rico…

Standard

Alem de permitir a conexão bi-direcional (onde comandos ou dados podem ser tanto recebidos como enviados aos sensores/dispositivos) ele tem um pacote de features full que falaremos em um novo post.

OBS: Ambos os Tiers possuem todas as ferramentas de autenticação e segurança.

Monitoração

O IoT Hub fornece a possibilidade de monitorar os novos eventos e ver se foram adicionados novos dispositivos, só não sei ainda se é possível criar alertas com essas informações mas logo testarei.

Conecte praticamente qualquer dispositivo

Usando SDKs de dispositivo de código aberto do Azure IoT, você pode criar soluções, que são executadas em dispositivos conectados e interagem com o Hub IoT. Você também pode conectar dispositivos nativamente ao Hub IoT usando protocolos como MQTT, HTTPS 1.1 ou AMQP.

Peguei algumas coisas do material oficial que se encontra no link lá em cima desse post, mas tentei resumir o que o cara (IoT Hub) faz e as principais vantagens nesse post.

Nos próximos quero explorar mais o funcionamento e fazer aquele Hands-on malandro que quem já lê esse Medium conhece.

Espero que tenha te empolgado, porque eu tô.

Abraço e até o próximo!
Anselmo Borges.

--

--

Anselmo Borges
Rescue Point

Bigdata Engineer, Cloud Architect, Nerd, Alcoholic, Brazilian Jiujitsu Black belt and hide and seek World champion.