Todos os dias pessoas utilizam dispositivos móveis – como smartphones – para verificar e-mails, usar redes sociais, navegar por mapas, dentre outras atividades. Além disso, não é novidade para ninguém o amplo ecossistema de tecnologias que fazem uso da conexão à internet e redes sem fio.
A Internet das Coisas (Internet Of Things – IoT) encontra um grande apoio neste ecossistema por meio de dispositivos inteligentes em várias formas e formatos. Desde 2010, estes recursos estão causando disrupções em toda indústria, assim como a internet causou em nossa sociedade nos anos 2000.
Empresas como Apple, Google, Samsung, Amazon, dentre outras, desenvolveram dispositivos que vestimos no corpo (relógios inteligentes, monitores de saúde, pulseiras de pagamento por aproximação), robôs automatizados para aplicações industriais, veículos autônomos, prédios inteligentes, dispositivos para casa, além de sistemas de alerta de tsunamis e terremotos.
Abaixo, listamos alguns recursos que possuem esta tecnologia e como eles funcionam:
Ambientes inteligentes
A categoria mais promissora de dispositivos IoT para consumidores finais é para ambientes inteligentes – dispositivos eletrônicos conectados que são usados em casas, apartamentos ou prédios. Eles geralmente substituem dispositivos eletrônicos tradicionais, melhorando-os com uma conexão à internet e uma forma de controlá-los digitalmente.
Na maioria dos casos, eles oferecem um app para o celular ou integração com um app de ambiente inteligente, como o Google Home ou Alexa, que torna possível, por exemplo, ligar e desligar o dispositivo do seu sofá ou mesmo de fora de casa, ajustar e configurar opções, e verificar o estado atual do dispositivo.
Alguns exemplos de dispositivos inteligentes para ambientes são: fechaduras, termostatos, lâmpadas, interruptores, aspiradores, dentre outros.
Conexão com a internet
Na maioria dos casos, os dispositivos inteligentes precisam de acesso à internet para funcionar corretamente, o que significa que é necessário informar o usuário e a senha para conectar na rede local.
O processo de configuração de um novo dispositivo geralmente envolve, primeiro, conectá-lo a uma fonte de energia. Em seguida, ele entra em modo de configuração, abre uma rede ad hoc e um smartphone conecta-se à essa rede ad hoc fornecida pelo dispositivo – é necessário informar o usuário e a senha da rede sem fio. Após isso, o dispositivo fecha a rede ad hoc temporária e conecta-se à rede comum usando os dados fornecidos. Por fim, o dispositivo fica online usando a rede sem fio comum.
A mesma técnica pode ser usada para criar protótipos de IOT com microcontroladores para criar uma rotina de configuração, como Arduíno, Raspberry Pi, dentre outros. Sem uma rotina como a descrita acima, o código fonte do dispositivo teria que ser modificado toda vez que o dispositivo fosse colocado em um ambiente diferente para conseguir se conectar em uma outra rede (que tenha parâmetros e credenciais de autenticação distintos).
Outros fatores que devem ser observados em relação à conectividade são se o dispositivo continua funcionando sem conexão com a internet, se uma atualização necessária não interrompe a funcionalidade principal e se o dispositivo é seguro o suficiente contra invasões e ataques de terceiros.
Gestão de ambientes
Uma aplicação prática para IoT é a gestão de ambientes de uma instituição, como salas de aula, bibliotecas, salas administrativas e laboratórios.
Essa instituição possui regionais nos estados do país e cada regional possui unidades espalhadas em diversas cidades. Os ambientes existentes em cada unidade são equipados com microcontroladores (IoT) que controlam e monitoram recursos do ambiente como acesso, iluminação e temperatura. Os microcontroladores, por sua vez, acionam os sensores ligados a eles para fazer a leitura ou uma ação.
Nesta aplicação, há interfaces de interação humana através de um aplicativo mobile e uma aplicação web, acessados por usuários previamente cadastrados mediante uso de senha. Cada usuário pode ter permissões específicas para unidades, ambientes e sensores de acordo com seu nível de acesso (tanto o aplicativo mobile quanto a aplicação web têm funcionalidades semelhantes, e ambos se comunicam diretamente com uma API para realizar ações nos dispositivos ou verificar o seus status).
Além disso, há também TVs posicionadas em locais públicos nos andares dos prédios que exibem os ambientes daquele andar (ex.: salas de aula, laboratório, etc.) e o status de cada ambiente (ex.: se o ar-condicionado está ligado e qual a temperatura do local).
Os ambientes são previamente cadastrados informando um nome, localização dentro da instituição, identificação do microcontrolador que está sendo usado no ambiente e quais itens estão presentes e sendo controlados naquele ambiente (ex.: ar-condicionado, luzes, etc.).
Em ambientes cujo acesso seja restrito, o controle é feito por um cartão de identificação com tecnologia RFID (identificação por radiofrequência). A etiqueta RFID é pequena, possui baixo custo e é anexada ao cartão de identificação. Ela possui um circuito integrado que armazena e processa a informação e modula sinais de radiofrequência (RF), além de uma antena para receber e transmitir o sinal. A informação da etiqueta é armazenada em uma memória não volátil.
O cadastro da pessoa é feito na aplicação web informando os dados necessários. Em seguida, seu identificador é gravado na etiqueta RFID contida em um cartão, associando este cartão ao seu cadastro. Este cartão será usado para ter acesso aos ambientes restritos que tiverem sido liberados para este cadastro no sistema.
Durante o acesso ao ambiente, o cartão é identificado quando se aproxima do leitor localizado próximo à porta. O leitor envia um sinal para o cartão e lê sua resposta. O acesso é identificado e registrado se o cartão tiver permissão àquele ambiente; caso contrário, é registrada a tentativa de acesso, porém a porta não é destravada. Centenas de etiquetas RFID podem ser lidas por segundo e os cartões com as etiquetas não precisam estar visíveis para que a leitura seja feita.
O controle de iluminação do ambiente se dá a partir das ações de acender ou apagar as luzes através do aplicativo mobile ou da aplicação web. Também está disponível a informação do estado atual das luzes: acesas ou apagadas. Para isso, são usados interruptores inteligentes e módulos de sensor de luminosidade.
O controle da temperatura se dá a partir das ações de ligar ou desligar o ar-condicionado através do aplicativo mobile ou da aplicação web. Estão disponíveis a informação do estado atual do aparelho de ar-condicionado (ligado ou desligado) e a leitura da temperatura atual no ambiente. Para isso são usados interruptores inteligentes e módulo de sensor de temperatura.
Arquitetura
A arquitetura desta aplicação é formada por microcontroladores (embarcados), um broker de mensagens, uma aplicação web, uma API web e um app mobile.
Figura 1 – Modelo da aquitetura
A conectividade entre os microcontroladores, o broker de mensagens, a web API, a aplicação web e o aplicativo mobile se dá por meio de uma WLAN que estabelece o canal de comunicação para enviar dados e receber comandos. A API se comunica com o microcontrolador através do broker de mensagens.
Hoje, há vários microcontroladores disponíveis no mercado que podem ser usados para IOT. Para projetos simples, onde a necessidade é ler o valor de um sensor e enviar esse valor para algum lugar, a maioria dos microcontroladores com acesso à internet farão um bom trabalho.
O microcontrolador ESP32 foi usado por ter baixo custo, baixo consumo de energia e está ligado aos sensores para acioná-los e controlá-los. São usados sensores para leitura e gravação do cartão RFID e interruptores para o funcionamento das luzes e ar-condicionado, além de leitores de temperatura e luminosidade do ambiente.
O ESP32 tem comunicação WIFI embutida que é usada para acesso à rede e, por conseguinte, acesso ao broker de mensagens. A linguagem MicroPython é usada para fazer a programação inicial e configuração deste microcontrolador.
O ESP32 recebe os comandos da aplicação através do broker e executa o que foi solicitado nos sensores. Ele também envia informações dos sensores para a aplicação através do broker. Portanto, os embarcados e a aplicação não se comunicam diretamente. O broker de mensagens faz a intermediação entre eles, transmitindo a troca de mensagens através da rede WIFI. As mensagens são transmitidas usando o protocolo MQTT.
Comunicação
O MQTT (MQ Telemetry Transport) é um protocolo de comunicação de máquina para máquina inventado em 1999 na IBM que facilita a troca de mensagens entre dispositivos. A sua natureza leve é especialmente útil quando usada com microcontroladores para projetos de IoT. É leve tanto em termos de consumo de energia quanto de banda, porque não tem muito overhead, o que o torna excelente para projetos energizados por bateria em placas de microcontrolador.
Um exemplo de broker open source que implementa esse protocolo é o Eclipse Mosquitto. O protocolo usa um padrão publicação (publish) / inscrição (subscribe), significando que mensagens publicadas por um dispositivo podem ser lidas por vários dispositivos. Cada cliente pode tanto enviar quanto receber mensagens e o broker gerencia a entrega das mensagens.
Um publicador (publisher) envia a mensagem para um tópico e todos que estiverem assinando aquele tópico (subscribers) recebem a mensagem. Na figura 2, dada uma mensagem publicada em um “Tópico Y” por um “Publisher A” e que apenas o “Subscriber E” é assinante desse tópico; quando a mensagem é publicada, apenas o “Subscriber E” a recebe. Porém, quando uma mensagem é publicada pelo “Publisher B” em um “Tópico Z”, tanto o “Subscriber C” quanto o “Subscriber D” recebem a mensagem, pois ambos estão inscritos no tópico em questão. Na hipótese de haver um outro subscriber inscrito em ambos os tópicos, ele receberia as duas mensagens.
Figura 2 – Publishers e subscribers por tópicos
A mensagem enviada possui duas partes muito importantes: o tópico e o payload. O tópico é uma string que serve como “chave” da informação publicada, ex.: LABORATORIO101. O payload é a informação de fato que é enviada na mensagem.
Neste caso, o tópico direciona para quem a mensagem é endereçada e o payload informa o que deve ser feito. Por exemplo, um professor pode acionar um botão no app mobile para ligar o ar-condicionado do ambiente que ele usará. Neste momento o app acionará a API que publicará no tópico do broker a mensagem contendo o comando solicitando que ligue o ar-condicionado do Laboratório 101. O microcontrolador do referido ambiente, que assina o tópico em questão, acionará o interruptor, desta forma ligando o ar-condicionado.
Como podemos ver, apesar da realidade do discurso de IoT parecer distante, ela está mais presente em nosso dia a dia do que imaginamos. Fora isso, também escrevi este texto para te convidar a pensar sobre o funcionamento destas tecnologias. Por de trás delas há uma grande inteligência, desenvolvimento e aparato tecnológico.
É claro que, acompanhando os exemplos que citei, vemos o grande impacto que a tecnologia possui em nossa vida cotidiana, mas não se engane, ela também está transformando o mercado como um todo e não podemos ignorar esta realidade.
Escrito por Wagner Nunes Landim.
Referências
https://en.wikipedia.org/wiki/Radio-frequency_identification
https://en.wikipedia.org/wiki/ESP32
https://www.espressif.com/en/products/socs/esp32
https://www.instructables.com/ESP32-With-RFID-Access-Control
HILLAR, Gaston C. MQTT Essentials – A Lightweight IoT Protocol. Packt, 2017.
PULVER, Tim. Hands-On Internet of Things with MQTT. Packt, 2019.