quarta-feira, 25 de março de 2020

TCC - Sessão 4 - Metodologia - Inacabado

O sistema proposto é composto por diversos componentes que trabalham interconectados na realização das tarefas. Inicialmente os diversos módulos e componentes serão apresentados individualmente, e então será exposto o modelo de funcionamento conjunto.
A internet das coisas e o protocolo MQTT
O protocolo MQTT, sigla de MQ Telemetry Transport, é um protocolo de mensagens leve para sensores e pequenos dispositivos móveis otimizado para redes TCP/IP que implementa um esquema de troca de mensagens fundamentado no modelo Publicator-Subscritor. Este modelo é muito utilizado em internet das coisas e tem seu fundamento apresentado abaixo:
São criados canais de comunicação virtuais chamados tópicos. Um tópico pode ser assinado por um dispositivo, ou pode-se fazer uma publicação em um tópico. Algo similar a uma tag, onde podemos escrever usando a tag, e outros podem fazer  a leitura de todo o conteúdo publicado com a tag. Neste caso o tópico não faz parte da mensagem, é apenas um meio de encontra-la. Um dispositivo chamado ‘thing’ publica em um tópico, e o broker MQTT realiza o envio da mensagem recebida à todos os assinantes daquele tópico especifico. A comunicação entre o dispositivo e o broker depende do serviço utilizado,  a AWS IoT Core utilizada neste projeto se baseia em TCP/IP trabalhando sobre a internet utilizando protocolo  de transporte HTTP e possui autenticação por meio do uso de certificados de segurança.
Amazon Web Services
Conforme descrição da própria empresa, A Amazon Web Services (AWS) é a plataforma de nuvem mais adotada e mais abrangente do mundo, oferecendo mais de 175 serviços completos de datacenters em todo o mundo. Milhões de clientes, incluindo os startups de crescimento mais rápido, grandes empresas e os maiores órgãos governamentais, estão usando a AWS para reduzirem seus custos, ficarem mais ágeis e inovarem mais rapidamente. Dentre todos estes serviços oferecidos, faremos uso de quatro serviços da Amazon neste trabalho. São eles:
·        AWS IOT Core – É uma plataforma de módulos da AWS que fornece serviços de IOT para soluções industriais, comerciais e de consumo. O módulo AWS IOT Core permite que dispositivos conectados interajam de maneira fácil e segura com aplicativos de nuvem e outros dispositivos.
·        Amazon DynamoDB - É um serviço de banco de dados de valor-chave que oferece ótimo desempenho e confiabilidade dos dados armazenados. Permite acesso aos dados por meio de diversas tecnologias que incluem as mais utilizadas como Python, PHP e JavaScript.
·        AWS AppSync - É um serviço gerenciado que usa GraphQL para permitir que aplicativos obtenham exatamente os dados de que precisam com mais facilidade, permite de maneira simples a adição, consulta e edição de dados nos bancos de dados da AWS.
·        Amazon EC2 -  É um web service que disponibiliza capacidade computacional segura e redimensionável na nuvem. Permite que seja configurado um sistema operacional em uma maquina virtual e que esta instancia seja acessada remotamente de qualquer local.


ESBOÇO GERAL DO SISTEMA
O sistema projetado neste trabalho tem sua premissa no uso de cloud computing, ou seja, no uso de serviços de nuvem que executem as tarefas de armazenamento e processamento de dados, sem a necessidade de um servidor hospedado localmente. Desta maneira se eliminam as manutenções regulares, a equipe de suporte pós desenvolvimento e despesas não previstas com reparos. As despesas são fixas e definidas pelas cotas de uso dos serviços da nuvem. O diagrama abaixo ilustra o relacionamento entre o conjunto dos serviços de computação em nuvem e dos dispositivos de aquisicão de dados e de interface com o usuário.
Descrição dos elementos do sistema

Things’ – As ‘coisas’ são os dispositivos utilizados para coleta de dados, podem ser por exemplo microcontroladores conectados a sensores, botões, interfaces ou qualquer outro tipo de coletores de dados. Tais dispositivos são responsáveis por criar um array no formato JSON com os dados coletados e executar o envio desta informação para o broker utilizando o canal criado por um Tópico previamente definido. Neste projeto utilizaremos uma ESP8266 para recolhimento, processamento e publicação dos dados de sensoriamento para o broker.
AWS IoT Core – É o broker MQTT do projeto que se responsabiliza por criar o canal de comunicação entre as ‘things’ e a nuvem. Executa tarefas como receber as mensagens publicadas e retransmiti-las a todos os ‘subscribers’. Trabalha com o payload no formato de Array JSON e cada mensagem recebida tem seu formato conforme apresentado na figura a seguir.
AWS AppSync – É uma “Application Programming Interface", ou seja, um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software ou plataforma baseado na Web. Neste caso esta API fornece uma maneira pratica de relacionamento entre os diversos serviços da AWS. Utilizaremos a AppSync para fazer a assinatura do tópico utilizado por nossos dispositivos para envio dos dados e para processar a mensagem (payload) recebida. Esta API realizará adicionalmente o encaminhamento deste conjunto de informações para o serviço de armazenamento DynamoDB.
DynamoDB – É o banco de dados utilizado para armazenamento de todas as informações coletadas pelos dispositivos (things). Possui uma tabela organizada conforme apresentado na figura a seguir.
Cada dispositivo possui um id único que permite sua posterior identificação por ocasião da requisição dos dados, no DynamoDB esta chave é chamada de chave de partição. A chave timecode, é uma chave de classificação e torna cada registro de dados único, por isso não pode haver repetições de valor de timecode em um mesmo device. Isso é garantido pelo fato de que o valor de timecode é gerado no momento do envio do payload por um código UTS (UnixTimeStamp) que corresponde a quantidade de segundos desde o início do primeiro dia de janeiro 1970. (UTC)
Cada registro do banco de dados inclui um valor de cada parâmetro coletado.

Funcionamento

Nenhum comentário:

Postar um comentário

Minha Jornada com a ConectaPages: Construindo Visibilidade Digital para Pequenos Negócios

  O Começo: Uma Necessidade Pessoal que se Tornou uma Missão Coletiva Tudo começou com uma frustração pessoal que muitos pequenos empreende...