(controlador Lógico Programável) que conseguia controlar e de cortinas e cenário de iluminação, proporcionando um
comandar maquinas e sistemas industriais. A partir daí a clima de cinema em casa. Piscinas com auto filtragem e auto
automação teve grandes avanços tecnológicos, na década de 70, aquecimento iluminação e efeitos de cascata.
surgiram no EUA, os primeiros módulos inteligentes chamados
X-10 voltados a área residencial. Uma década depois houve a Utilidades Gerais: Irrigação de jardim, com sensores de
popularização dos computadores pessoais, e passou-se a utilizar humidade. Sistema de aspiração centralizada, varrendo e
os PCs como centrais de atuação, no entanto devido ao alto aspirando o pó de forma automática.
custo, impulsionou-se ao desenvolvimento e fabricação de
dispositivos dedicados a automação residencial. Banho: Torneira com sistema de detecção de presença,
No início essa tecnologia era voltada a um público alvo de aquecedor de toalha, banheira com controle de temperatura,
alto padrão e ter uma casa integralmente automatizada ainda é quantidade de água, velocidade de jatos, espuma e
algo para poucos, mas isto vem mudando, graças ao surgimento autolimpeza com comandos executados remotamente
maior de fabricantes com sistemas inovadores, os custos estão conforme mostra a figura 3.
reduzindo, sendo criado dispositivos simples com preços
acessíveis como os Sonoff, conforme mostra figura 2, um
interrupitor Wifi, custando no Brasil por volta de R$ 50 reais.
B. Smartphone
Fig. 3. Interruptor Sonoff [15]
O smartphone (palavra inglesa que significa “telefone
inteligente”) é um celular que combina recursos de
Apesar do desenvolvimento desses dispositivos de baixo custo,
computadores com funcionalidades avançadas que podem ser
a maior variedade de produtos ainda são artigos de luxo. As
estendidas por meio de programas (aplicativos) executados
principais aplicações praticas da automação residencial são na:
pelos seu Sistema Operacional, tais sistemas permitem que
desenvolvedores criem milhares de programas adicionais, com
Segurança: Com fechaduras com leitor faciais e
diversas utilidades, agregados em lojas online como o Google
biométricos, alarmes, sensores de presença e câmeras de
Play para Android, e a Apple App Store para iOS.
monitoramento a longa distância.
Esses dispositivos possuem características de hardware e
Iluminação de ambientes: Sistemas de iluminação, software, tais como capacidade de conexão com rede de dados
lâmpadas com acionamento a distância, dimerização de para acesso à internet, telefonia celular com tecnologia 4G,
luzes por tablet ou smartphone, controle de persianas, etc. câmeras de altas resoluções e estabilização ótica, acesso E-mail,
Um exemplo é uma tecnologia israelense cuja técnica redes sociais. Além de contar com com hardware de elevado
modifica a composição molecular do vidro, tornando-o mais processamento gráfico capaz de executar aplicativos em 3D,
claro ou mais escuro de acordo com o desejo do usuário. ecrãs 4k ou UltraHD, sensores biométricos, reconhecimento de
Dispensando o uso de cortinas, persianas, ou portas opacas. íris ocular e de rosto com tecnologias bem sofisticadas.
C. Microcontrolador
Climatização: Ar condicionado e aquecedores
controlado em centrais de monitoramento, não necessitando É um pequeno computador em um único circuito integrado
o uso de controle remotos individuais. o qual contém um núcleo de processador, memória e periféricos
programáveis de entrada e saída. A memória de programação
Acessibilidade: Porta automática, sensores de presença. pode ser RAM, NOR Flash ou PROM, a qual muitas vezes está
Sistema de elevador com reconhecimento biométrico facial. embutida no chip. Tem tamanho reduzido e custo reduzido
comparado aos microprocessadores de computador pessoal.
Entretenimento: Sistema de sonorização ambiente, tornam-se econômicos para controlar digitalmente dispositivos
equipamentos audiovisuais retrateis, sistema automatizado e processos. O seu consumo de energia é relativamente baixo,
4
na cada de miliwatts e possui capacidade de entrar em modo de para as mais diversas funções. Ex: Shield Relé; WiFi; sensores
espera. . Eles são usados em produtos e dispositivos (temperatura, umidade, etc.), figura 5 mostram outros exemplos
automatizados, como os sistemas de controle de automóvel, de Shields para Arduino.
controle remoto, eletrodomésticos, brinquedos, sistemas
médicos implantáveis, dentre outros sistemas embarcados.
D. Arduino
TABELA I
ESPECIFICAÇÕES GERAIS DO ESP8266
Voltagem 3,3V
Consumo de Corrente 10µA
Memória Flash 16MB (512k normal)
Processador Tensilica L106 32bit
Velocidade do Processador 80-160MHz
RAM 32k+80k
GPIOs 17(multiplexada com outras funções
Analogico para Digital 1 entrada com 1024 resolução
Suporte 802.11 (wifi) b/g/n/d/e/i/k/r
Máxima Corrente de conexão TCP 5 mA
Fig. 5. IDE Arduino Esse CI está no mercado desde 2014, tornando pouco o
Ele é um software de aplicação multiplataforma, o que acervo de estudos sobre sua aplicação. Seu fabricante criou 14
significa que é possível programar outros microcontroladores modelos de ESP8266, que podem ser visualizadas na figura 3,
além do Arduino, possui um ambiente de programação de ambos apesar de ter o mesmo processador e modulo wifi
código aberto, gratuito. Além de vir com diversas funções pré- integrado, possuem números de pinos diferentes, capacidade de
memória, espaçamento entre os pinos, velocidade de
definidas facilitando a construção do código, a IDE possui
processamento são outras características que os diferem.
bibliotecas para controle de periféricos.
O microcontrolador NodeMCU utilizado nesse projeto tem
linguagem de programação padrão a Lua, utilizando o
compilador, ou seja, o ambiente de desenvolvimento SDK Lua.
Porém é possível utilizar a IDE Arduino como ambiente de
desenvolvimento, visto que ele é multiplataformas, utilizando a
linguagem C++, para isso é necessário realizar algumas
configurações adicionais na IDE descrita em (13).
F. Shields do Arduino
São módulos ou periféricos do Arduino usados para
interligar, enviar, receber comandos da placa principal do
Arduino ou microcontrolador compatível, agregando
funcionalidades ao sistema. Existem diversos tipos de Shield, Fig. 7. As 14 versões de ESP8266 + ESP-WROOM-02
5
como mostra a figura 8 na tela central, ele permite que adicionar pasta de instalação da IDE do Arduino para vincular o Blynk a
widgets a interface do seu projeto. Widgets são componentes de biblioteca de hardware que o Arduino trabalha. Nela contém
interface gráfica. Rolando a barra de rolagem para ver todos os informações Assembly ou linguagem raiz da máquina
widgets disponíveis, eles estarão divididos em categorias: convertida em funções pré-definidas, facilitando a escrita do
controllers, displays, interface, notifications, other, código. Logo mais no DESENVOLVIEMNTO DO PROJETO
smartphone sensors. Para adicionar um widget a tela principal abordaremos funções pré-definidas do Blynk usadas no projeto
no projeto basta clicar sobre o widget escolhido e o mesmo será que o Arduino só entende devido a instalação dessas
inserido na interface de comando. Para duplicar o widget basta bibliotecas. Entretanto, para se fazer o uso dessas bibliotecas é
pressiona-lo, aguardando a habilitação da opção conforme necessário fazer o download do pacote de bibliotecas acessando
o site oficial [10], na parte superior clique em “GETTING
mostra a figura 8 no print da direita. Caso deseje deletar um
STARTED” e em seguida clique em “DOWNLOAD BLYNK
widget, basta pressiona-lo e segura-lo até aparecer a opção no
LIBRARY” conforme mostra a figura 10.
topo da tela conforme figura 8 no lado direito, então basta
arrastar o widget e soltar na opção da lixeira.
Na mesma tela que adiciona os widget existe uma bateria que
está escrito “your energy balance”, essa bateria mostra a
quantidade de pontos que podem ser usados para adicionar
widget. Cada widget consome uma quantidade de energia, o
aplicativo dispões ao desenvolvedor na versão gratuita do
Blynk 2000 pontos de energia. Cada widget gasta entre 100 a
4900 pontos de energia. Para adquirir mais pontos é necessário
compra-los, conforme mostra a figura 9 no lado esquerdo.
Fig. 11. Download do pacote de biblioteca Blynk
Para certificar de que as pastas foram colocas nos locais local, evento, gestos, etc.) em perfis definidos pelo usuário. Ele
corretos, abra a IDE do Arduino e siga os passos: custa R$11,99 (Abril/2018), um aplicativo que automatiza
Arquivo>>Exemplos>>Blynk. Se encontrar o exemplo Blynk diversas funcionalidades básicas até as mais complexas, através
então o procedimento foi feito de forma correta. Conforme de uma interface simples, ele controla o dispositivo sem a
mostra a figura 13. necessidade de root ou uma tela inicial especial. Apesar de ser
um aplicativo pago ele contém diversos recursos que valem a
pena o preço investido na sua aquisição. Existem diversos
tutoriais no Youtube que demonstram o funcionamento desse
aplicativo. Ele foi a solução para integrar o comando de voz ao
Blynk, solução similar foi demonstrada em [12].
NodeMCU
exemplo para o Blynk usando hardware NodeMCU, para ter Este mapeamento define que a variável correspondente ao
acesso a esse código basta seguir o caminho no IDE do seu pino, por exemplo, a variável D0 está vinculada ao pino 16
Arduino: Arquivo >> Exemplos >> Blynk >> Boards_WiFi>> do NodeMCU.
NodeMCU. Ao ser criado esse projeto exemplo já terá o Em seguida foram definidas as cargas e quais pinos do
formato padrão do programa, contendo as bibliotecas da Blynk microcontrolador essas cargas seriam controladas, conforme
e do NodeMCU conforme mostra a figura 17. mostra a figura 19. Nesse protótipo usou apenas 3 cargas, mas
poderia ser incrementado de acordo com a necessidade do
usuário, essa mudança resultaria no acréscimo de código do
algoritmo e layout da interface do Blynk.
O comando para leitura dos pinos virtuais devem utilizar o Para fazer a leitura dos widgets modos do Blynk na IDE do
padrão da figura 21, o comando “int buttonState= Arduino é necessário configurar no Blynk, conforme mostra a
param.asInt();” cria a variável “buttonState” que receberá o figura 24, o pino virtual que a variável modo estará vinculada e
valor do pino V1, onde se o valor do sinal for 1, ou seja, ele utiliza-se uma linguagem especifica da própria Blynk, conforme
deverá escrever no pino D0 que corresponde ao pino real no mostra a figura 25. A leitura é feita a partir de um pino virtual
microcontrolador, que a lâmpada do quarto acenda. E o V10, as informações atribuídas ao pino V10 está no comando
comando “led0.on();” faz com que o LED verde, criado na “param.asInt()”.
figura 19, que fica acima do botão de acionar lâmpada do
quarto, acenda na interface gráfica do Blynk. E caso o sinal seja
0, o comando é para a lâmpada desligar e o LED verde fique
apagado. Esse mesmo comando serve para acionar e desacionar
qualquer carga a partir de um widget de botão.
Conforme a figura 22 mostra o “void setup” ou seja, a
função principal ficou responsável por definir o estado e função
dos pinos do microcontrolador. A instrução pinMode
(D0,OUTPUT) por exemplo indica que o pino D0 tem a função
de saída, ou seja, acionar uma carga, neste caso a lâmpada da
sala.
zerado todas as cargas elétricas da casa, e permaneceriam criação do perfil, nomeia-se a tarefa, ao selecionar no “+”
ligadas a iluminação da sala e o ar condicionado. E o modo apresentado na figura 26 (esquerdo), aparecerá uma tela
silencioso seria utilizado para desligar todas as cargas, caso por segundo mostra a figura 26(central), onde deverá selecionar
exemplo o usuário saísse para trabalhar, bastava apertar esse Plugin, ao abrir o plugin selecione AutoVoice e em seguida
modo, economizando o tempo de apertar todos os botões das selecione Recognized, conforme mostra figura 26 (direito).
cargas.
B. Comandos de voz
O sistema de comando de voz é gerenciado pelo aplicativo
Tasker, executando tarefas pré-programadas. As tarefas
possuem perfis que estabelecem condições que servem como
gatilho para que seja executada a tarefa. Como no exemplo da
figura 25.
TABELA II
PALAVRAS CHAVES PARA COMANDO DE VOZ
PALAVRAS CHAVES
Ligar Desligar Ventilador
Lâmpada Ar condicionado Cozinha
Quarto Sala Banheiro
C. Esquema Elétrico
Fig. 28. Descobrindo o IP do Cloud Blynk
Para adicionar o comando http, basta adicionar uma nova tarefa Fig 30. Diagrama Elétrico do projeto
clicando no “+” depois selecione rede>>obter http e no campo
“servidor:porta” digite o http correspondente ao comando de O sistema é composto pelo NodeMCU, uma fonte de
acender lâmpada, que nesse projeto foi: alimentação de 5v, pode ser um carregador de celular com saída
USB Mini tipo B, que é ligado numa Shield Relé, que por sua
12
vez é ligada nas cargas (lâmpada, ventilador, ar condicionado, oportunidades para futuras pesquisas que possam trabalhar com
etc). a plataforma Blynk ou desenvolver um sistema por comando de
voz através do Tasker. O sistema desenvolvido neste trabalho
D. Analise de Custo está aberto a melhorias e ampliação das funcionalidades.s
O desafio desse projeto será integrar com outros
O custo destacado nesse tópico está relacionado ao material
microcontroladores num mesmo aplicativo Blynk e adicionar
necessário para o desenvolvimento do projeto, visto que
sistemas de vídeo e controle remoto universal conseguindo
algumas peças não foram utilizadas. Esse projeto fomenta o
alterar canais, volume de tv, som, e temperatura do ar
interesse em desenvolver pesquisas nessa área da Domótica
podendo ser caracterizado como sendo uma opção de condicionado, e controle do portão de uma garagem tornando o
automação de baixo custo. A tabela 2 detalha os custos sistema residencial cada vez mais automatizado e integrado
envolvidos no projeto. num único sistema para que os usuários possam usufruir de
TABELA III conforto, segurança e acessibilidade.
ANALISE DE CUSTO PARA DESENVOLVIMENTO
Item Descrição Data de compra Valor
VI. REFERÊNCIAS
01 Kit Arduino 21.12.2017 R$ 151,22
02 Blynk (28000 Energy) 05.01.2018 R$ 69,99
03 Tasker (PlayStore) 07.01.2018 R$ 11,99 [1] CARVALHO, G. B. Automação Residencial na
04 AutoVoice (PlayStore) 30.03.2018 R$ 9,45
contrução civil. TCC. UEG. Anápolis, 2015.
Total R$ 242,65
¹O kit de Arduino adquirido para o desenvolvimento contem peças não
utilizadas no projeto final, tais como o próprio Arduino Uno, Shields, dentre
outros. [2] DEMÉTRIO, F. G. et Al. Analise e implantação da
Domótica em edifícios residenciais de alto padrão.
Ao analisar os custos para esse projeto fica evidente que os UNIVAP. São José dos Campos. 2016.
preços cobrados em serviços de automação residencial são
oriundos da mão de obra altamente especializada, que custar [3] AARTS, J. HEITKAMP, F. Small Scale Living
pelo menos R$3.000,00 para projetos simples, um sistema (SSL) for the elderly through House Automation
completo custa a partir de R$ 15,000,00, valores bem (Domotica). IEEE, Harderwijk, Netherlands, 2011.
destoantes com o custo de peças e tecnologia.
[4] VERMA, A. K. et al. Multi-Operational Home
V. CONCLUSÃO Automation System Using Iot, An Approach. 8th
IEEE Annual Information Technology, Electronics
O projeto correspondeu aos objetivos propostos, and Mobile Communication Conference (IEMCON),
conseguindo controlar iluminação de uma residência por 2017, pp.305-308.
comando de voz, foi feito um protótipo real com 3 cargas: 2
lâmpadas e 1 ventilador, um sistema que pode ser facilmente [5] MRINAL, M. PRIYANKA, L. Smart Home –
incrementado, possibilitando o controle das cargas por cômodo, Automation and Security System Based on
vinculado a modos de atuação como modo cinema deixando Sensing Mechanism. IEEE, Patil College of
apenas a TV e ar condicionado ligado, ou modo silencioso, Engineering Indapur, SPPU,India. 2017
onde são desligadas todas as cargas exceto o ar condicionado,
para que os moradores possam dormir. [6] SILVA, M. C. Internet of thing: Medição de
É importante salientar o custo para a implementação desse temperatura e umidade de um ambiente. IFBA,
sistema que tem no mercado Brasileiro é de valores milionários Salvador, 2017 OLIVEIRA, S. Internet das Coisas
podendo chegar a mais de R$ 200 mil reais. Para o com ESP8266, Arduino e Raspberry Pi. São Paulo:
desenvolvimento foi gasto aproximadamente R$ 250 reais, Novatec, 2017.
conforme relatado na análise de custo, valor que pode vim a
[7] SILVA, B. R. S. Sistema de automação residencial
encarecer na instalação de uma casa, pois haverá custo
de baixo custo para redes sem fio. TCC. UFRS.
adicionais com fios, quantidade de cargas que serão acionadas,
Porto Alegre,2014.
mas nota-se que a justificativa maior para o valor tão alto
cobrado pelas empresas brasileiras para o projeto e instalação [8] SANTOS, D. M. S. et al. Automação R residencial
desses equipamentos é a mão de obra especializada, visto que sem fio de baixo custo. Artigo. UNIVALI. Santa
são tecnologias de alto nível, e existe uma mão de obra muito Catarina, 2014.
restrita.
As principais dificuldades encontradas na realização deste [9] SILVA, R. T. G. et Al. Sistema de automação
projeto foi encontrar materiais que abordassem o conteúdo de residencial de baixo custo utilizando o ESP8266.
programação do Blynk no Brasil, sendo necessário uma Artigo. IFCE. Ceará.
pesquisa mais profunda em sites internacionais, incluindo o
próprio site oficial da Blynk que possui seu conteúdo em inglês. [10] BLYNK. Plataforma de desenvolvimento
Motiva-se através dessa pesquisa estimular o uso de novas Android/NodeMCU. < https://www.Blynk.cc >
tecnologias voltadas a atuação residencial no Brasil, gerando Acessado em: 05 de fevereiro de 2018
13
16 #define D9 3
#define D10 1
[11] ARDUINO. Site Oficial do Arduíno. Disponível 17
em: <http://www.arduino.cc/>. Acesso em: 18 //defines de cargas que serão usadas
16/01/2018. 19 #define LAMPADA_QUARTO D0
20 #define LAMPADA_SALA D1
#define AR_CONDICIONADO D2
[12] YOUTUBE, Como Configurar o comando de voz 21
do tasker com o Blynk, <https://www.youtube.com/ 22 char auth[ ] = "1944ff10c9d440eb8ff19953d002121c";
watch?=0e5Sumc7MbM&t=10s> Acessado em 05 23 char ssid[ ] = "Beeh_Corporation";
de Fevereiro de 2018 24 char pass[ ] = "matheus9841";
25
WidgetLED led0(V0); //register to virtual pin 1
[13] NodeMCU. Configurando a ide do Arduino. 26 WidgetLED led2(V2); //register to virtual pin 1
<http://blogmasterwalkershop.com.br/embarcados/N 27
odeMCU/NodeMCU-configurando-a-ide-do- 28 void setup(){
Serial.begin(9600);
arduino/> , acesso em 28.02.201 29
Blynk.begin(auth, ssid, pass);
30
[14] BOLZANI, C. A. M. Residências Inteligentes: Um 31 //direção dos pinos
curso de Domótica. Ed.1. São Paulo: Editora Livraria 32 pinMode(D0, OUTPUT); //LAMPADA DA SALA
da Física, 2004. 316 p. pinMode(D1, OUTPUT); // LAMPADA DO QUARTO
33
pinMode(D2, OUTPUT); // AR CONDICIONADO
34
[15] ALVES, J. A.; MOTA, J. Casas Inteligentes. 35
Portugal: Editora Edições Centro Atlântico, 2003. 36 //pinos virtuais:
144 p. WidgetLED led0(V0); // led do Blynk da Lampada quarto
38
WidgetLED led2(V2); // Led do Blynk do Ar condicionado
39
[16] Sonoff, disponível em: <http://sonoff.itead.cc/en/>, 40 //inicialização dos motores
acessado em 05.04.2018 zerar();
41
}
42
[17] Disponível em: <
43 void zerar(){
http://www.ihouse.com.br/caracteristicas-da-
44 //desligando cargas
smarthydro.php > Acessado em 06.04.2018 digitalWrite(D0, LOW);
45
digitalWrite(D1, LOW);
46
[18] Disponível em: <http://blogmasterwalkershop.com. digitalWrite(D2, LOW);
br/Blynk/conhecendo-o-Blynk/ > acessado em 47
06.04.2018 48 //apagando leds da interface
49 led0.off();
led2.off();
[19] ANDROIIDPIT, Tutorial Tasker, Disponivel em: 50
<https://www.androidpit.com.br/ 51 //deixando botões da interface em off
forum/645307/tutorial-tasker-1-fundamentos> 52 Blynk.virtualWrite(V1,LOW);
53 Blynk.virtualWrite(V3,LOW);
acessado em 07.04.2018 Blynk.virtualWrite(V4,LOW);
54
}
55
VII. APÊNDICES 56 BLYNK_WRITE(V1){ // LÂMPADA DO QUARTO
57 int buttonState=param.asInt();
if (buttonState==1){
58
CÓDIGO-FONTE DO PROJETO digitalWrite(D0, HIGH);
59 led0.on();
60 }
1 //Programa: HOME SMART - NODEMCU
61 if (buttonState==0){
//Autor: Matheus Carneiro
2 62 digitalWrite(D0, LOW);
3 led0.off();
//Importa as bibliotecas necessárias para o funcionamento do 63 }
4 NodeMCU e da comunicação como blynk
64 }
5 65
#include <ESP8266WiFi.h>
6 66 BLYNK_WRITE(V3){ //LÂMPADA SALA
#include <BlynkSimpleEsp8266.h>
7 int buttonState=param.asInt();
67 if (buttonState==1){
8 //defines - mapeamento de pinos do NodeMCU
68 digitalWrite(D1, HIGH);
9 #define D0 16
69 }
#define D1 5
10 70 if (buttonState==0){
#define D2 4
11 digitalWrite(D1, LOW);
#define D3 0B 71 }
12 #define D4 2
72 }
13 #define D5 14
#define D6 12 73
14 74 BLYNK_WRITE(V4){ // AR CONDICIONADO
#define D7 13
15 int buttonState=param.asInt();
#define D8 15
14
75 if (buttonState==1){
digitalWrite(D2, HIGH);
76
led2.on();
77 }
78 if (buttonState==0){
79 digitalWrite(D2, LOW);
led2.off();
80
}
81 }
82
83 BLYNK_WRITE(V10){ // CONFIGURAÇÃO DOS MODOS
switch (param.asInt())
84
{
85 case 1: { // cinema
86 zerar();
87 Blynk.virtualWrite(V3,HIGH);
Blynk.virtualWrite(V4,HIGH);
88
digitalWrite(D1, HIGH);
89 digitalWrite(D2, HIGH);
90 led2.on();
91 break;
}
92
case 2: { // silencioso
93 zerar();
94 }
95 }
}
96
97
98 void loop() {
99 Blynk.run(); //vai no servidor do blynk ver os comandos a
serem executados
100
}
101
102