Abstract:
CONTEXTO: A Internet das Coisas é um ambiente em franca expansão, em que objetos, animais ou pessoas estão equipados com os mais variados sensores e possuem a capacidade de transferir automaticamente seus dados através de uma rede. Por sua natureza limitada, os sensores e dispositivos de borda normalmente apenas repassam os dados coletados para serem processados por sistemas centralizados na nuvem, e em muitos casos, aguardam o retorno de um resultado. Esta transferência do processamento local para remoto resulta em questões críticas como perda de conexão, alto tempo de resposta, sobrecarga no sistema computacional, além de necessitar uma estrutura robusta e escalável para comunicação dos dados e processamento centralizado. OBJETIVO: Assim, foram identificados dois grandes desafios. Primeiro, idealizar um modelo capaz de trazer o processamento de dados da nuvem para a borda de rede. Segundo, implementar uma solução que atenda as restrições e a heterogeneidade do ambiente IoT, tanto do ponto de vista de hardware quanto de software. A contribuição científica consiste na proposta de um modelo contendo várias camadas, desde a coleta dos dados, processamento, avaliação e publicação de resultados, além da implementação de um conjunto de classes e funções que auxiliam no desenvolvimento de aplicativos IoT executados por dispositivos com poucos recursos computacionais na borda da rede. Os principais resultados práticos são o uso facultativo da nuvem, processamento próximo ao tempo real e simplicidade no desenvolvimento das aplicações. METODOLOGIA: A metodologia de avaliação consiste em propor um modelo e implementar um framework chamado STEAM. A validação do modelo se dá pela implementação de aplicações construídas com o framework STEAM, juntamente com a avaliação de métricas de desempenho e de uso de recursos computacionais como CPU, memória e rede. RESULTADOS: Os experimentos realizados em uma indústria de semicondutores através da implementação de 2 aplicações e 4 cenários de teste, demonstraram a viabilidade tanto do modelo quanto do framework STEAM. Como um dos objetivos era construir aplicações leves explorando os princípios da computação de borda, foram obtidos em média menos de 1,0% de carga de CPU e menos de 436kb de consumo de memória em uma Raspberry Pi 3 modelo B+. Além disso, foram alcançados tempos de resposta rápidos, processando até 239 pacotes de dados por segundo, e redução do tamanho dos dados de saída para 14% do tamanho dos dados brutos de entrada, tanto ao notificar eventos quanto na integração com um aplicativo de painel de controle remoto. CONCLUSÃO: A proposta se mostrou viável com resultados promissores, apresentando o framework STEAM como uma alternativa leve, rápida e precisa para desenvolvimento de aplicações IoT com processamento de dados na borda da rede, eliminando a dependência de processamento na nuvem.