Escolar Documentos
Profissional Documentos
Cultura Documentos
TCC JFRN Final
TCC JFRN Final
Natal-RN, Brasil
2022
Robson da Silva Andrade
Natal-RN, Brasil
2022
Robson da Silva Andrade
Natal-RN, Brasil
2022
Dedico a minha Mãe Maria Valdete da Silva, a minha Filha Raissa Arianda da Silva
Andrade e a minha Noiva Ingrid Pereira dos Santos
Agradecimentos
Para garantir que toda essa estrutura de TI se mantenha funcional, surge a necessidade
de monitoramento em tempo real da temperatura, umidade, presença de pessoas, fumaça,
gases e fogo nos ambientes de TI na Justiça Federal do Rio Grande do Norte - JFRN/RN.
O equipamento terá uma interface web para parametrizar os alertas através dos limites
mínimo e máximo (threshold) das variáveis ambientais, configuração das conexões de rede
e demais módulos, monitoramento em tempo real com gráficos (gauges) e Bot do Telegram
funcionando independentemente de outras plataformas e ou sistemas externos
O Argus Monitor também deverá ter a capacidade de integração com sistemas de monito-
ramento de infraestrutura de TI do NOC da JFRN, tais como Zabbix e Grafana, através
do protocolo SNMP, possibilitando coletar, manipular e gerar alertas.
This work aims at the development of a low-cost device, named in this project as Argus
Monitor, using the arduino and esp8266 platform, containing sensors and modules for
wireless and wired network connection.
The equipment will have a web interface to parameterize alerts across the limits minimum
and maximum (threshold) of the environmental variables configuration of network con-
nections and other modules, real-time monitoring graphics (gauges) and Telegram Bot,
working independently of other platforms and or external systems
Argus Monitor should also have the ability to integrate with JFRN NOC IT infrastructure
monitoring systems, such as Zabbix and Grafana, through the SNMP protocol, enabling it
to collect, manipulate and generate alerts.
Keywords: Arduino, API, Bot, Datacenter, IoT, Monitoring, Sensors, Telegram, Temper-
ature, Zabbix.
Lista de ilustrações
AT Attention (acrônimo)
AP Access Point
BOT Robot
DC Datacenter
IC Integrated Circuit
IP Internet Protocol
IR Infrared
KB Kilobyte
MHZ Mega-Hertz
TI Tecnologia da Informação
TJ Tribunal de Justiça
TR Turma Recursal
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1 Cenário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3 Objetivos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2 REFERENCIAL TEÓRICO . . . . . . . . . . . . . . . . . . . . 21
2.1 Data Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.1 NOC - Network Operations Center . . . . . . . . . . . . . . . . . 22
2.1.2 DCIM - Datacenter Infrastructure Management . . . . . . . . 22
2.2 Sistemas / Tecnologias Embarcadas . . . . . . . . . . . . . . . . 24
2.2.1 Arquitetura Computacional . . . . . . . . . . . . . . . . . . . . . 24
2.2.2 Microcontroladores . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3 Internet das Coisas . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4 Plataforma Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.1 Arquitetura da Placa Arduino . . . . . . . . . . . . . . . . . . . . 32
2.4.2 Sensores Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4.3 Módulos Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.5 Protocolo SMNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.6 Ferramentas de Monitoramento de Redes . . . . . . . . . . . . . 35
2.6.1 Zabbix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.6.2 Grafana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.7 Bot Telegram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4 CONCLUSÃO E RESULTADOS . . . . . . . . . . . . . . . . . 69
4.1 Considerações Finais, Sugestões e Trabalhos Futuros . . . . . . 71
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
16
1 Introdução
Esse capítulo tem o objetivo de apresentar uma visão geral da JFRN e sua relevância
como instituição jurídica, detalhar a necessidade real para o desenvolvimento do projeto,
descrevendo a motivação, os objetivos gerais e específicos.
1.1 Cenário
A Justiça Federal é o órgão do Poder Judiciário que tem como missão a pacificação
dos conflitos que envolvem os cidadãos e a Administração Pública Federal, em diversas
áreas. Formada por juízes federais, que representam a primeira instância, e os Tribunais
Regionais Federais, de segunda instância, onde atuam os Desembargadores Federais, e pelos
Juizados Especiais Federais que compreende a Justiça do Trabalho, a Justiça Eleitoral e a
Justiça Militar. A Justiça Federal no Rio Grande do Norte - JFRN faz parte do Tribunal
Regional da 5ª Região, juntamente com a JFAL, JFCE, JFPB, JFPE e JFSE, Figura: 1.
As competências da Justiça Federal, sendo parte da justiça comum, e dos juízes
federais são definidas no Art. 109 da Constituição Federal Brasileira (STF, 2022):
“Art. 109. Aos juízes federais compete processar e julgar:
I — as causas em que a União, entidade autárquica ou empresa pública
federal forem interessadas na condição de autoras, rés, assistentes ou
oponentes, exceto as de falência, as de acidentes de trabalho e as sujeitas
à Justiça Eleitoral e à Justiça do Trabalho; [...]”
Figura 3 – DC1: Corredor de racks, nobreaks, rack com equipamentos e sistema de combate
a incêndio.
Figura 5 – Rack do Sistema de monitoramento CMC III da Rittal Systems Ltd, no DC1.
1.2 Motivação
Durante a execução da residência, entre outubro de 2020 à abril de 2022, foram
registrados alguns incidentes no DC2 e salas de equipamentos que resultaram na interrupção
e ou degradação do funcionamento da infraestrutura da rede.
Como explicitado anteriormente, não existe sistema de monitoramento nesses
ambientes. Tais problemas podem ter sidos ocasionados pelo alcance do limite mínimo e
máximo recomendável da temperatura e umidade nesses ambientes, bem como da presença
de pessoas não autorizadas, prestadores de serviços fazendo manuseio inadequado dos
equipamentos e do sistema de cabeamento estruturado, e ou devido a problemas no sistema
de refrigeração (ar-condicionado split) quando existente na sala.
Analisando esse cenário a equipe de infraestrutura verificou a necessidade do
monitoramento da temperatura, umidade, presença de pessoas, fumaça, gases e fogo
nas salas de equipamentos de rede e do DC2, sendo este último a principal motivação
do desenvolvimento desse projeto, para mitigar dessa forma, possíveis problemas que
possam gerar a indisponibilidade e ou mau funcionamento dos equipamentos de redes e
consequentemente dos sistemas da instituição.
2 Referencial Teórico
O DCIM pode ser resumido em uma palavra: informação. Cada faceta da gestão
de datacenters gira em torno de ter informações completas e precisas e pode oferecer os
Capítulo 2. Referencial Teórico 23
seguintes benefícios:
• coleta/armazenamento/representação de dados
• comunicação de cados;
• monitoramento;
• controle;
2.2.2 Microcontroladores
Segundo (KERSCHBAUMER, 2018), microcontroladores são circuitos integrados
que possuem em seu interior todos os componentes necessários ao seu funcionamento
dependendo unicamente da fonte de alimentação externa. Pode-se dizer que os microcon-
troladores são “computadores” de um único chip que podem ser programados e é composto
por processador (Unidade Lógica Aritmética - ULA), memória, portas de I/O, dispositivos
de comunicação serial dentre outros, conforme mostra a Figura 11.
2
<https://www.britannica.com/biography/Howard-Aiken>
Capítulo 2. Referencial Teórico 26
escrever, compilar e carregar códigos nos módulos e placas Arduino. Está facilmente
disponível para download e instalação no site oficial da Arduino, suportando sistemas
operacionais como Windows, Linux e Mac, como também disponibiliza uma plataforma
Web Online e uma interface de linha de comando (CLI).
Oficialmente existe quase uma centena de modelos de placas da plataforma Arduino
no site oficial (em produção e descontinuadas), sendo os mais utilizados mostrados na
Figura 16 e suas especificações no Quadro 1.
3
Arduino IDE Versão 1.X e 2.x<https://github.com/arduino/>
Capítulo 2. Referencial Teórico 31
Por ser uma plataforma open hardware, os diagramas esquemáticos das placas e
os códigos são lançados sob a licença CC BY-SA license e disponibilizados publicamente
(CREATIVECOMMONS, 2022). A empresa italiana Arduino é detentora de uma série de
marcas, mas não limitado somente a palavra Arduino e os logotipos oficiais como visto na
Figura 17, havendo restrições no uso da marca registrada, direitos autorais e o tipo de
licença de uso dos produtos.
3. Arduino Genérico / clone: Fabricado sem uso da marca e com componentes de baixa
qualidade (geralmente fabricados na China).
4. Arduino Compatível: Fabricado legalmente, sem uso da marca e com alta qualidade
dos componentes.
• SetRequest: Solicitação de gravação dos dados na MIB do agente por parte do gerente.
2.6.1 Zabbix
O Zabbix é uma solução de software de nível enterprise, de código aberto, com
suporte a monitoração distribuída de numerosos parâmetros de rede, o estado e a integridade
de servidores, máquinas virtuais, aplicações, serviços, banco de dados, websites, nuvem,
sensores, dispositivos IoT entre outros. Devidamente configurado, pode desempenhar um
papel importante no monitoramento da infraestrutura de TI seja de pequenas organizações
com poucos dispositivos e para grandes empresas com centenas ou milhares de dispositivos
monitorados em NOCs (ZABBIX, 2022a).
O Zabbix usa um mecanismo flexível de notificação que permite aos usuários
configurar alertas baseados em e-mail, BOTs, aplicativos de mensagens instantâneas e
outros, para praticamente qualquer evento, oferecendo um excelente recurso de relatórios
e visualização de dados baseados em dados armazenados, através de um frontend web
que garante que o status dos objetos monitorados sejam avaliados a partir de qualquer
localização (HERNANTES; GALLARDO; SERRANO, 2015).
Foi criado no início dos anos 2000 por Alexei Vladishev (LINKEDIN, 2022).
Atualmente é desenvolvido pela Zabbix SIA (ZABBIX, 2022b), estando na versão 6.0
LTS (do inglês, Long-term Support) ou traduzindo Suporte de Longo Prazo. Escrito e
distribuído sob a GPL General Public License versão 2 (GNU-ORG, 2022), onde o código
fonte é disponibilizado para o público em geral, podendo ser baixado gratuitamente.
Capítulo 2. Referencial Teórico 37
2.6.2 Grafana
O Grafana é uma solução de código aberto, muito utilizados em NOCs, para
executar análises de dados de séries temporais, coletados a partir do monitoramento de
aplicativos e dispositivos, com a ajuda de painéis personalizáveis (dashboards).
Uma série temporal é definida como um conjunto de observações sequenciais de
uma grandeza de interesse durante um período de tempo, assim, ela é um tipo de dados
com valores reais e de alta dimensionalidade.
O Grafana é uma ferramenta de visualização de dados que permite conectar em
diversas fontes de dados (datasources) diferentes, através de plug-ins, permitindo criar
dashboards iterativos reunindo dados de diversas fontes em um mesmo painel, podendo
mesclar dados de fontes distintas em um mesmo gráfico, facilitando a visualização e o
correlacionamento dessas informações.
Segundo o site da Empresa desenvolvedora (GRAFANA-LICENSING, 2022) o
núcleo (core), que engloba os principais projetos do Grafana é licenciado pela AGPLv3
(AGPLV3, 2022) e demais plugins, agentes e certas bibliotecas permanecerão licenciadas
pelo ApacheV2.0 (APACHE-LICENSE2, 2022) A Figura 21 mostra alguns dashboards
utilizados nos monitores do NOC da JFRN.
executar uma determinada ação. Por exemplo, é possível enviar ao bot o comando /ajuda
ou /help, e é retornado no chat em forma de texto uma lista dos possíveis comandos
definidos para iteração com esse bot. A Figura 22 mostra o perfil, a tela inicial e um chat
do Telegram com a lista dos comandos e o botão com o menu de comandos criados para o
Bot do Argus Monitor.
Os bots “normais” do Telegram não são privados podendo ser encontrado por
qualquer usuário. No entanto, os bots do Telegram só podem ser disponibilizados para os
usuários se um canal de comunicação direto com o bot for configurado. Este canal é um
grupo “privado” com o bot, ao qual pertencem somente o usuário que o criou, usuários
aprovados por ele e o bot real. Desta forma, o Bot Telegram só pode ser usado pelo grupo
de usuários controlado pelo usuário criador desse canal.
Entre diversas funcionalidades os bots podem ser usados para:
• ser integrado com outros serviços, enriquecendo os chats do Telegram com conteúdo
de serviços externos como Bot do Gmail, bot Wiki, bot de música, bot do Youtube,
GitHubBot, etc;
• construir redes sociais, conectando pessoas que procuram parceiros de conversa com
base em interesses comuns ou proximidade.
2. interface de rede sem fio 802.11b/g/n com função AP (5 clientes) e station (conectar
a um roteador e ter acessado ou ser acessado pela internet);
3. display LCD 16x2 Linhas para visualização dos dados dos sensores no próprio
equipamento;
5. sirene Piezoelétrica 12v com potência sonora de 110db para alertar incidentes graves;
8. sensor de temperatura e umidade com sensibilidade dentro dos padrões para monito-
ramento, amplamente utilizado no mercado;
10. sensor de presença com capacidade de detectar movimento entre 2-3 milímetros até
7 metros em um ângulo de até 110º com a lente fresnel;
11. sensores removíveis através de plugues de encaixe rápido tipo fone de ouvido (P2);
12. cabos dos sensores com 2 metros para uma melhor disposição dentro do ambiente
monitorado;
13. fonte externa removível com plugue padrão P4 facilmente encontrado no mercado
(funciona com fontes entre 7v e 12v - 1 amp);
14. servidor web integrado para acesso via navegador web para configuração (ArgusCon-
fig) do equipamento e monitoramento por gráficos;
16. agente SNMP para integração com qualquer software de monitoramento, através da
resposta (GetResponse) de requisições (GetRequest) e envio de traps caso atinja os
limites configurados no equipamento através do ArgusConfig;
17. Bot Telegram para o monitoramento em tempo real via aplicativo de mensagens
instantâneas, com opção de ativar ou desativar alertas e comandos pré-definidos
(necessário acesso a internet via rede sem fio);
Fabricado por diversas empresas chinesas é de fácil aquisição pela internet com
valor médio de US$ 5,00 não incluído frete e impostos em sites de compras internacionais
(ALIEXPRESS, 2022).
alimentados para que o módulo funcione. Pode ser utilizado com comunicação serial, I2C,
SPI e qualquer outro sinal digital, não funcionando com sinais analógicos.
Custa em média entre US$ 1,00 e US$ 2,00 não incluídos frete e impostos (ALIEX-
PRESS, 2022).
A Figura 36 mostra detalhes e pinagem do módulo conversor de nível lógico.
• Conexão ethernet através do módulo W5500 com a rede cabeada e gerar automatica-
mente o endereço MAC LAA (locally administered addresses) (MACADDRESS-IO,
2022), ou traduzindo endereço administrados localmente, pois o módulo não tem
MAC gerado pelo fabricante.
Um endereço administrado localmente é atribuído a um dispositivo por um admi-
nistrador de rede, substituindo o endereço gerado pelo fabricante da placa. Neste
tipo de endereço o segundo bit menos significativo do primeiro octeto do endereço
é 1. Dessa forma, existem 4 intervalos de intervalos de endereços administrados
localmente que podem ser usados em uma rede local:
1. x2-xx-xx-xx-xx-xx
2. x6-xx-xx-xx-xx-xx
3. xA-xx-xx-xx-xx-xx
4. xE-xx-xx-xx-xx-xx
• controle do display LCD 1602 mostrando em tempo real os dados dos sensores;
• envio de traps e respostas das requisições SNMP feitas pelo Zabbix e ou outro
software de monitoramento;
• envio dos dados da leitura dos sensores para a placa ESP01 no formato JSON via
interface serial (RX/TX) em intervalos de tempo definidos na configuração;
• sensor PIR: O Sensor envia pela porta de saída um sinal identificando se detectou
presença (HIGH/5V) ou não (LOW/0V).
• JSON: Receber e processar o arquivo JSON contendo as leituras dos sensores enviado
pela placa MegaPro. Enviar o arquivo de configuração JSON para a placa MegaPro.
• modo AP: Rede sem fio padrão, para dispositivos clientes se conectarem e terem
acesso ao ArgusConfig (no máximo 4 conexões simultâneas). No firmware está
configurada como padrão um SSID (service set identifier), que é a identificação da
rede sem fio do Argus Monitor e uma senha (chave da rede) que poderá ser alterada
na interface ArgusConfig: SSID=argus (não configurável) e chave da rede=argus
(configurável).
• Argus: Aba da página inicial que mostra gráficos em tempo real das leituras dos
sensores enviadas pela placa MegaPro. A Figura 46 mostra essa funcionalidade.
Capítulo 3. O Dispositivo: Argus Monitor 62
conectado pode ser ser acessado através do IP atribuído ou através da internet caso
seja permitido pelas regras de acesso da rede local, mostrado na Figura 48.
• AP: Modo AP para configuração da chave da rede (senha) para conectar ao SSID
emphargus para acesso ao ArgusMonitor, mostrado na Figura 49.
mente dos limites configurados no ArgusConfig, a cada período de tempo definido pelo
comando /timer=X (onde X=tempo em segundos).
4 Conclusão e Resultados
• a conexão de rede cabeada com o módulo W5500 foi extremamente estável não sendo
percebida a perda de conexão durante o seu uso e com velocidade (10/100Mbits)
adequada para o tráfego que irá usar.
• o sensor de gases MQ2 apresentou um bom nível de detecção de GLP, fumaça e CO2.
Para os testes foram utilizados gás butano de um isqueiro, papel, madeira e plásticos
foram queimados para a geração de fumaça que pode conter monóxido / dióxido
de carbono e outros gases. A sensibilidade do sensor pode ser ajustada através de
potenciômetro localizado atrás do módulo.
• demais módulos: display LCD, relé, LED e fonte não foram observadas nenhuma
ocorrência de parada ou mal funcionamento.
2. criar uma PCB (placa) única com os módulos, microcontroladores, conexões de rede
e plugues para os sensores on-board, eliminando a necessidade do uso de grande
quantidade de fios, jumpers e soldagem destes nas placas.
3. criar bibliotecas próprias fazendo o fork (cópia) das utilizadas no projeto corrigindo
possíveis problemas e reduzindo o código utilizado;
4. utilizar um módulo de conexão de rede sem fio mais estável e com maior velocidade.
5. Adicionar sensores com conexão sem fio, wi-fi, rádio, bluetooth ou outra que possibilite
a disposição desses sensores em diversos pontos do ambiente.
8. projetar uma case própria com encaixes para os plugues, placas e componentes
utilizados.
9. criar uma versão do dispositivo com a função de um SNMP manager para controlar
diversos módulos em outros ambientes conectados pela rede com ou sem fio.
Referências
ANTÃO, L. et al. Requirements for testing and validating the industrial internet of things.
In: . [S.l.: s.n.], 2018. Citado 2 vezes nas páginas 28 e 29.
ATZORI, L.; IERA, A.; MORABITO, G. The Internet of Things: A survey. Computer
Networks, v. 54, n. 15, p. 2787–2805, out. 2010. ISSN 13891286. Disponível em:
<https://linkinghub.elsevier.com/retrieve/pii/S1389128610001568>. Citado na página
27.
BANE, T. Encyclopedia of giants and humanoids in myth, legend and folklore. Jefferson,
North Carolina: McFarland & Company, Inc., Publishers, 2016. ISBN 9781476663517.
Citado na página 40.
GARTNER: Delivering actionable, objective insight to executives and their teams. 2012.
Disponível em: <https://www.gartner.com/en>. Citado na página 23.
VERAS, M. Cloud Computing. Nova Arquitetura da TI. 1st edition. ed. Rio de Janeiro:
Brasport, 2012. Original-date: 2012. Citado 2 vezes nas páginas 21 e 22.
YOUSUF, T. et al. Internet of things (iot) security: Current status, challenges and
countermeasures. International Journal for Information Security Research, v. 5, p.
608–616, 12 2015. Citado na página 28.
YOUTUBE: A Tale of 4 Arduino Unos - Genuine, Counterfeit, Clone and Improved. 2021.
Disponível em: <https://www.youtube.com/watch?v=If1Ha5pjNwE>. Citado 2 vezes
nas páginas 31 e 32.