A partir da década de 90 as pessoas utilizavam computadores pessoais para se conectarem em um mundo virtual através da Internet. Contudo, como consequência da rápida evolução no campo da eletrônica, em sistemas embarcados e em sistemas de sensoriamento, os objetos, ou “coisas”, também passaram a estar conectados em rede e acessados através da Internet.

Neste contexto, citamos o carro autônomo, a geladeira inteligente e os sistemas de monitoramento de animais como alguns exemplos de aplicações na área de Internet das Coisas (do inglês, Internet of Things – IoT).

Fig 1: Internet transformando em IoT

Um projeto de IoT pode envolver diversas tecnologias como microcontroladores, sensores, protocolos de comunicação, mecanismos de segurança, acesso à nuvem e interfaces (humano-computador ou entre objetos eletrônicos).

Nesse artigo, iremos discutir cada um desses diferentes itens.

Microcontroladores:

Na prática, microcontroladores são computadores completos (CPU, memórias e I/Os) em um só circuito integrado, os quais permitem o uso de recursos computacionais e rotinas de programas em equipamentos eletrônicos diversos. Em termos eletrônicos, os microcontroladores são componentes pequenos, normalmente de baixo custo e com alta eficiência energética. Houve uma grande evolução dos microcontroladores, abrindo várias opções para a área de IoT.

Contudo, o projetista precisa levar em consideração alguns fatores na escolha deste componente para seu projeto, tais como, memória, quantidade de pinos de entrada e saída, velocidade de processamento, taxa de consumo, a linguagem de programação base, suporte do fabricante, bibliotecas e módulos de desenvolvimento disponíveis para o dispositivo, taxa de aquisição do canal analógico, limites e precisão, dentre outros.

Por exemplo: imagine um sensor que transforma a temperatura de 0 a 250 ºC em tensão de 0 a 5V e um microcontrolador com canal analógico de 0 a 5V com resolução de 8 bits. Este microcontrolador é capaz de ler a temperatura do sensor de 1 em 1 ºC. Porém, se a precisão fosse de 12 bits, seria possível ler a temperatura do sensor em intervalos de 0,1 ºC.

Sensores:

Nos últimos anos, foram desenvolvidos vários módulos de sensores de fácil conexão com microcontroladores. Além disso, muitos fabricantes já fornecem bibliotecas prontas para serem facilmente incorporadas ao projeto, diminuindo o tempo de desenvolvimento de um projeto (time-to-market).

Um cuidado importante ao se trabalhar com sensores é verificar os limites de operação e o sinal de saída. Por exemplo, suponha uma caldeira que aquece até 500 ºC e um módulo de leitura de tensão elétrica que atua no intervalo de 0 a 5V.

Caso o sensor escolhido para uso nesta aplicação tenha limite de operação menor que 500 ºC ou utilize alguma grandeza elétrica diferente de tensão (seja corrente, potência etc), então claramente este sensor não exercerá a função desejada.

Fig 2: Alguns modelos de microcontroladores, módulos e sensores

Comunicação:

A escolha da tecnologia de comunicação do projeto é fortemente dependente da fonte de energia utilizada para alimentar a aplicação. Se a fonte de energia escolhida for limitado, como pilha ou bateria, é recomendado a utilização do Bluetooth ou Zigbee​ , que são comunicações de baixo consumo.

Caso contrário, podemos utilizar o WiFi por ser um padrão de fácil acesso no mercado. Podemos levar em consideração novos meios como LoRaWAN para aplicações onde seria necessária uma infra de comunicação grande, como mineradoras e campos agrícolas, e considerar também novas tecnologias como LiFi​ e 5G​ NR .

Segurança:

A segurança da informação e a confiabilidade de aplicações IoT é um tópico de grande importância. Com tantas informações sendo trafegadas nestes sistemas – muitas vezes de cunho pessoal – a privacidade dos usuários precisa ser priorizada e no Brasil temos a LGPD.

Em um exemplo hipotético, imagine você comprando uma geladeira que fornece toda informação do que há dentro dela. Por um sistema fraco de segurança um invasor mal-intencionado verifica que, toda vez que sua geladeira fica com poucos itens, no sábado seguinte de manhã é o horário que você faz compras. Ótima oportunidade para o agente mal-intencionado entrar na sua casa e roubar tudo!

