IoT
1. Introdução
Internet das coisas (IoT — Internet of Things) é um conceito que se refere à interconexão digital de objetos do cotidiano com a internet, onde é possível criar uma rede de objetos físicos capaz de reunir e transmitir dados. Atualmente é um tema que tem ganhado muito espaço no mercado com o barateamento dos recursos de hardware, o crescente acesso de pessoas e dispositivos à internet, e a capacidade de processamento e análise de dados graças à computação na nuvem . Diz-se que a internet das coisas começou quando o número de “coisas” conectadas à internet foi maior que a quantidade de pessoas conectadas à rede, e isso aconteceu entre 2008 e 2009 com o lançamento do iPhone 9 [Evans 2011].
Conceitos como computação ubíqua, ambientes inteligentes (AmI — ambientes que são sensíveis e responsivos à presença de pessoas) e M2M (machine-to-machine — conceito que se refere a comunicação direta entre dispositivos usando qualquer canal de comunicação) são intimamente ligados à internet das coisas; pois preconizam que a interação com esses sistemas seja tão natural ao ponto de se tornar transparente aos usuários, usando como métodos de entrada comando de voz, movimentações e temperatura, entre outros, e deixando de lado ou minimizando o uso de acessórios como mouses e teclados.
2. Referências para IoT
Devido ao grande número de dispositivos IoT desenvolvidos por diferentes fornecedores e implementando diferentes protocolos, a tarefa de fazer esses dispositivos se comunicarem entre si é árdua. Por ser ainda um ambiente sem padronização, garantir a interoperabilidade desses elementos não é trivial. Muitas vezes os desenvolvedores dessas soluções se veem em silos de dados, onde um serviço não consegue expor ou consumir dados de outras aplicações; bem como com potencial de mercado limitado devido ao isolamento [LeFrançois 2017]. Um cenário parecido como era antes da Internet, quando haviam tecnologias de rede concorrentes não interoperáveis.
Figura 1. Modelo de referência para IoT proposto pela Cisco (2014) mostrando as camadas e a comunicação bidirecional dos dados.
Em busca de estabelecer um modelo que seja referência para IoT, a Cisco propôs o modelo apresentado na Figura 1, segmentado em 7 níveis, com referências ao modelo OSI (Open Systems Interconnection) (Figura 2), para definir conceitos e terminologias que possam ser padronizadas como referência global.
Figura 2. Comparativo da pilha IoT com a Web (OSI)
2.1. Protocolos de mensagem
Rodando sobre a camada aplicação (Figura 2), abordamos neste 2 protocolos para troca de mensagens que usam o padrão publish-subscribe. Este padrão consiste basicamente em 3 elementos principais: o publisher que publica um evento através de um canal, o evento em si, e o subscriber que consome o evento. O publisher e o subscriber não precisam se conhecer para trocar mensagens, precisando apenas que ambos conheçam o evento, desacoplando o remetente dos destinatários.
O protocolo de mensagem MQTT (Message Queuing Telemetry Transport) é um protocolo leve, com baixo consumo de energia e flexível com suporte para a comunicação assíncrona entre as partes envolvidas. Este desacopla emissor e receptor da mensagem tanto no espaço quanto no tempo e, portanto, é escalável em ambientes de rede que não são confiáveis.
Figura 3. Protocolo MQTT implementando modelo publish/subscribe
Outro protocolo muito utilizado é o AMQP (Advanced Message Queuing Protocol), que é um protocolo mais robusto que o MQTT adicionando no broker o conceito de fila e um “exchange”. O AMQP define um protocolo padrão para publicação, enfileiramento, armazenamento e consumo de mensagens.
Figura 4. Exemplo do Protocolo AMQP
A escolha de qual protocolo usar é um tradeoff entre implementar uma solução dedicada que será mais especializada no que se propõe, ou uma solução genérica que pode ser mais facilmente reutilizada. Essa decisão é em parte definida pela tecnologia, estratégia e política que se queira adotar. No entanto, uma vez escolhida e implementada, a mudança de protocolo é custosa.
3. Desafios para implementação da IoT
A internet das coisas usa, basicamente, todos os conceitos de ciência da computação que conhecemos atualmente; em especial conceitos de sistemas distribuídos, que são uma coleção de processadores (nós) na sua maioria independente comunicando através uma rede, onde cada nó tem acesso igualitário mas com uma funcionalidade específica.
Neste cenário, existem muitos desafios para adoção da IoT em escala, a maioria é devido ao design atual da internet e à conectividade intermitente das redes de hoje; outros aspectos que afetam a arquitetura e implementação dos sistemas IoT são discutidos a seguir [Javeri 2019]:
3.1. Escalabilidade
Um sistema IoT pode escalar em termos do número de sensores e atuadores conectados ao sistema, em termos das redes que os conectam, em termos da quantidade de dados associados ao sistema e sua velocidade de transmissão e também em termos da quantidade de potência de processamento necessária.
3.2. Big Data
Sistemas IoT geram e processam grandes volumes de dados e de diferentes tipos. Há a necessidade de extrair dados de arquivos complexos como vídeos, ou ainda fazer análises e extrair padrões de dados históricos. Deve ser possível minerar esses dados coletados em consultas posteriores para melhorar o próprio sistema, ou combinados de diferentes maneiras em buscas de novos achados.
3.3. Computação em nuvem
Sistemas IoT frequentemente usam computação em nuvem, pois esta oferece a possibilidade de usar grandes quantidades de recurso, tanto de dados quanto de processamento, que não seriam possíveis se estas fossem feitas apenas localmente no dispositivo. A computação na nuvem proporciona um meio para que os sistemas de IoT possam ser escaláveis e facilitam a atualização do firmware e do sistema com novos requisitos quando necessário.
3.4. Tempo real
Sistemas IoT lidam com grandes volumes de dados a todo momento e, em muitos casos, precisam tomar decisões rapidamente para responder a um evento em tempo real, com base nos dados coletados. Para que a resposta gerada seja adequada, é preciso que esses dados coletados sejam processados em tempo real. Além disso, há uma necessidade de garantir que dados corrompidos sejam identificados e não utilizados, sejam eles gerados por sensores com defeito ou por ações maliciosas, pois o uso destes pode causar danos variados, tanto ao sistemas como aos seres humanos que usam o sistema.
3.5. Altamente distribuído
Sistemas IoT podem ser projetados para abranger de um edifício à uma cidade inteira (até mesmo o mundo), como é o caso dos telefones celulares hoje conectados à rede. Essa distribuição pode ser aplicada aos dados (que podem ser armazenados localmente ou na borda da rede) e ao processamento (em servidores na nuvem, na borda da rede, nos gateways de IoT, ou mesmo nos sensores e atuadores mais robustos).
3.6. Heterogênio
Sistemas IoT constituem um sistema bastante heterogêneo, sendo formados por sensores, atuadores, tipo de redes e uma variedade de componentes de processamento. Costumeiramente o sensores são dispositivos de baixa potência e, justamente por isso, precisam de uma rede local especializada para se comunicarem. Para habilitar o acesso em escala da internet a dispositivos desse tipo, um gateway IoT é usado.
3.7. Segurança e Privacidade
Esse é um dos maiores desafios em IoT. Ter a garantia de que esses sistemas são seguros, resilientes e sustentar as expectativas de seus stakeholders sobre privacidade é especialmente desafiador. Tanto a proteção quanto a privacidade dos dados são fontes de preocupação nesses sistema. Quanto mais acesso um sistema tem as informações de um usuário, melhor e mais relevantes podem ser as recomendações geradas pelo sistema; porém decidir até que ponto informações sensíveis e pessoais devem ser compartilhadas com a rede ainda é um dilema. Até que ponto estamos dispostos a abrir mão da nossa privacidade para melhorar um sistema? E quais garantias temos, como usuários, do que é feito com eles e quem mais tem acesso a eles?
3.8. Conformidade
Para fornecer confiança sobre os sistemas de IoT, as operações realizadas devem estar em conformidade com regulamentações específicas da indústria, além de atender as expectativas das partes interessadas nos sistemas de IoT.
3.9. Integração
Para ser considerado um sistema IoT, este precisa estar conectado em rede a outros dispositivos e/ou sistemas, como sistemas de controle predial, fabril ou corporativos existentes. A interoperabilidade é fator importante para que sistemas IoT atinjam maior espaço no mercado.
A partir dos itens elencados acima, podemos inferir que tais sistemas devem seguir, pelo menos, 3 atributos de qualidade: interoperabilidade, escalabilidade e confiabilidade.
4. Barreiras da IoT
Evans (2011), no white paper da Cisco de 2011, levanta as 3 maiores barreiras que tem o potencial de retardar o desenvolvimento de IoT, são elas: a implantação do IPv6, a alimentação de sensores e um acordo de padrões.
O autor corrobora que, para o sucesso da adoção de IoT, é necessário a implementação do IPv6 e mostra sua preocupação com a falta de endereços IPs IPV4 (que ocorreu em fevereiro de 2010) para novos sensores, apesar de nenhum impacto real ter sido percebido pelos usuários na época. Além disso, o IPV6 implementa melhorias na segurança, como a implementação do IPSec nativo, e facilita o gerenciamento de redes devido a recursos de autoconfiguração, processamento por enlace em vez de por nó, entre outros. Muitos deles ajudam a preservar a vida útil da bateria de dispositivos de IoT, reduzindo a carga administrativa e de manutenção.
A duração de bateria e alimentação dos sensores em IoT é outro grande desafio, uma vez que para atingir o seu potencial completo os sensores deveriam ser auto-sustentáveis; sendo capazes de gerar eletricidade a partir de elementos ambientais, como a luz solar e o fluxo de ar, para que não dependam de baterias que precisam ser trocadas e descartadas, gerando lixo e desperdício.
Por último, mas não menos importante é a adoção de padrões. Embora haja progressos na área de normas técnicas (como os da IEEE), ainda não é o suficiente, especialmente nas área de segurança, privacidade, arquitetura e comunicações.
Apesar da existência dessas barreiras e dos desafios apresentados, esses não são intransponíveis, sendo um campo aberto para pesquisas futuras. Os benefícios alcançáveis com IoT sobrepõem essas limitações.
5. Exemplo prático — Mumbai: um conto de duas cidades
Esse é um exemplo prático de como a IoT pode impactar positivamente na vida das pessoas, mostrando que esta tecnologia não existe apenas para beneficiar a própria tecnologia, e pode sim ajudar pessoas no mundo real, como ajudar diminuir a desigualdade na cobrança de serviços. Este exemplo foi retirado do artigo da Cisco “A Internet das Coisas — Como a próxima evolução da Internet está mudando tudo” [Evans 2011].
O caso tem como cenário Mumbai, na Índia, que possui duas regiões bem distintas: Dharavi (região mais pobre) e Warden Road (região mais rica). Em Dharavi o custo da água municipal é de $1,12 por metro cúbico, enquanto que em Warden Road é cobrado $0,03 pela mesma quantidade de água. A desigualdade nos preços praticados é justificada pelos fornecedores pelo maior custo de fornecimento de serviços públicos nos bairros mais pobres, devido a ineficiência da infraestrutura, com problemas como vazamento e roubo de água. De acordo com um artigo no The Wall Street Journal, “há sete anos, mais de 50 por cento da energia distribuída pela North Delhi Power Ltd. não era paga pelos clientes. Um desafio importante das companhias elétricas é reduzir o furto pela população pobre da Índia”.
“Devido a seus sensores ubíquos e sistemas conectados, a IoT disponibilizará às autoridades mais informações e controle para identificar e corrigir esses problemas. Isso permitirá que os serviços sejam operados de forma mais rentável, oferecendo incentivo adicional para melhorar infraestruturas em bairros mais pobres. Mais eficiência também permitirá preços mais baixos, o que, por sua vez, encorajará aqueles que usam os serviços de graça a se tornarem clientes contribuintes.” diz o artigo do The Wall Street Journal em 7 de agosto de 2009.
Além deste exemplo, podemos ver IoT em quase todos os locais atualmente, seja em um relógio digital ou na automação residencial, em menor ou maior escala, o impacto dessa tecnologia na vida das pessoas é notável, e tende a aumentar na medida que mais dispositivos e pessoas estão conectadas em rede; da mesma forma que seus desafios e oportunidades.
Referências
LeFrançois M. (2017) “Introduction to the internet of things”, http://ci.mines-stetienne.fr/teaching/maj-info/iot/2017/1/#_introduction2, Outubro.
IERC Position Paper (2015) “IoT Semantic Interoperability: Research Challenges, Best Practices, Recommendations and Next Steps”, http://www.internet-of-things-research.eu/pdf/IERC_Position_Paper_IoT_Semantic_Interoperability_Final.pdf, Outubro.
P. Javeri (2019) “Rethinking IoT Architecture — The need for distributed systems architecture for the Internet of Things ”, https://medium.com/@prashunjaveri/rethinking-iot-architecture-the-need-for-distributed-systems-architecture-for-the-internet-of-ad967d19eae, Outubro.
D. Evans (2011) “A Internet das Coisas — Como a próxima evolução da Internet está mudando tudo”, Cisco White paper, http://http://www.cisco.com/c/dam/global/pt_br/assets/executives/pdf/internet_of_things_iot_ibsg_0411final.pdf, Outubro.
Cisco White Paper (2014) “IoT Reference Model White Paper”, cdn.iotwf.com/resources/71/IoT_Reference_Model_White_Paper_June_4_2014.pdf, Outubro.
