Desenvolvimento de uma API de Comunicação Coletiva para Dispositivos em Aplicações IoT usando Computação Paralela e Fog Computing

Autores

  • Ricardo Cézar Fernandes de Melo Júnior UFERSA
  • Paulo Henrique Lopes Silva UFERSA

Palavras-chave:

API, IoT, Conexão, Software

Resumo

O projeto consiste no estudo e na aplicação dos conceitos de Computação Paralela e Fog Computing para criação de uma Application Programming Interface (API) que realize a comunicação entre dispositivos em sistemas  Internet of Things (IoT). Desse modo, a ideia inicial foi de simular uma aplicação para automatizar alguns processos, como gerenciar diversos aparelhos em um ambiente a partir de um servidor mestre. Diante disso, uma bateria de testes foi realizada com diferentes métodos de conexão como transmissão via Transmission Control Protocol (TCP) e User Datagram Protocol (UDP), executado em diferentes topologias de rede por exemplo: em anel, linha, estrela e malha, sempre aplicando o paralelismo, a fim de fornecer uma API mais eficiente, além de usar conceitos de computação em nuvem para armazenar o estado da aplicação e fog computing, pois a maioria dos equipamentos gerenciados têm padrões de funcionamento diferentes, como exemplo: projetores, ar-condicionado e computadores, tornando um ambiente heterogêneo. Nesse sentido, os principais objetivos estabelecidos foram os de realizar uma conexão eficaz e assíncrona entre os servidores e microcontroladores, que serão responsáveis por monitorar os aparelhos, para ser resistente a falha de conexão, como perda de sinal, além de estabelecer uma conexão síncrona entre os próprios servidores, para criação de uma rede conectada, possibilitando a troca de informação entre todos os microcontroladores conectados entre si, assim possibilitando o mapeamento de uma grande quantidade de equipamentos em grandes distâncias. Nesse sentido, para alcançar esses objetivos foram utilizadas ferramentas de programação como: Threads para paralelizar e tornar a API capaz de suportar um número grande de conexões ao mesmo tempo e para estabelecer a conexão entre servidor e microcontrolador. O padrão publisher/subscriber foi utilizado com o protocolo Message Queuing Telemetry Transport (MQTT), possibilitando a realização de conexões assíncronas, que se encaixa diretamente com dispositivos IoT, por conseguinte a isso, foi utilizado a tecnologia de Sockets com pacotes TCP, para garantir uma comunicação síncrona, concisa e segura entre os servidores, por final todas as operações realizadas são enviadas para um servidor em nuvem, em que persiste todos os dados transmitidos. O serviço em nuvem estabelece uma comunicação com os servidores por meio da biblioteca em JavaScript chamada Socket.io. Portanto, o resultado obtido foi a criação de uma API para comunicação coletiva, onde um servidor pode se comunicar e gerenciar dispositivos IoT por meio de microcontroladores, comunicar-se com outros servidores, sendo possível trocar informações entre si e até mesmo controlar os dispositivos desse outro, com a comunicação e persistência dos dados sendo armazenadas em nuvem. Além disso, para testes em ambiente simulado, uma interface foi desenvolvida (em Java com JavaFx) para validar o funcionamento da API e da interação com o serviço em nuvem. Com isso, os resultados obtidos contemplam os objetivos apresentados, podendo expandir para outro passo, que seria a realização de testes em cenários reais e a realização de testes de usabilidade para aperfeiçoar a interface com o sistema.

Downloads

Não há dados estatísticos.

Downloads

Publicado

07-01-2025

Edição

Seção

Núcleo 2: Ciências Exatas e da Terra, Engenharias, Multidisciplinar