Atualmente, temos políticas de controle de acesso (e.g., o protocolo de autenticação de usuário) que poderiam ser implementadas. No entanto, apenas isso não é suficiente para preservar as informações dos usuários. Existem algumas técnicas de criptografia bastante difundidas: a figura abaixo ilustra, através de uma imagem, como a criptografia atua na segurança da informação.

Fig. 3: Exemplo de uma figura sendo cifrada pelos modos ECB e RSA

Nuvem:

Termo que se refere a Tecnologias de Informação acessíveis através da internet, comumente entendido como um serviço de servidores compartilhados e interligados por meio da Internet que possuem grande poder de processamento ou armazenamento de dados para um acesso futuro (​AWS​ , ​ Azure​ , ​Oracle​ , entre outros).

Projetos IoT podem se beneficiar dos serviços disponíveis em nuvem como forma de reduzir custos em desenvolvimento, infraestrutura e implantação. Existem alguns serviços de nuvem com planos gratuitos (​ThingSpeak, TagoIO e IFTTT) que, apesar de algumas limitações, são ótimos para praticar e fixar os principais conceitos desta área.

Um exemplo que engloba os principais termos relacionados à nuvem é o carro autônomo que envia os dados coletados para a nuvem (​big data), faz aprendizado com os dados coletados (machine learning) e determina quais as melhores decisões a serem tomadas futuramente (​cloud computing).

Interface:

Existem vários métodos de prototipagem (e.g., ​ story board​, wizard of oz, interactive mockups e ​ 3D printer), teorias (e.g.​ Gestalt) e métodos de avaliação de usabilidade da interface (e.g., avaliação heurística) que podem ser aplicados em interfaces de projetos IoT.

As tecnologias utilizadas podem ser as mais diversas possíveis, dependendo do foco da aplicação. Por exemplo, um sistema de fabricação de cervejas poderia ser desenvolvido utilizando-se Python (ou Java, ou C, entre outros) para o sistema embarcado, o qual enviaria alguns dados para a nuvem, e ao mesmo tempo, poderia se comunicar com um sistema de supervisão em um computador (ou IHM) utilizando LabVIEW, Scala, VB, entre outros. O usuário, por sua vez, poderia verificar os dados em seu celular em uma interface implementada em Android ou Swift.

Desafios:

No Brasil temos grande burocracia para homologar produtos pela ANATEL. Também podemos citar outros desafios como: infraestrutura da empresa fornecedora do serviço (armazenamento e segurança dos dados), bigdata (análise dos dados), servidores e redes, bateria, tamanho do produto, etc.

E falando em IoT não podemos deixar de fora a ABINC ( Associação Brasileira de Internet das Coisas) que tem como objetivo incentivar a troca de informações e fomentar a atividade comercial entre associados; promover atividade de pesquisa e desenvolvimento; atuar junto às autoridades governamentais envolvidas no âmbito da Internet das Coisas e representar e fazer as parcerias internacionais com entidades do setor.

Seguem algumas referências bibliográficas que podem ajudar no entendimento ou aprofundamento de cada item apresentado nesse artigo:

Referências:

Seguem algumas referências bibliográficas que podem ajudar no entendimento ou aprofundamento de cada item apresentado nesse artigo:

Embedded System Design: A Unified Hardware/ Software Introduction

Frank Vahid and Tony Givargis

John Wiley & Sons;

 

Make: Sensors: A HandsOn Primer for Monitoring the Real World with Arduino and Raspberry Pi

Tero Karvinen, Kimmo Karvinen, Ville Valtokari.

Maker Media

 

Interconnecting Smart Objects with IP: The Next Internet.

Jean-Philippe Vasseur and Adam Dunkels.

Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.

 

Understanding cryptography

Christof Paar and Jan Pelzl.

Springer

 

Abusing the Internet of Things

Niteh Dhanjani,

OReilly

 

The Design of Everyday Things: Revised and Expanded Edition

Don Norman

Basic Books

 

Moving to the Cloud: An Introduction to Cloud Computing in Government

David C. Wyld

IBM Center for the Business of Government, E-Government Series