Академический Документы
Профессиональный Документы
Культура Документы
Cincia da Computao
Mandaguari
2013
Eber Fabiano Pacanhela
Mandaguari
2013
EBER FABIANO PACANHELA
Data: 25/11/2013
Nota: 9,5
Banca Examinadora:
_______________________________
Prof. Esp. Itamar Solopak (Orientador)
_______________________________
Prof. Ms. Munif Gebara Junior
_______________________________
Prof. Ms. Rodney Janurio Carneiro
Dedico este trabalho minha famlia,
especialmente aos meus pais, Eros
Pacanhela e Rute Vieira da Silva
Pacanhela, pelo incentivo, apoio e
confiana em mim depositada durante a
minha formao acadmica.
A Deus, em primeiro lugar, pela fora e coragem que tem me dado durante todos
esses anos de estudos.
Aos meus pais, Eros Pacanhela e Rute Vieira da Silva Pacanhela, pela confiana e
apoio que tem demonstrado durante toda a minha vida.
Aos meus amigos, pelo companheirismo e amizade que pude desfrutar durante
esses quatro anos de estudos na FAFIMAN.
Cora Coralina
RESUMO
1 INTRODUO ....................................................................................................... 10
2 FUNDAMENTAO TERICA .............................................................................. 12
2.1 Automao ....................................................................................................... 12
2.1.1 Automao Industrial ................................................................................. 12
2.1.2 Automao Residencial ............................................................................. 13
2.2 Android ............................................................................................................. 19
2.2.1 Arquitetura ................................................................................................. 20
2.3 Web services.................................................................................................... 21
2.4 Arduino ............................................................................................................. 24
3 METODOLOGIA ..................................................................................................... 26
4 EXPERIMENTO ..................................................................................................... 27
4.1 Aplicao Web ................................................................................................. 28
4.2 Aplicao Android ............................................................................................ 32
4.3 Aplicao e Hardware Arduino ......................................................................... 35
5 CONCLUSO ......................................................................................................... 37
REFERNCIAS ......................................................................................................... 38
APNDICE I.....................................................................................................................................40
APNDICE II....................................................................................................................................45
10
1 INTRODUO
2 FUNDAMENTAO TERICA
2.1 Automao
novas tecnologias. Apesar deste fator, Muratori ressalta que o custo de um projeto
de automao residencial est 50% mais barato que h cinco anos atrs, isto em
2009, e com isso tem aumentado em mdia 35% ao ano em nmero de projetos,
neste setor.
2.2 Android
2.2.1 Arquitetura
2.4 Arduino
3 METODOLOGIA
4 EXPERIMENTO
Figura 8 - Prottipo
Fonte: Autoria prpria.
permitir ligar e desligar uma lmpada, utilizando um dispositivo mvel que suporte o
Android, pois ser esta aplicao que fornecer uma interface para o usurio, para
que ele possa interagir com a automao.
Como o objetivo deste trabalho demonstrar a interao entre os sistemas
heterogneos, portanto no foram explorados aqui todos os requisitos de segurana,
pois existem vrios pontos no qual devem ser melhorados, inclusive no quesito de
segurana da rede, pois neste aspecto ser considerada apenas a autenticao do
prprio roteador. Esses pontos futuramente podem ser aperfeioados, pois o objetivo
deste trabalho no entregar um produto final, mas demonstrar a possibilidade de
comunicao entre as tecnologias para automatizar uma residncia. Alm disso,
para alcanar o objetivo deste trabalho ser considerada a execuo em uma rede
local, porm pode ser estendida para uma rede de maior abrangncia.
Segue a descrio das aplicaes necessrias para este trabalho com suas
respectivas funcionalidades:
sistema foram pensados em dois estados apenas, como por exemplo, aberto ou
fechado e ligado ou desligado.
Cada automao est situada em um determinado cmodo em uma
residncia, e este o papel da entidade cmodo, que representa os cmodos da
residncia.
J a entidade equipamento representa, neste caso, o Arduino que estar
gerenciando fisicamente as automaes.
Quanto entidade dispositivo, representa os aparelhos eletrnicos,
geralmente smartphones, celulares ou tablets, que podero atuar sobre as
automaes vinculadas aos usurios.
A entidade direito de uso representa os proprietrios da residncia.
Finalizando a descrio das entidades, temos a entidade configurao de e-
mail, est necessria para configurar os dados do remetente de e-mail, pois
atravs destas informaes que o sistema web poder avisar os usurios informados
no direito de uso, caso haja a tentativa de acesso residncia no autorizada.
A aplicao possui menus para suas respectivas funcionalidades, como se
pode observar na Figura 10, tambm importante ressaltar que a aplicao possui
um visual bem simples, porm intuitivo.
nas telas de manuteno dos registros, como demonstra a Figura 12, que
sero informados os dados ou at mesmo excluir o registro. Ao concluir a
manuteno do registro o usurio ser redirecionado para a pgina de listagem.
O hardware Arduino foi escolhido para este trabalho, pois possui valor
aquisitivo relativamente baixo, como se pode observar na Tabela 1, porm com
capacidade suficiente de atender as necessidades propostas neste trabalho.
Tambm por ser uma tecnologia open-source e por estar no mercado a um bom
tempo, desde 2005.
36
Fonte: (http://www.labdegaragem.org/loja/).
5 CONCLUSO
REFERNCIAS
KALIN, M. Java Web Services: Implementando. 1. ed. Rio de Janeiro: Alta Books,
2010. 312p.
@Path("/automacao")
public class WebService {
@Inject
private PermissaoDAO permissaoDAO;
@Inject
private AutomacaoFacade automacaoFacade;
@Inject
private AutomacaoDAO automacaoDAO;
@Inject
private DispositivoDAO dispositivoDAO;
@Inject
private DireitoUsoDAO direitoUsoDAO;
@Inject
private ConfiguracaoEmailDAO configuracaoEmailDAO;
@GET
@Path("/permissoes")
@Produces(MediaType.APPLICATION_JSON)
public List<Permissao> getPermissoes(@HeaderParam("user") String user,
@HeaderParam("password") String password,
@HeaderParam("mac") String mac) {
if (dispositivo.isBloqueado()) {
enviarEmailDispositivoBloqueado(dispositivo);
return null;
}
@POST
@Path("/acionar")
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_JSON)
public String acionarAutomacao(@HeaderParam("user") String user,
@HeaderParam("password") String password,
@HeaderParam("mac") String mac, Automacao automacao) {
if (dispositivo.isBloqueado()) {
enviarEmailDispositivoBloqueado(dispositivo);
return retorno;
}
return retorno;
}
configuracaoEmail.getNome(),
configuracaoEmail.getSenha(),
direitoUso.getEmail(),
"Dispositivo no cadastrado",
"Ol, \n" +
"Um dispositivo no cadastrado tentou
acessar o sistema. \n" +
"MAC: " + mac);
}
} catch (Exception e) {
e.printStackTrace();
}
}
#include <SPI.h>
#include <Ethernet.h>
EthernetServer server(80);
void setup() {
Ethernet.begin(mac, ip);
server.begin();
Serial.begin(9600);
pinMode(RELE_1, OUTPUT);
digitalWrite(RELE_1, LOW);
pinMode(RELE_2, OUTPUT);
digitalWrite(RELE_2, LOW);
}
void loop() {
EthernetClient client = server.available();
if (client) {
boolean currentLineIsBlank = true;
String str;
while (client.connected()) {
if (client.available()) {
char c = client.read();
str.concat(c);
46
if(str.substring(5,15).equals("ligarRele1")) {
digitalWrite(RELE_1, HIGH);
}
else if(str.substring(5,18).equals("desligarRele1")) {
digitalWrite(RELE_1, LOW);
}
if(str.substring(5,15).equals("ligarRele2")) {
digitalWrite(RELE_2, HIGH);
}
else if(str.substring(5,18).equals("desligarRele2")) {
digitalWrite(RELE_2, LOW);
}
if (str.substring(5,19).equals("consultarRele1")) {
if (digitalRead(RELE_1) == HIGH) {
client.print("ligado");
}
else if (digitalRead(RELE_1) == LOW) {
client.print("desligado");
}
}
if (str.substring(5, 19).equals("consultarRele2")) {
if (digitalRead(RELE_2) == HIGH) {
client.print("ligado");
}
else if (digitalRead(RELE_2) == LOW) {
client.print("desligado");
47
}
}
break;
}
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
}
}