Escolar Documentos
Profissional Documentos
Cultura Documentos
Banca Avaliadora:
......................................................................................................................................................
Prof. Marcos Moulin Valencia (orientador)
Engenheiro Eletricista UFRJ
Instituto Federal de Educao, Cincia e Tecnologia Fluminense/Campos
......................................................................................................................................................
Prof. Caio Fbio Bernardo Machado
Engenheiro de Controle e Automao IFF
Instituto Federal de Educao, Cincia e Tecnologia Fluminense/Campos
......................................................................................................................................................
Prof. Yves Rocha de Salles Lima
Engenheiro de Controle e Automao IFF
Instituto Federal de Educao, Cincia e Tecnologia Fluminense/Campos
iv
AGRADECIMENTOS
RESUMO
ABSTRACT
This paper presents the study and implementation of a home automation system using
low-cost hardware and open source software, whose main objective is to provide a basic home
automation system using open source technology. Using Arduino UNO, Raspberry PI 2 and
Mango Automation, it was possible to create a prototype of control and supervision in a
residence, simulating tasks and daily situations of a residence and some implementations
observing the security of the property. The project was implemented and successfully tested in a
model , the tests through the supervisory and physical interface achieved the expected results.
LISTA DE FIGURAS
SUMRIO
1- INTRODUO ....................................................................................................................... 05
2.2 -Software.................................................................................................................................. 17
2.2.1 Software Livre ........................................................................................................... 17
4 RESULTADOS E CONCLUSES.......................................................................................43
REFERNCIA BIBLIOGRFICA............................................................................................45
ANEXO A......................................................................................................................................48
iv
ANEXO B......................................................................................................................................50
ANEXO C......................................................................................................................................54
ANEXO D......................................................................................................................................60
ANEXO E......................................................................................................................................69
5
1 INTRODUO
1.1 Histrico
1.2 Contextualizao
Uma matria publicada no site da revista Exame, em abril de 2011, corrobora essa
afirmao. Com o ttulo de: Servio automatiza casa por R$ 8 mil, a matria mostra que, por
esse valor, possvel adquirir um pacote bsico, capaz de automatizar iluminao, ar-
condicionado, cortinas e eletrnicos em geral.
Esse custo no elevado apenas no Brasil, ou em pases menos desenvolvidos, segundo
dados disponibilizados pela FIXR (2013), site norte americano que conecta empresas com
consumidores que procuram os seus servios, o custo para uma automatizao residencial pode
variar, de 5 a 15 mil dlares, em mdia (ALHO; SEPULVEDA, 2013).
Alm disso, a falta de padronizao e uniformizao de protocolos de comunicao para
os sistemas de automao residencial , frequentemente, um problema para os tcnicos
envolvidos na concepo e projeto dessas instalaes, especialmente quando o sistema ser
instalado num edifcio ou residncia cuja a infraestrutura de dutos no adequada para suportar
esse nvel de automao (MAINARDI, 2005).
Neste sentido, diversas empresas buscam minimizar esse impacto sobre seus produtos
atravs do uso de tecnologias de cdigo aberto, cujas licenas so distribudas de forma gratuita.
1.3 Justificativa
1.4 Objetivo
Neste projeto ser utilizado o computador de baixo custo Raspberry PI 2, fazendo uso do
sistema operacional de cdigo aberto Raspbian. Neste sistema operacional ser instalado o
supervisrio open source Mango Automation, que ir se comunicar com a plataforma de
prototipagem Arduino. O projeto ser implementado numa maquete de uma casa, onde alguns
LEDs simularo lmpadas, um sensor de presena acionar um buzzer ao ser atuado, um sensor
de temperatura ir indicar a temperatura do ambiente atravs do supervisrio e um sensor de
luminosidade externo ir acender um LED ao ser atuado.
8
2 REVISO BIBLIOGRFICA
2.1 Hardware
O termo hardware livre utilizado para descrever placas e circuitos eletrnicos que,
assim como o software livre, podem ser estudados, modificados e redistribudos livremente,
desde que dentro dos parmetros previstos em lei (MAKE, 2007).
Corroborando esta ideia, Pomerantz (2000) afirma que, um hardware pode ser
considerado livre caso possua uma licena que garanta: i) a permisso para a livre redistribuio,
tanto do seu cdigo fonte quanto de outros hardwares baseados neste primeiro, e ii) o direito de
criar obras derivadas baseadas no cdigo fonte deste hardware e distribu-las sob a mesma
licena.
Com intuito de desenvolver um sistema eficiente e de baixo custo, optou se pela
utilizao de hardwares livres que possuem histrico de sucesso em projetos similares.
9
2.1.2 Microcontrolador
Fonte: Atmel
2.1.3.1 Arduino
O Arduino capaz de perceber o ambiente a sua volta e interagir com o mesmo, atravs
do uso de sensores, controle de luzes, motores, e outros mecanismos. Sua programao feita
utilizando-se a linguagem C, e o cdigo embutido no microcontrolador com o auxlio de uma
IDE (ARDUINO, 2013).
Os projetos desenvolvidos com o Arduino podem ser independentes, isto , terem o seu
funcionamento autnomo, ou eles tambm podem se comunicar com um software que esteja em
execuo em um computador, o qual recebe o nome de servidor (ARDUINO, 2013).
Outro fato interessante acerca do Arduino que suas placas podem ser construdas em
casa, j que todos os mapas de seus circuitos encontram-se disponveis gratuitamente para
download. Assim, qualquer um que deseje se aventurar na construo de seu prprio Arduino,
basta ter em mos os componentes necessrios e conhecer um pouco de eletrnica para comear
(ARDUINO, 2013).
A plataforma Arduino possui diferentes verses, sendo que a verso utilizada no prottipo
denominada Arduino UNO.
O Arduino Uno foi desenvolvido e baseado no microcontrolador ATmega328P, ele possui
14 portas de entrada e sada, das quais 6 podem ser utilizadas como sada PWM, 6 entradas
analgicas, um pequeno ressoador cermico de 16 MHz, uma conexo USB, um conector de
alimentao, uma conexo ICSP, e um boto de reset. (ARDUINO, 2013).
O Arduino Uno difere de todas as placas antecessoras por no utilizar o chip FTDI para
converso do sinal serial. Utiliza no seu lugar um Atmega8U2 programado como conversor de
USB para serial (ARDUINO, 2013).
12
A plataforma Arduino UNO foi escolhida para o projeto devido a sua facilidade de
integrao com os demais perifricos, ao nmero de entradas e sadas correspondentes a
necessidade e a possibilidade de integrao com um sistema de superviso e controle.
Fonte: Autores
2.1.4 Raspberry PI 2
Figura 3: Raspberry PI 2
Fonte: Autores
2.1.5 Sensores
Sensores so dispositivos sensveis a alguma forma de energia do ambiente, que pode ser
luminosa, trmica, cintica, entre outras, relacionando informaes sobre uma grandeza fsica que
precisa ser medida, como: temperatura, presso, velocidade, corrente, acelerao, posio, entre
outros.
Um sensor nem sempre possui as caractersticas eltricas necessrias para ser utilizado em
um sistema de controle. Normalmente o sinal de sada deve ser manipulado antes da sua leitura
no sistema de controle. Isso geralmente realizado com um circuito de interface para produo
de um sinal que possa ser lido (WENDLING, 2010).
Fonte: Autores
Foi utilizado um sensor do tipo LDR (Light Dependent Resistor), que em portugus
significa resistncia dependente de luz. Assim como seu prprio nome sugere, uma resistncia
capaz de variar de acordo com a quantidade de luz que lhe incidida, possibilitando, com a
programao adequada, o acendimento de luzes de maneira autnoma, quando o ambiente estiver
mais escuro (MARINHO 2012).
Fonte: Autores
15
Fonte: Autor
2.1.6 LED
Figura 7: LED
Fonte: Autores
2.1.7 Buzzer
Buzzer um dispositivo de udio que pode ser mecnico, eletrnico ou piezo eltrico.
Consiste num pequeno alto-falante capaz de emitir sons em diversas frequncias. O buzzer
normalmente utilizado em projetos que necessitam de avisos sonoros, relgios com alarme, e at
para reproduzir msicas.
Ao ser alimentado com uma fonte de sinal, o buzzer vibra da mesma frequncia recebida,
funcionando como uma sirene ou alto-falante.
Existem vrias verses e tamanhos. Todos os dispositivos sonoros de alarmes (como os de
automvel) usam um buzzer para o som. Sua vantagem em relao a alto-falantes comuns que
consome pouca energia em relao potncia sonora, sendo facilmente alimentado com pequenas
baterias.
17
Figura 8: Buzzer
Fonte: Autores
2.2 Software
2.2.2 IDE
a placa Arduino Uno em poucos cliques. Com isso no h necessidade de editar arquivos fora do
programa ou rodar programas em ambientes de linha de comando. (ARDUINO, 2016).
A ferramenta possui uma biblioteca chamada Wiring aceitando que a programao seja
feita em linguagem C/C++. Isso permite criar com facilidade muitas operaes de entrada e sada,
definindo apenas duas funes no pedido para o programa funcional.
setup () - Inserido no inicio, sendo usada para a inicializao da configurao.
loop () - Chamada para repetir o bloco de comandos com a instruo principal do
programa ou at que seja desligada.
A principal finalidade do Arduino IDE facilitar a programao voltada para
prototipagem, implementao ou emulao do controle de sistemas interativos, a nvel domstico,
comercial ou mvel, da mesma forma que um Controlador Lgico Programvel (CLP) controla
sistemas de funcionamento industriais. Sendo possvel o envio e recebimento de basicamente
qualquer sistema eletrnico. O software pode ser obtido gratuitamente no portal oficial do
Arduino. Existem verses disponveis para Windows, MAC, e Linux. No portal tambm possvel
ter acesso ao cdigo de programao do IDE do Arduino, se o usurio assim desejar.
No software deve-se definir o modelo de plataforma Arduino a ser utilizado, bem como a
porta de comunicao. Os menus disponveis no software, assim como a descrio dos mesmos,
podem ser vistas em detalhes no manual do fabricante (ARDUINO, 2013).
O fabricante tambm disponibiliza ao usurio a descrio e a explicao de como utilizar
as funes e instrues necessrias para desenvolver o cdigo na linguagem utilizada pelo IDE
do Arduino (ARDUINO, 2013).
20
Fonte: Autores
evento ocorrer, como exemplo, a solicitao de desligar o computador por parte do usurio
(FACOL, 2016).
2.2.3.1 Raspbian
Este sistema SCADA um dos sistemas open source mais conhecidos do mundo. de
origem canadense, possui vrias caractersticas importantes, um software M2M (Mquina
para Mquina), possui diversos protocolos de comunicao, gerao de grficos de tendncias,
histricos, alarmes, construtor de telas todo baseado na WEB, pode ser acessado por um
browser e pode visualizar e controlar equipamentos dos mais variados processos, seja local ou
distncia.
O Mango Automation executado a partir do Apache TomCat, que consiste num servidor
Web open source utilizado em mais de 70% dos servidores do mundo.
Optou-se pela utilizao do Mango Automation, pois foi o sistema superviso que
apresentou uma maior facilidade de instalao no Raspbian. O ScadaBR basicamente uma
23
FUNCIONAMENTO
SERVIDOR WEB
O Apache TomCat um servidor Web livre para aplicaes Java desenvolvido pela
Apache Software Foundation, fazendo parte do projeto Apache Jakarta. considerado um
servidor muito robusto, sendo utilizado inclusive em ambientes de produo.
A utilizao da linguagem Java facilitou o desenvolvimento de aplicaes para Web
baseados na internet, onde as comunicaes so baseadas em pacotes e no relacionamento entre
cliente e servidor. Desta forma, o cliente (navegador Web) solicita uma ao que enviada ao
servidor (servidor Web), que executa a ao e responde com uma pgina da Web em HTML
correspondente para o cliente navegador (RAYSARO, 2009).
24
Fonte: Autores
DATA SOURCE
DATA POINT
s medies, os pontos podem ser representados, por exemplo, como uma leitura de presso,
temperatura, umidade vazo, etc. Em relao ao controle podem indicar uma condio de ligado e
desligado num determinado equipamento. Sendo assim os data points armazenam todos os
valores de dados que so coletados por um data source (RAYSARO, 2009).
PARTE GRFICA
3 DESENVOLVIMENTO DO PROJETO
Neste capitulo sero descritas as etapas do projeto, desde a aquisio dos componentes, a
linguagem de programao utilizada e IDE, at a criao da parte grfica no supervisrio.
Atravs de conhecimentos bsicos em linguagem de programao C, noes de eletrnica bsica,
eltrica e sistemas de superviso, foi possvel a criao de um prottipo de controle de automao
residencial de baixo custo.
Para o desenvolvimento do projeto, foram adquiridos os seguintes equipamentos: Arduino
Uno, Raspberry PI 2, sensor de presena PIR, sensor de luminosidade LDR, buzzer, LEDs, fonte
de alimentao, carto de memria, adaptador USB WI-FI, jumpers e resistores. Uma maquete de
uma casa com quatro cmodos servir de exemplo de implementao do sistema proposto.
Aps a concluso do projeto, o prottipo permitir ao usurio realizar o controle e
superviso de algumas tarefas e estados de uma residncia atravs do supervisrio Mango
Automation, que poder ser acessado atravs de um browser conectado intranet.
Neste tpico sero abordados os procedimentos utilizados para instalao dos softwares
utilizados neste projeto.
Raspberry PI 2
Teclado USB
Mouse USB
28
Fonte de alimentao de 5V / 2A com conexo micro USB. Lembrando que entrada USB
do computador suporta no mximo 500 mA, portanto o Raspberry PI 2 no foi conectado
diretamente nesta porta.
Monitor de vdeo com entrada HDMI ou DVI
Carto Micro SD vazio de pelo menos 8 GB
Computador com entrada para carto Micro SD
PREPARANDO O CARTO SD
Foi utilizado um computador para realizar a formatao do carto Micro SD que ser
utilizado como disco rgido do Raspberry PI 2. Em seguida foi acessado o site
<www.raspberry.org> onde foi feito o download do software Noobs, que conduz de forma
facilitada a instalao do sistema operacional Raspbian no Raspberry PI 2. Aps o download,
descompactou-se o arquivo e copiou-se todos os arquivos para o carto Micro SD.
Aps um estudo de mercado, onde foram avaliados os custos e os benefcios dos modelos
mais comuns de Arduino, concluiu-se que para o desenvolvimento deste trabalho a melhor opo
seria a aquisio de um kit bsico para desenvolvimento, contendo uma grande variedade de
componentes. Dentre eles, foram testados e utilizados os sensores luminosidade, temperatura e
presena, buzzer e os LEDs.
A partir desse kit, teve incio a fase de experimentao e de familiarizao com um novo
tipo de desenvolvimento, voltado para plataformas de hardwares e microcontroladores. Para tal,
foi necessria uma reviso dos conceitos bsicos de eletrnica, eltrica e um aprimoramento dos
conhecimentos de programao em C com nfase em microcontroladores.
Optou-se por realizar testes individuais de acionamento de cada componente eletrnico,
atravs de cdigos e esquemas de ligaes especficos para cada tipo de componente.
Adotouse a estratgia de testar o acionamento somente no Arduino e posteriormente
implementar a superviso e o controle no Mango Automation. Neste tpico sero descritos os
testes realizados com os sensores, os LEDs e o buzzer.
O teste descrito a seguir tem o objetivo de acender um LED atravs de um boto fsico,
ambos componentes esto conectados a uma protoboard e interligados ao Arduino Uno.
Segue o esquema de ligao utilizado:
30
Fonte: Autores
Fonte: Autores
Fonte: Autores
33
Fonte: Autores
Fonte: Autores
35
Fonte: Autores
Fonte: Autores
37
Fonte: Autores
Aps todos os componentes eletrnicos do projeto terem sido testados com sucesso,
objetivou se a comunicao entre o Arduino Uno e o Mango Automation.
38
Essa comunicao foi realizada utilizando-se o protocolo Modbus Serial. Isso foi possvel
graas a utilizao da biblioteca open-source Modbus-Arduino obtida no endereo
<https://github.com/andresarmento/Modbus-Arduino>.
Primeiramente, efetuou-se o download dos arquivos e os adicionou na pasta de bibliotecas
da IDE do Arduino. Aps esse processo, as funes da biblioteca ficaram disponveis para
utilizao.
Para a construo do programa foram adicionados os seguintes includes necessrios:
#include <Modbus.h>
#include <ModbusSerial.h>
#include <SoftwareSerial.h>
Nos cdigos utilizados na IDE Arduino existe a funo setup() que chamada no incio da
programao. utilizada para inicializar variveis, definir os modos de entrada ou sada dos
pinos, inicializar bibliotecas etc. Essa funo executada somente uma vez, quando o Arduino
iniciado ou quando ocorre um reset. Para possibilitar a comunicao com o Mango Automation
foi preciso inserir algumas funes na biblioteca Mudbus-Arduino:
mb.setSlaveId(1)
39
mb.addIsts(Entrada_digital_1)
mb.addCoil(Sada_digital_1)
mb.addHreg(Sada_analgica_1)
mb.addIreg(Entrada_analgica_1)
Aps a funo setup() foi executada a funo loop(), que tem objetivo de repetir-se
continuamente permitindo que o programa funcione dinamicamente, sendo utilizada para
controlar de forma ativa a placa Arduino. Foi necessrio adicionar a funo da biblioteca
Modbus-Arduino que responsvel por responder as requisies e alterar os registradores se
necessrio, funcionando apenas uma vez, no incio de cada loop:
mb.task()
Aps essas definies, para enviar e receber dados entre o Arduino e o Mango
Automation, foi preciso utilizar as seguintes funes:
parmetros de acordo com a necessidade. Os procedimentos para criao de data source e data
point esto descritos no Anexo C.
Neste tpico ser descrito o procedimento para criao da interface grfica que ser
exibida atravs do supervisrio Mango Automation. Ser demonstrada a criao de um boto para
acender e apagar um LED, uma indicao do status desse LED e a indicao da temperatura
aferida pelo sensor DHT11. Apesar do projeto possuir mais representaes grficas, a criao e
configurao destes itens citados abrange o procedimento para a criao dos demais, conforme
ser explicado no Anexo D.
Para demonstrao do projeto foi utilizada uma maquete de quatro cmodos: quarto,
banheiro, sala e cozinha. Os componentes eletrnicos e suas respectivas funes esto descritas
abaixo:
Os LEDs foram distribudos pela maquete, sendo que cada LED citado possui
acionamento por um boto fsico e por um virtual. Foi implementado um boto virtual que
permite que o usurio escolha se deseja realizar os acionamentos dos LEDs de forma virtual ou
atravs dos botes fsicos. Quando o acionamento fsico estiver atuado, no ser possvel
controlar os LEDs pelo supervisrio, da mesma forma que, quando o acionamento virtual estiver
atuado, no ser possvel controlar os LEDs pelos botes fsicos. Tambm foi implementada a
visualizao dos status dos LEDs, obtendo assim a informao de ligado/desligado.
Sensor de Presena quando atuado, este sensor ir acionar um buzzer, simulando assim
um alarme de presena. O disparo do buzzer pode ser visualizado no supervisrio.
Sensor de Temperatura A indicao de temperatura foi implementada no supervisrio.
Sensor de Luminosidade Quando atuado, aciona um LED na parte externa da maquete,
o status desse LED pode ser observado no supervisrio.
Segue a foto com a montagem do circuito na maquete:
41
Figura 19 Maquete
Fonte: Autores
Custos do Projeto
Cotao do Dlar em 03/06/2016: R$ 3,52
Buzzer 1 R$ 3,00
Fonte: Autores
4 RESULTADOS E CONCLUSES
Neste trabalho foi realizada a integrao entre hardwares e softwares livres com o
objetivo de desenvolver um prottipo de um sistema de automao residencial bsico de baixo
custo. Atravs da utilizao da plataforma de prototipagem Arduino Uno, do sistema de
superviso Mango Automation e do computador Raspberry PI 2, foi possvel realizar o controle e
superviso de simples tarefas residenciais.
Uma das principais dificuldades encontradas foi a busca por um software de superviso
que pudesse ser instalado no sistema operacional utilizado. O Mango Automation, assim como o
ScadaBr, necessitam de um servidor Web para funcionar, esse servidor o TomCat, que escrito
na linguagem de programao Java. No ScadaBr o TomCat instalado de forma independente e
por isso apresenta mais problemas de compatibilidade com a mquina virtual Java instalada no
sistema operacional. A verso mais nova do ScadaBr foi instalada com a verso mais nova do
Java e no funcionou. Mesmo instalando verses mais antigas do TomCat e do Java o problema
persistiu. Aps algumas pesquisas, foi levantado que o Mango Automation no traria esse tipo de
problemas, visto que j possui o TomCat integrado, eliminando assim o problema de
compatibilidade.
Ocorreram problemas tambm na comunicao entre o Arduino e o Mango Automation
para definir a velocidade correta de comunicao da porta serial. Como os exemplos da biblioteca
sempre utilizavam a velocidade de 38400, demorou-se um pouco at perceber que o problema
no estava no cdigo e sim na incompatibilidade de comunicar o Arduino e o Mango Automation
com essa velocidade. Aps algumas pesquisas, testou-se a velocidade de 9600, onde obteve-se
sucesso.
Outra dificuldade foi entender como o Mango Automation diferencia os dados das
variveis (Coil, Ists, Ireg e Hreg) quando estes so do mesmo tipo. Aps pesquisas, constatou-se
que preciso configurar no cdigo e no campo Offset dos data points um valor para cada varivel
do mesmo tipo, iniciando pelo nmero zero e crescendo sucessivamente.
Superadas essas dificuldades, os testes realizados na maquete ocorreram sem problemas,
todos as implementaes previstas funcionaram como o planejado, no ocorrendo problemas na
comunicao entre os softwares e hardwares utilizados, com todos os comandos e status
funcionando conforme o esperado.
44
Projetos futuros podem ser implementados permitindo que o usurio tenha acesso a
interface grfica do sistema atravs da internet e no somente pela intranet. Alm disso, outras
funes do Mango Automation podem ser mais exploradas como por exemplo, log de eventos e
scripts. Podem ser implementadas diversas outras funcionalidades como por exemplo, controle de
ar-condicionado, cortinas, irrigao de jardim, nvel de caixa dgua, dentre outros. Dependendo
da quantidade de funes adicionais, pode ser necessrio substituir o Arduino Uno pelo Arduino
Mega, que possui uma maior capacidade de memria e pinos.
45
REFERNCIAS BIBLIOGRFICAS
GOMES, Jos. Automao Industrial com Recurso a Ferramentas Open Source. 2014.
135 f. Dissertao (Mestre em Cincias) - Faculdade de Engenharia Universidade do Porto.
Portugal.
TEZA, Vanderlei. Alguns Aspectos sobre a Automao Residencial Domtica. 2002. 108 f.
Dissertao (Mestre em Cincias) Universidade Federal de Santa Catarina. Santa Catarina.
SILVA, Armando. Alarme com Ativao por Sensor Presencial e Alerta via SMS. 2013. 67 f.
Dissertao Faculdade de Tecnologia e Cincias Sociais Aplicadas. Braslia.
LEMES, Joo. Monitoramento em redes IPv6 com Zabbix e Rasperry PI. 2013. 64 f.
Dissertao Universidade Tecnolgica Federal do Paran. Curitiba.
46
OLIVEIRA, Jefferson. Linux como Alternativa de Sistema Operacional para Desktops. 2008.
109 f. Dissertao Universidade do Estado de Minas Gerais. Frutal.
MORAES, Ccero. CASTRUCCI, Plnio Residncias Inteligentes. 2006. 360 f. Brasil. LTC.
MAINARDI, E., BANZI, S., BONFI, M. e BEGHELLI, S., A low-cost Home Automation
System based on Power-Line Communication Links, 22nd International Symposium on
Automation and Robotics in Construction. ISARC 2005 - September 11 mar 2016, Itlia.
MONTEIRO, Aline. Servio Automatiza Casa por R$ 8 mil, 2011. Revista Exame.
Disponvel em: <http://exame.abril.com.br/tecnologia/noticias/servico-automatizacasa-por-r-8-
mil>. Acesso em: 16 abr. 2016.
MAKE, Open source Hardware, what is it? Here's a start, 2007. Disponvel em
<http://blog.makezine.com/2007/04/23/open-source-Hardware-what/>. Acesso em:
21 mar. 2016.
47
PARK, J. & MACKAY, S. Practical Data Aquisiion for Instrumentation and Control
Systems, Newnes Publications, United Kingdom, 2003.
A instalao do Mango Automation foi realizada atravs dos passos descritos a seguir:
1- Foi acessado o terminal como usurio administrador, para isso digitou-se:
sudo su
apt-get update
3- Foi verificado se a verso instalada do Java era a JDK 1.8 (verso utilizada pelo Mango
Automation). Para isso, digitou-se:
java version
4- Foi observado que a verso do Java instalada no era a 1.8. Desta forma, procedeu se
com a atualizao digitando:
5- Aps a instalao do Java foi preciso criar uma pasta para instalar o Mango Automation.
Ela foi criada dentro da pasta OPT, para isso digitou-se:
Mkdir /opt/mango
6- Utilizou-se o browser Epiphany presente no Rasbpian para que fosse possvel acessar o
endereo <http://infiniteautomation.com/index.php/download-mango> e efetuar o download do
Mango Automation. Aps o download, descompactou-se o arquivo obtido em uma pasta chamada
mango e o copiou para o caminho /opt.
49
7- Foi executado um scripit para inicializao do Mango Automation. Para isso digitou-se:
./bin/ma/sh start
<http://localhost:8080>
Fonte: Autores
50
Lsusb
Fonte: Autores
Fonte: Autores
ls la/dev/ttyUSB*
Fonte: Autores
52
6- No Raspbian apenas o usurio root e o grupo dialout tem a permisso para controlar a
porta onde o Arduino est conectado. Sendo assim, foi necessrio acrescentar o usurio pi,
que o usurio padro do Raspbian e o www-data, que o usurio do servidor TomCat.
Para isso, digitou se:
adduser pi dialout
adduser www-data dialout
Fonte: Autores
Foi visualizada a tela a seguir, indicando que o procedimento obteve o resultado esperado.
53
Fonte: Autores
Fonte: Autores
54
Primeiramente criou-se um data source. Para isso foi preciso acessar o menu Data
Sources na barra de menus. Conforme figura abaixo:
Fonte: Autores
Em seguida, foi selecionado o tipo de comunicao que ser utilizada pelo data source.
Foi selecionada a Modbus Serial, conforme figura abaixo:
55
Fonte: Autores
4- A velocidade foi configurada com o mesmo valor utilizado no cdigo do Arduino. Nos
testes realizados funcionou apenas na velocidade de 9600 baud.
5- Conforme o cdigo utilizado no Arduino, o padro de transmisso utilizado o 8N1, ou
seja, 8 bits de dados, com 1 bit de parada e sem paridade.
6- Foi selecionado o tipo de codificao RTU.
7- Em relao aos outros parmetros, foi utilizado o valor padro j disponibilizado pelo
Mango Automation.
Fonte: Autores
Aps inserir os dados de configurao do data source deve-se salva-lo, para que o mesmo
seja criado.
Aps a criao do data source, foi realizado o procedimento para criao dos data points,
responsveis por controlar no Mango Automation o envio e recebimento dos dados do Arduino.
Em cada data point foi preciso informar a qual tipo de entrada ou sada ele se refere.
Segue um exemplo de configurao para cada tipo de data point que foi utilizado no projeto,
ressaltando que no foi utilizado sada analgica.
57
Sada Digital
Fonte: Autores
Entrada Analgica
5. Realizada essas configuraes, o data point foi salvo para que fosse criado.
Fonte: Autores
Entrada Digital
Fonte: Autores
Aps a criao dos datas points foi necessrio conect-los. Para isso, clicou-se nos cones
destacados na figura abaixo.
Fonte: Autores
Em seguida foi conectado o data source, clicando no cone destacado na figura abaixo.
Fonte: Autores
60
Fonte: Autores
2- Informou-se um nome para a representao grfica, e foi anexada uma imagem de uma
planta 3D similar a maquete do projeto. Esta imagem foi utilizada como plano de fundo para as
animaes que sero implementadas. Aps todas as configuraes, clicou-se em Save.
61
Fonte: Autores
Para a configurao da representao grfica foi necessrio inserir os datas points, atravs
dos quais ser possvel controlar um LED e visualizar informaes como status do LED e
temperatura aferida. Segue o procedimento de criao do boto Liga/Desliga do LED.
Fonte: Autores
2- Em seguida, foi selecionado o data point referente ao boto que est sendo configurado,
que no caso Lampada_Quarto Liga_Desliga.
Conforme imagem:
Fonte: Autores
Fonte: Autores
Fonte: Autores
5- Ao passar o mouse sobre, o boto ele ser exibido num formato que permita o controle do
LED, conforme imagem abaixo:
Fonte: Autores
Fonte: Autores
Fonte: Autores
65
Fonte: Autores
Fonte: Autores
66
Fonte: Autores
Fonte: Autores
3- Clicou- se na opo Exibir texto, para que seja mostrado o status Ligado/Desligado
do LED e escolheu como ele ser exibido com status de ligado e desligado.
Fonte: Autores
68
Fonte: Autores
int Status_Quarto = 0;
int Status_LED_Quarto = 0;
int Status_sala = 0;
int Status_LED_sala = 0;
int Status_ban = 0;
int Status_LED_ban = 0;
//Configuracao PIR
int pinBuzzer = 6;
int pinSensorPIR = 7;
int valorSensorPIR = 0;
ModbusSerial mb;
long ts;
void setup () {
pinMode(LED_Quarto, OUTPUT);
pinMode(Botao_Quarto, INPUT);
digitalWrite(LED_Quarto, LOW);
pinMode(LED_sala, OUTPUT);
pinMode(Botao_sala, INPUT);
digitalWrite(LED_sala, LOW);
pinMode(LED_ban, OUTPUT);
pinMode(Botao_ban, INPUT);
71
digitalWrite(LED_ban, LOW);
pinMode(LED_LDR, OUTPUT);
pinMode(pinBuzzer, OUTPUT);
pinMode(pinSensorPIR, INPUT);
mb.addIsts(SWITCH_Quarto_ISTS);
mb.addCoil(LAMP_Quarto_COIL);
mb.addCoil(HAB_Quarto_COIL);
mb.addIsts(SWITCH_sala_ISTS);
mb.addCoil(LAMP_sala_COIL);
mb.addCoil(HAB_sala_COIL);
mb.addIsts(SWITCH_ban_ISTS);
mb.addCoil(LAMP_ban_COIL);
mb.addCoil(HAB_ban_COIL);
mb.addIsts(LED_Status_LDR_ISTS);
mb.addIsts(Status_PIR_ISTS);
mb.addIreg(SENSOR_TEMP);
void loop()
{
mb.task();
if (mb.Coil(HAB_sala_COIL) == true)
{
// Recebe o comando virtual do mango e aciona o LED
digitalWrite(LED_sala, mb.Coil(LAMP_sala_COIL));
// Envia para o mango a situaao que esta o porta do LED
mb.Ists(SWITCH_sala_ISTS, digitalRead(LED_sala));
}
73
if (mb.Coil(HAB_ban_COIL) == true)
{
// Recebe o comando virtual do mango e aciona o LED
digitalWrite(LED_ban, mb.Coil(LAMP_ban_COIL));
// Envia para o mango a situaao que esta o porta do LED
mb.Ists(SWITCH_ban_ISTS, digitalRead(LED_ban));
}
valorSensorPIR = digitalRead(pinSensorPIR);
if (valorSensorPIR == 1) {
ligaAlarme();
mb.Ists(Status_PIR_ISTS, digitalRead(pinSensorPIR));
}
else
desligaAlarme();
mb.Ists(Status_PIR_ISTS, digitalRead(pinSensorPIR));
76
void ligaAlarme(){
tone(pinBuzzer,1500);
//delay(3000);
desligaAlarme();
}
void desligaAlarme(){
noTone(pinBuzzer);
}