Escolar Documentos
Profissional Documentos
Cultura Documentos
CENTRO TECNOLÓGICO
DEPARTAMENTO DE ENGENHARIA ELÉTRICA E ELETRÔNICA
CURSO DE ENGENHARIA ELETRÔNICA
Florianópolis
2021
Lucas Almeida Martins
Florianópolis
2021
Ficha de identificação da obra elaborada pelo autor.
Martins, Lucas
Sistema de Iluminação Inteligente : Economia de Energia e
Monitoramento de Ambiente Utilizando MQTT / Lucas Martins ;
orientador, Joceli Mayer, 2021.
61 p.
Inclui referências.
Este Trabalho de Conclusão de Curso foi julgado adequado para obtenção do Título de
Bacharel em Engenharia Eletrônica, e aprovado em sua forma final pelo Curso de Graduação
em Engenharia Eletrônica.
________________________
Prof. Fernando Rangel de Sousa, Dr.
Coordenador do Curso
Banca Examinadora:
________________________
Prof. Joceli Mayer, Dr.
Orientador
Universidade Federal de Santa Catarina
________________________
Prof.ª Daniela Ota Hisayasu Suzuki, Dra.
Avaliadora
Universidade Federal de Santa Catarina
________________________
Prof. Richard Demo Souza, Dr.
Avaliador
Universidade Federal de Santa Catarina
Dedico este trabalho aos meus pais.
AGRADECIMENTOS
Por fim, agradeço meus pais e minha família, pelo apoio absoluto na minha
graduação e por permitirem que eu me dedicasse de forma exclusiva aos estudos.
RESUMO
The adoption of Internet of Things in everyday devices is already an inevitable trend. This set
of technologies can be explored in several applications. In the work environment, a well-
adjusted lighting is a relevant factor for productivity and can even contribute to the reduction
of accidents. This work aims to address this issue, proposing an intelligent lighting system
capable of adapting to the presence of people. Thus, a prototype was developed using
ESP8266 microcontrollers. The system was divided into a central device, which controls the
lamps, and peripheral devices, which monitor brightness and presence at specific points of the
environment. The devices support Wi-Fi connection, and communicate using the MQTT
protocol. Through a brief calibration process, the central device can recognize how each lamp
affects each point in the room and ensure that the brightness is within the established
threshold whenever presence is detected. In the end, the system prototype was tested on a
simulated environment and successfully controlled the lamps.
Tabela 2: Estimativa da luminosidade em lux para uma mesma leitura analógica. ................. 35
LISTA DE ABREVIATURAS E SIGLAS
ID Endereço de Identificação
1. Introdução ............................................................................................................ 19
1.1 Objetivo Geral ....................................................................................................... 20
3. Desenvolvimento .................................................................................................. 28
3.1 Funcionamento Geral............................................................................................. 28
3.6 Circuitos................................................................................................................. 47
4. Resultados............................................................................................................. 50
4.1 Metodologia ........................................................................................................... 50
Referências .............................................................................................................................. 60
19
1. INTRODUÇÃO
[4]
Internet of Things , ou simplesmente IoT, é um conceito que tem se tornado cada
vez mais popular a cada ano que passa, e há um motivo para essa ascensão. Com um menor
custo de sistemas embarcados e uma internet acessível em cada vez mais lugares, é natural a
popularização do conjunto de tecnologias que envolve IoT. Além disso, as possibilidades
proporcionadas por dispositivos cotidianos conectados à internet são praticamente infinitas. É
nesse contexto que nasceu a ideia deste trabalho e, também, de outros projetos realizados
junto ao PSILAB ao longo dos últimos anos.
[1]
também pode estar associada a um aumento da produtividade dos funcionários . A
Associação Brasileira de Normas Técnicas inclusive determina níveis específicos de
iluminação para diferentes tipos de atividade através da norma técnica NBR ISO/CIE 8995-
1:2013 - Iluminação de ambientes de trabalho [2].
2. COMPONENTES UTILIZADOS
2.1 ESP8266
seja, o sinal analógico de 0 a 3.3V é lido e convertido para um número de 0 a 1023 em escala
decimal.
Para contornar essa questão, foi utilizada a biblioteca WiFiManager. A ideia por trás
da biblioteca é fornecer uma interface para que o usuário possa configurar a rede Wi-Fi como
desejar, sem a necessidade da inserção prévia das credenciais da rede no código. Isso é feito
de uma forma inteligente, utilizando qualquer aparelho smartphone.
Primeiro a biblioteca utiliza a antena Wi-Fi disponível no chip para gerar uma nova
rede Wi-Fi, que possui um nome e uma senha definidos previamente na programação. Então,
Capítulo 2 – Componentes Utilizados 23
o usuário deve utilizar seu smartphone para se conectar à rede gerada, por exemplo
“Sensor_ESP8266”. Nesse ponto, a nova conexão é percebida pelo dispositivo, e uma
solicitação é enviada para o celular. O usuário deve aceitar a solicitação, e então uma página
será aberta no navegador, gerada pela própria biblioteca Wi-Fi Manager. Nessa página, o
usuário consegue visualizar todas as redes percebidas pela placa ESP8266. Uma vez que uma
rede for selecionada e a respectiva senha for inserida, o dispositivo será reiniciado, e a rede
“Sensor_ESP8266” será desfeita. Assim que o dispositivo for ligado, será realizada uma
tentativa de conexão à rede selecionada pelo usuário. Em caso de falha, o processo deverá ser
repetido, do contrário, o dispositivo estará conectado corretamente à rede desejada.
Além disso, a biblioteca também permite que novos parâmetros sejam adicionados
na página criada. No momento em que o usuário enviar as credenciais da rede selecionada,
esses outros parâmetros também são enviados para o dispositivo e podem ser acessados pela
programação.
2.1.2 MQTT
2.1.3 JSON
JSON é a sigla para JavaScript Object Notation, que consiste em uma forma de
armazenamento de dados em formato de texto. No projeto, o JSON funciona em conjunto
com a biblioteca MQTT para transmitir pacotes de dados que carregam todas as informações
necessárias para o funcionamento.
A biblioteca utilizada para criação e pela leitura dos pacotes é conhecida como
ArduinoJson. Com o auxílio da biblioteca, é possível criar um pacote no formato JSON, e
nele podem ser adicionadas todas as informações desejadas acompanhadas de um nome de
identificação. Por exemplo, digamos que uma leitura de luminosidade resultou em um valor
de 100 lux, e esse dado precisa ser transmitido através de um pacote JSON. Para isso, é
necessário chamar as funções correspondentes, e adicionar o valor 100 no pacote,
acompanhado de uma etiqueta, como “luminosidade”. A partir disso, o pacote JSON
resultante será equivalente à String “{luminosidade: 100}”. O mesmo pacote JSON pode
conter outras variáveis, incluindo variáveis em formato booleano, como “{luminosidade: 100,
presenca: true}”. Com o pacote JSON devidamente criado, a biblioteca permite a leitura
individual de qualquer uma das variáveis inseridas, basta conhecer a etiqueta associada.
2.1.4 Node-RED
uma página de monitoramento tenha sido configurada, os dados ainda podem ser hospedados
no computador com auxílio da própria ferramenta, e a página fica disponibilizada em
qualquer lugar através da internet. O logo da plataforma é apresentado na figura 2.
No projeto, a Node-RED foi utilizada como uma forma de registrar tudo que é escrito
no servidor MQTT. Isso permite que o projeto seja utilizado não só para o controle das
lâmpadas, mas como uma ferramenta de monitoramento de ambientes. O editor é totalmente
visual, o que torna o aprendizado da ferramenta extremamente simples. Além disso, o editor
também trabalha com o formato JSON utilizado nos tópicos, permitindo a leitura das
variáveis nos pacotes.
2.2 LDR
Naturalmente, dado o custo reduzido, o dispositivo não oferece uma leitura precisa
da luminosidade, e por isso é necessário conhecer melhor a resposta da resistência em função
da luminosidade incidente no dispositivo. Para isso, o datasheet do LDR GL5528 utilizado no
projeto foi consultado [15], e curva apresentada na figura 4 foi observada.
Entender esse funcionamento é importante para definir como a presença deve ser
tratada pela programação. No caso do projeto, é considerado que há presença no ambiente
apenas se o detector de presenças tiver emitido pelo menos um pulso nos últimos minutos.
Para que a presença seja desconsiderada, é necessário que nenhum movimento ocorra no
ambiente durante o intervalo de tempo especificado. Além de ser condizente com o
funcionamento do sensor, essa consideração impede que as lâmpadas sejam desligadas
sempre que uma pessoa parar de se movimentar brevemente.
28
3. DESENVOLVIMENTO
3.1.1.1 Centrais
Os dispositivos centrais são responsáveis por controlar até oito lâmpadas. No caso do
protótipo, apenas quatro lâmpadas já foram suficientes para demonstrar o funcionamento do
projeto nas situações de interesse, e, portanto, foi utilizada uma única central. A central conta
com relés que podem ser acionados pelo sistema para acender e apagar as lâmpadas.
Capítulo 3 – Desenvolvimento 29
3.1.1.2 Sensores
Como vimos, as decisões da central são baseadas na luminosidade que cada lâmpada
fornece para cada o sensor no momento da calibração. Essa luminosidade é obtida através do
LDR presente nos sensores. Dessa forma, para garantir o funcionamento do projeto, é
imprescindível que o LDR forneça um valor de luminosidade com um mínimo de precisão
adequado. Para isso, foi necessário levantar empiricamente uma relação entre a resistência do
LDR e a luminosidade em lux, que pôde ser obtida através de um luxímetro.
Capítulo 3 – Desenvolvimento 30
A leitura da porta analógica A pode ser convertida para uma tensão Vx seguindo a
relação a seguir, onde AMax = 1023 é o limite da escala analógica, e VDC = 3,3V é a tensão de
funcionamento do microcontrolador:
𝐴
𝑉𝑥 = ∙ 𝑉𝐷𝐶 (3)
𝐴𝑀𝑎𝑥
Pela regra do divisor de tensão, a tensão Vx também pode ser obtida a partir do valor
da resistência variável RL do LDR e da resistência R1 utilizada no divisor:
𝑅1
𝑉𝑥 = ∙𝑉 (4)
𝑅𝐿 + 𝑅1 𝐷𝐶
𝐴 𝑅1
∙ 𝑉𝐷𝐶 = ∙𝑉
𝐴𝑀𝑎𝑥 𝑅𝐿 + 𝑅1 𝐷𝐶
𝐴𝑀𝑎𝑥 ∙ 𝑅1
𝑅𝐿 = − 𝑅1 (5)
𝐴
𝑎
𝐴𝑀𝑎𝑥 ∙ 𝑅1
𝑙𝑢𝑚(𝐴) = ( − 𝑅1 ) ∙ 𝑏 (6)
𝐴
Uma vez que a equação que relaciona a luminosidade com a leitura analógica foi
encontrada, resta encontrar valores de a e b que representam cada um dos LDRs utilizados.
Para isso, foram escolhidos dois pontos de luminosidade ao redor da faixa de 100 lux, que é a
faixa de luminosidade de interesse. Para auxiliar tal tarefa, foi utilizado um luxímetro da
figura 7, com uma incerteza especificada em 4%, que é suficiente para atender as
necessidades do projeto.
Capítulo 3 – Desenvolvimento 32
Figura 8: Medição da luminosidade no LDR com o luxímetro para levantamento das constantes a e b.
𝑎
𝐴𝑀𝑎𝑥 ∙ 𝑅1
135 ( − 𝑅1 ) ∙𝑏
= 229 (9)
𝑎
174 𝐴 ∙ 𝑅1
( 𝑀𝑎𝑥 − 𝑅1 ) ∙𝑏
266
𝑎
𝐴𝑀𝑎𝑥 ∙ 𝑅1
135 ( − 𝑅1 )
= 229 (10)
𝑎
174 𝐴 ∙ 𝑅1
( 𝑀𝑎𝑥 − 𝑅1 )
266
135
log 174
𝑎=
𝐴𝑀𝑎𝑥 ∙ 𝑅1
− 𝑅1
log (𝐴 229∙ 𝑅 )
𝑀𝑎𝑥 1
− 𝑅1
266
𝑎 = −1,285 (11)
Capítulo 3 – Desenvolvimento 34
Uma vez que o valor da constante a foi obtido, é possível obter o valor de b a partir
da equação (7).
𝑎
𝐴𝑀𝑎𝑥 ∙ 𝑅1
135 = ( − 𝑅1 ) ∙ 𝑏
229
135
𝑏= 𝑎
𝐴 ∙ 𝑅1
( 𝑀𝑎𝑥 − 𝑅1 )
229
𝑏 = 4777652 (12)
Sensor a b
1 -1,285 4777652
2 -1,614 71029008
3 -1,189 3655367
4 -1.396 9302426
Tabela 1: Constantes de caracterização dos LDRs utilizados nos sensores.
É notável que houve uma diferença significativa nos valores das constantes de cada
LDR. Isso ocorre, pois existem variações na fabricação dos LDRs que podem gerar alterações
na maneira como se comportam. Sendo extremamente simples e baratos, é de se imaginar que
não exista um rigor elevado na padronização desses componentes.
- Sensor 1: 614560275102345762
- Sensor 2: 925619356192856188
- Sensor 3: 958361968274657192
- Sensor 4: 728573619284750136
- Central: 491071662063675182
Para representar a rede nos testes, o ID da central foi escolhido como referência, e,
portanto, os tópicos seguem o formato:
- 491071662063675182/...
Dessa forma, todos os dispositivos poderão ler e escrever no mesmo tópico raiz, de
acordo com necessidade e os subtópicos especificados.
- 491071662063675182/614560275102345762/sensors
Capítulo 3 – Desenvolvimento 37
- 491071662063675182/614560275102345762/central
Como a central não sabe quantos sensores estarão presentes na rede, é utilizado um
artifício do protocolo MQTT que é conhecido como Wildcard. Podemos substituir qualquer
um dos subtópicos por um "+", fazendo com que a central se subscreva em todos os tópicos
que seguem o formato, mesmo sem conhecer os sensores. No exemplo do protótipo, o tópico
fica da seguinte forma:
- 491071662063675182/+/sensors
Ao invés de controlar as lâmpadas diretamente pela alteração dos pinos digitais, foi
escolhido realizar o controle também através de publicações no MQTT. Apesar da
redundância presente no fato do dispositivo publicar em um tópico em que está subscrito, isso
não gera nenhum impacto no projeto, mas facilita outras integrações futuras, como o
monitoramento do estado das lâmpadas através do servidor MQTT.
- 491071662063675182/491071662063675182/lamps
Com toda essa organização, para o protocolo funcionar basta que todos os
dispositivos conheçam o mesmo ID de rede. Se um sensor for adicionado ou removido da
rede, a central será capaz de reconhecê-lo assim que alguma publicação do sensor surgir na
rede, devido ao Wildcard utilizado. Como veremos adiante, esse ID de rede poderá ser
fornecido pelo usuário no momento da instalação do dispositivo.
Capítulo 3 – Desenvolvimento 38
Para concluir essa montagem inicial da comunicação, basta garantir que o ID da rede
seja mantido na memória dos dispositivos, mesmo na falta de energia. Para evitar a utilização
da memória não volátil do ESP8266, foi utilizado um tópico especial que possui a função de
armazenar o último ID de rede utilizado por cada um dos dispositivos. Como somente o
próprio dispositivo precisa ter acesso a esse tópico, foi utilizado o formato
“id_do_dispositivo”/netID. Dessa forma, sempre que um dispositivo se conecta com sucesso à
rede MQTT, o ID da rede é publicado nesse tópico com uma diretriz especial, indicando para
o servidor que essa informação deve ser retida. Se o dispositivo for reiniciado por algum
motivo, ele irá se reconectar automaticamente ao servidor MQTT e se subscrever nesse
endereço, recebendo o ID de rede necessário para que o funcionamento normal seja retomado.
Todo esse processo funciona tanto para a central quanto para os sensores.
(1) Com a inicialização, o dispositivo central ou sensor irá buscar uma rede Wi-Fi
conhecida. Caso nenhuma rede conhecida esteja disponível, o dispositivo entra em modo
ponto de acesso, criando uma rede Wi-Fi própria. Depois, o usuário precisa se conectar à rede
local criada pelo dispositivo, o que pode ser feito a partir de qualquer Smartphone. A conexão
é feita da mesma forma que a conexão em qualquer outra rede Wi-Fi.
(2) Uma vez conectado, o dispositivo celular irá exibir uma tela com algumas opções
de configuração. O usuário deverá selecionar a opção “Buscar Redes Wi-Fi” para realizar
uma busca automática das redes.
(3) O programa irá exibir as redes encontradas. O usuário deverá selecionar a rede
em que o dispositivo ficará conectado à internet, e então fornecer a senha e o ID de referência
para a rede, que no caso do protótipo é o próprio ID da central.
(4) Depois que as informações são fornecidas, o dispositivo irá fechar o ponto de
acesso, e tentar se conectar à rede Wi-Fi configurada pelo usuário. O dispositivo também
tentará se conectar à rede MQTT, publicando o ID de rede fornecido pelo usuário no servidor
MQTT. Em caso de sucesso, o dispositivo entrará automaticamente em funcionamento, mas
caso a conexão Wi-fi ou MQTT falhe, todo processo deverá ser repetido.
Capítulo 3 – Desenvolvimento 40
Figura 10: Capturas de tela ilustrando os passos (1), (2), (3) e (4).
acesas, e depois iria apagar uma lâmpada de cada vez, mantendo todas as outras acesas. A
cada lâmpada apagada, a central registra a resposta dos sensores. Dessa forma, a calibração se
torna um incômodo menor, pois a maioria das lâmpadas permanece acesa ao longo de todo
processo. Além disso, isso faz com que a leitura da luminosidade ocorra mais centrada na
escala de leitura analógica, já que a sala não fica escura durante o processo. Calculando a
variação do estado com uma lâmpada apagada em relação ao estado com todas as lâmpadas
acesas, é possível saber a influência exata de cada uma das lâmpadas nos sensores.
Com os dados adquiridos, é feita uma série de operações para produzir uma tabela de
ações. A tabela de ações é uma matriz binária com dimensões 2n x m, onde n é o número de
sensores e m é o número de lâmpadas. O número de sensores indica o total de combinações
de estados de presença possíveis, que é igual a 2n. Cada combinação de estados de presença é
associada a uma lâmpada, que pode estar acesa ou apagada. Em cada linha da matriz, que
representa um estado dos sensores, é indicado quais lâmpadas deverão estar desligadas e quais
lâmpadas devem estar ligadas, através dos valores lógicos 0 e 1. Uma vez que a tabela de
ações tenha sido elaborada, basta que a central identifique quais sensores estão indicando
presença, e então acenda as lâmpadas conforme a linha correspondente na tabela de ações.
Esse processo é ilustrado pelos diagramas da figura 13.
Figura 13: Fluxogramas do processo de calibração (esquerda) e do funcionamento geral da central (direita).
Capítulo 3 – Desenvolvimento 43
Partindo desse ponto, queremos obter uma matriz booleana que relaciona quais
lâmpadas devem estar acesas em cada combinação dos estados de presença, como na figura
15. Para simplificar a explicação desse processo, usaremos como referência as condições do
protótipo, que possui 4 lâmpadas e 4 detectores de presença. Nesse caso, é necessário obter
uma matriz booleana 24 x 4, ou 16 x 4. Nas linhas da matriz temos as 16 combinações
possíveis para as presenças, enquanto nas colunas temos o número de lâmpadas. Dessa forma,
para uma combinação de estados de presenças, as lâmpadas que deverão estar acesas são
representadas ao longo das linhas da matriz, e os elementos L são valores booleanos que
indicam se a lâmpada está acesa.
Figura 15: Matriz de ações que dita quais lâmpadas são ligadas para cada combinação de presenças.
Capítulo 3 – Desenvolvimento 44
O primeiro passo para obter essa matriz de ações é calcular a luminosidade gerada
por cada uma das combinações de lâmpadas em cada sensor. As luminosidades das lâmpadas
são aditivas, e, portanto, conhecendo a luminosidade que cada lâmpada produz
individualmente em cada sensor, é possível conhecer a luminosidade de qualquer outra
combinação de lâmpadas acesas. Como o protótipo possui 4 lâmpadas, teremos 16
combinações possíveis de lâmpadas acesas para cada um dos 4 sensores. Vale lembrar que
também precisamos considerar a luminosidade neutra do ambiente, isto é, a luminosidade
quando todas as lâmpadas estão apagadas. Somando as influências individuais das lâmpadas
retiradas da tabela de luminosidades com a luminosidade neutra para todas as combinações de
lâmpadas acesas, temos uma matriz que relaciona qualquer combinação possível de lâmpadas
com a luminosidade ℓ resultante em cada sensor, como está ilustrado na figura 16.
Figura 16: Matriz da soma de luminosidades em cada sensor para cada combinação de lâmpadas.
Conhecendo como cada combinação de lâmpadas afeta cada sensor, resta encontrar
qual é a combinação de lâmpadas ótima para cada combinação possível de presença. A
combinação de lâmpadas ótima para uma determinada combinação de estados de presença é a
que possui o menor número de lâmpadas acesas que faz com que todos os sensores com
presença detectada possuam uma luminosidade dentro do limiar estabelecido. Como podem
existir duas combinações diferentes com o mesmo número de lâmpadas e que atendam o
limiar de luminosidade, optou-se por utilizar a maior luminosidade geral como critério de
desempate. Para cada uma das 16 combinações de estado de presença possíveis, é realizada
uma busca na matriz da soma de luminosidades para encontrar qual combinação de lâmpadas
atende os critérios de presença. Então, a combinação de lâmpadas ótima é encontrada e
adicionada à tabela de ações, garantindo que o sistema sempre irá acender o menor número de
lâmpadas possível, sem que falte iluminação nos pontos necessários.
Capítulo 3 – Desenvolvimento 45
Para organizar essas atualizações, foi definido um pacote padrão no formato JSON
que inclui as seguintes informações:
• o estado de presença;
• a leitura analógica do divisor de tensão com o LDR;
• as constantes de caracterização a e b;
• uma variável keepalive;
• uma chave de identificação do pacote;
Para finalizar, a chave de identificação do pacote é uma chave gerada com base em
uma chave que acompanha as solicitações da central durante o processo de calibração. O
objetivo da chave é indicar para a central que o pacote foi fruto de determinada solicitação.
Ao receber a chave, a central consegue identificar se o pacote recebido é compatível com uma
solicitação previamente enviada. Isso é importante para que haja sincronia no processo de
calibração. Na calibração, a central envia solicitações para os sensores logo após alterar o
estado das lâmpadas. Nesse momento, a central pode acabar recebendo um pacote atrasado
dos sensores, que foi enviado antes do novo estado de iluminação afetar os sensores. A chave
é uma forma de garantir que a iluminação no pacote enviado foi medida depois que as
lâmpadas foram alteradas.
O funcionamento geral dos sensores está representado pelo diagrama da figura 17.
3.6 CIRCUITOS
3.6.1 Central
Para melhor organização, o circuito foi fixado em uma base de madeira, junto com
conectores borne para conexão das lâmpadas que devem ser controladas. A montagem pode
ser vista na figura 19.
3.6.2 Sensores
O tamanho dos sensores ficou limitado a cerca de 8x6x3 cm, considerando a altura
necessária para que o detector de presenças fique corretamente apontado para cima. O
tamanho reduzido e a alimentação através de uma porta USB, vistos na figura 21, tornam o
componente apropriado para a utilização em uma mesa de escritório.
4. RESULTADOS
4.1 METODOLOGIA
4.1.1 Cenário I
Nesse caso, é esperado que o estado da lâmpada seja igual ao estado do detector de
presenças do sensor mais próximo.
4.1.2 Cenário II
Nesse cenário, o sensor 3 poderá ser atendido tanto pela lâmpada 3, quanto pela
combinação das lâmpadas 2 e 4. Ou seja, se os sensores 2, 3 e 4 detectarem presença no
ambiente, a lâmpada 3 deverá ser apagada, já que as lâmpadas 2 e 4 poderão fazer o papel de
iluminar corretamente o sensor 3 ao mesmo tempo que atendem os sensores 2 e 4. Já se
apenas o sensor 3 detectar presença, então somente a lâmpada 3 deverá ser ligada, pois isso
resulta em menos lâmpadas ligadas em comparação à combinação das lâmpadas 2 e 4.
4.2.1 Cenário I
Para garantir que cada sensor fosse iluminado por apenas uma lâmpada, os sensores
foram devidamente posicionados em direção às respectivas lâmpadas e uma fita foi
adicionada ao redor dos sensores.
4.2.2 Cenário II
A maior distinção no Cenário II é que o sensor 3 pode ser iluminado pela soma das
lâmpadas 2 e 4. Isso permite que a lâmpada 3 possa ser apagada quando os sensores 2, 3 e 4
estiverem detectando a presença de pessoas.
Com o teste, foi possível atestar que o sistema é realmente capaz de entender como
cada lâmpada influência em cada sensor, já que a soma da influência das lâmpadas 2 e 4 foi
vista como suficiente para atender o sensor 3. O luxímetro foi utilizado para confirmar que a
luminosidade no sensor 3 estava acima da luminosidade satisfatória de 100 lux, mesmo com a
lâmpada 3 desligada.
Capítulo 4 – Resultados 55
Nesse caso, o sistema opta por ligar as lâmpadas 2 e 3, ao invés das lâmpadas 2 e 4,
já que a lâmpada 3 está mais próxima do sensor 3, e, portanto, resulta em uma maior
luminosidade geral percebida nos sensores que detectam presença.
56
5. INTEGRAÇÃO IOT
Já na região em verde, podemos ver que apesar de haver uma indicação de presença
no sensor, a luminosidade não está sendo atendida pelo sistema. Isto é, a luminosidade
percebida pelo sensor é menor do que 100 lux. Como resultado, temos uma pendência em
nível lógico alto por um longo período. Na prática, isso significa que o sensor 1 indica a
presença de pessoas, mas o critério de luminosidade mínima não está sendo atendido. Em
outras palavras, a lâmpada pode estar queimada ou emitindo menos luminosidade que o limiar
necessário. Com o auxílio da plataforma Node-RED, essa pendência no sistema pode ser
reconhecida como uma falha, e transformada em algum tipo de alerta para o usuário,
indicando que alguma ação deve ser tomada, como a troca da lâmpada defeituosa.
6. CONCLUSÕES
Outro passo importante foi a extração da curva do LDR utilizado. Com o intuito de
diminuir os custos e por limitações de tamanho e consumo de energia, muitas vezes é
necessário a utilização de transdutores mais simples em projetos eletrônicos. No caso do
trabalho, foi necessário utilizar um LDR para obtenção da luminosidade, que é um parâmetro
fundamental para o funcionamento do projeto. Para isso, o datasheet precisou ser consultado,
e com ajuda de um luxímetro, foi possível transformar o LDR em um dispositivo capaz de
indicar a luminosidade do ambiente com uma precisão razoável que atendeu às necessidades
do projeto.
Para finalizar, é possível dizer que o projeto atingiu todas as metas propostas. O
sistema respondeu exatamente como esperado em todos os testes realizados, e serviu como
uma excelente experiência de desenvolvimento na área de IoT. Apesar disso, cabe ressaltar
que algumas limitações foram percebidas. A primeira delas é que os sensores LDR utilizados
Referências 59
são bastante direcionais. Isso faz com que a leitura da luminosidade ocorra apenas no ponto
específico em que o sensor está posicionado, falhando em representar bem a luminosidade no
ambiente. Esse problema talvez pudesse ser resolvido com algum tipo de difusor, como os
difusores semiesféricos presentes nos sensores de presença e no próprio luxímetro utilizado na
calibração. A segunda limitação do projeto é a necessidade de um ambiente controlado para a
calibração. O processo funciona bem em um ambiente fechado e com iluminação controlada,
mas com a presença da iluminação natural do dia, o sistema pode acabar sofrendo problemas.
Com ajuda do luxímetro, foi percebido que a iluminação solar possui uma influência grande
nos sensores, e que uma simples nuvem pode mudar drasticamente a luminosidade lida pelos
sensores. Para corrigir isso, a calibração precisaria ser constantemente refeita para que o
sistema continue tomando decisões atualizadas para o ambiente.
Sabendo das limitações percebidas, é possível propor ideias para trabalhos futuros
com o intuito de aprimorar o sistema. Além de adicionar o difusor nos sensores de
luminosidade e melhorar o desempenho da leitura de luminosidade, também seria interessante
a implementação de uma calibração dinâmica. O ideal seria que o sistema pudesse
constantemente atualizar a matriz de influência das lâmpadas nos sensores na medida que a
luminosidade do ambiente fosse alterada, sem a limitação da calibração inicial. Outra ideia
interessante é a expansão do conceito de monitoramento para a temperatura. Por um baixo
custo, é possível ter uma estação de monitoramento USB em cada bancada de trabalho,
controlando não só a luminosidade, como também a temperatura do ambiente. Com essa
implementação, a economia poderia ser estendida para um sistema de refrigeração, trazendo
benefícios ainda maiores.
60
REFERÊNCIAS
[4] ASHTON, K. That “Internet of Things” Thing. RFID Journal, 2019. Disponível
em: <https://www.rfidjournal.com/that-internet-of-things-thing>.
[5] HIGUERA, J.; LLENAS, A.; CARRERAS, J. Trends in smart lighting for the
Internet of Things. Espanha, 2018. Disponível em:
<https://arxiv.org/pdf/1809.00986.pdf>.
[6] Tan, L; Wang, N. Future internet: The Internet of Things. 2010 3rd International
Conference on Advanced Computer Theory and Engineering (ICACTE), 2010, pp.
V5-376-V5-380. Disponível em: <https://doi.org/10.1109/ICACTE.2010.5579543>.
[7] Grupo MB. Iluminação e segurança do trabalho: como e por que medir na sua
fábrica. Disponível em: <https://grupomb.ind.br/mbobras/economia-de-energia/como-
e-por-que-medir-a-iluminacao-no-ambiente-de-trabalho/>.
[8] Kramer, A.; Kramer, K. The potential impact of the Covid-19 pandemic on
occupational status, work from home, and occupational mobility. Journal of
Vocational Behavior, Volume 119, 2020. Disponível em:
<https://doi.org/10.1016/j.jvb.2020.103442>.
[18] Vishay. General Purpose Plastic Rectifier: 1N4001, 1N4002, 1N4003, 1N4004,
1N4005, 1N4006, 1N4007. Disponível em:
<https://www.vishay.com/docs/88503/1n4001.pdf>.
[19] Biblioteca Rede Wi-Fi. WiFiManager: ESP8266 WiFi Connection manager with
web captive portal. Disponível em: <https://github.com/tzapu/WiFiManager>.
[20] Biblioteca MQTT. Arduino Client for MQTT. Version 2.8. Disponível em:
<https://pubsubclient.knolleary.net/>.
[21] Biblioteca JSON. ArduinoJSON: Efficient JSON serialization for embedded C++.
Disponível em: <https://arduinojson.org/>.