AUTOR(ES): LUIS WAGNER PASSINHO, ALESSANDRA CRISTINA SILVA, DANIEL ALVES DA ROCHA



Documentos relacionados
RECONHECIMENTO DE VOZ UTILIZANDO ARDUINO

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Comm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI

Alarme Automotivo com mensagem para móvel utilizando Arduino

Manual do Usuário Android Neocontrol

Manual de utilização do módulo NSE METH-8RL/Exp

SISTEMAS DISTRIBUÍDOS

Desenvolvendo Websites com PHP

Automação Residencial

Placa Acessório Modem Impacta

APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL RV1

Programando em PHP. Conceitos Básicos

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

Fundamentos de Hardware

VEÍCULO CONTROLADO POR ARDUINO ATRAVÉS DO SISTEMA OPERACIONAL ANDROID

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Acionamento através de senha*, cartão de proximidade ou biometria. Compatível com fechaduras magnéticas, eletroímãs e cancelas.

Acesso Remoto Placas de captura

Manual Replicação Manual VPN

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

Índice. Para encerrar um atendimento (suporte) Conversa Adicionar Pessoa (na mesma conversa)... 20

Personalizações do mysuite

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

Prof. Esp. Lucas Cruz

Um Driver NDIS Para Interceptação de Datagramas IP

OneDrive: saiba como usar a nuvem da Microsoft

Abra o software de programação. Clique na opção VOIP, depois opção configuração conforme as imagens:

1. CAPÍTULO COMPUTADORES

KVM CPU Switch 4 Portas Manual do Usuário

CONSTRUÇÃO DE UM ROBÔ TERRESTRE CONTROLADO REMOTAMENTE UTILIZANDO A PLATAFORMA ARDUINO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Sistemas Distribuídos

CDE4000 MANUAL 1. INTRODUÇÃO 2. SOFTWARE DE CONFIGURAÇÃO 3. COMUNICAÇÃO

CONSTRUÇÃO DE VEÍCULO MECATRÔNICO COMANDADO REMOTAMENTE

PROTÓTIPO DE ATENDIMENTO DOMICILIAR AUTOMATIZADO: HOME CARE DE BAIXO CUSTO

Componentes de um sistema de firewall - I

2 Diagrama de Caso de Uso

Aplicação Prática de Lua para Web

REDES DE COMPUTADORES

MANUAL DE CONFIGURAÇÃO

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Visão geral das redes sem fio

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

PHP AULA1. Prof. Msc. Hélio Esperidião

Repetidor / Access Point Wi Fi N Mbps WN9255. Guia Rápido de Instalação

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Web Design Aula 11: Site na Web

Revisão 7 Junho de 2007

Manual de utilização do módulo NSE METH 3E4RL

1. Introdução. 2. Conteúdo da embalagem

Informática. Informática. Valdir

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Componentes de um sistema de firewall - II. Segurança de redes

A senha 001 de fábrica é


Agora você tem a mais moderna tecnologia em internet de ultravelocidade via fibra ótica.

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

Office LiveMeeting. Office LiveMeeting

Guia Rápido para Acesso, Preenchimento e Envio Formulário de Cadastro da Empresa e Formulário de Projeto

Evolução na Comunicação de

Manual do usuário. Mobile Player

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

Março Como o Eye-Fi funciona Fluxogramas da visão geral

GUIA INTEGRA SERVICES E STATUS MONITOR

MANUAL PARA UTILIZAÇÃO DO MOODLE FACULDADE INTERAÇÃO AMERICANA VIRTUAL - Versão: Aluno

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

Guia de Utilização da IHM Touch Screen Rockwell. Realização:

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Manual do Visualizador NF e KEY BEST

Manual de Administração DPS Printer 2.1 NDDigital S/A - Software

Agora você tem a mais moderna tecnologia em internet de ultravelocidade via fibra ótica.

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

Manual de Instalação e Operação RECIP

REDE DE COMPUTADORES

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

IMPORTANTE: O PNM4R2 não entra em estado funcional enquanto o Windows não

TRBOnet MDC Console. Manual de Operação

Guia para o Google Cloud Print

APOSTILA LINUX EDUCACIONAL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

MANUAL DO USUÁRIO. Software de Imagem via Celular (isic) baseado no sistema operacional Android

Projeto Disciplinar de Infra-Estrutura de Software ECOFROTA TRIBUNAL THEMIS

GOVBR- UEM-MARINGA PREFEITURA MUNICIPAL DE PEROLA

Programação Web Prof. Wladimir

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

Entendendo como funciona o NAT

Aula 02 Conceitos básicos elipse. INFORMÁTICA INDUSTRIAL II ENG1023 Profª. Letícia Chaves Fonseca

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

Nota de Aplicação. Utilizando os recursos de segurança dos controladores HI. HI Tecnologia. Documento de acesso público

LANGUARD WEB INTERFACE INTERNET / INTRANET HTTP / SMTP / SNMP INTERFACE RS-232 / RJ-45 / USB DESCRIÇÃO TÉCNICA BÁSICA - DTB

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

Transcrição:

TÍTULO: AUTOMAÇÃO RESIDENCIAL PELA INTERNET COM PHP E ARDUINO CATEGORIA: CONCLUÍDO ÁREA: CIÊNCIAS EXATAS E DA TERRA SUBÁREA: COMPUTAÇÃO E INFORMÁTICA INSTITUIÇÃO: FACULDADE ANHANGUERA DE CAMPINAS AUTOR(ES): LUIS WAGNER PASSINHO, ALESSANDRA CRISTINA SILVA, DANIEL ALVES DA ROCHA ORIENTADOR(ES): THIAGO RINCÃO COLABORADOR(ES): IVAIR TEIXEIRA

Automação residencial pela internet com PHP e Arduino Resumo Com a popularização da Internet as barreiras geográficas são vencidas e surgem uma infinidade de novas aplicações, nas mais diversas áreas, que sequer eram imaginadas pouco tempo atrás. Entre estas aplicações pode ser citada a automação residencial pela internet, foco de muita pesquisa com finalidades didáticas ou comerciais. Para este tipo de sistema, na residência do usuário deve haver um hardware com duas interfaces distintas: uma de aceso remoto pela internet e outra de acionamento dos dispositivos físicos controlados. O objetivo deste projeto e elaborar um dispositivo microcontrolado, com base na plataforma Arduino, que permita a interação por meio de um navegador, a diversos dispositivos em uma residência. Estes dispositivos podem ser sistemas de alarmes, luzes, climatização, portas, portões, entre outros. Para isso será utilizado uma placa Arduino UNO e um adaptador ethernet W5100, em uma maquete para apresentar o trabalho. Assim, espera-se poder apresentar um projeto eficiente, de baixo custo, interdisciplinar que possa ser reproduzido com conhecimento básico de programação e eletrônica. Introdução O controle de uma residência pela internet é um sonho de consumo de muitos amantes da tecnologia e tema de muita pesquisa e debate. Comandar aparelhos eletrônicos, controlar a temperatura de um ambiente, abrir portas e ligar alarmes, são apenas algumas das diversas funcionalidades desejadas por estas pessoas. Com o avanço da tecnologia e das redes de comunicação, um número maior de residências pode usufruir de uma conexão com a Internet constante e com altas taxas de transferências. Esse fator é essencial para esse tipo de aplicação, pois o sistema que controla a residência deve ser facilmente acessado a qualquer momento de qualquer local. As Câmeras IP (Internet Protocol) podem ser configuradas para se conectarem aos roteadores sem fio na residência e permitir a visualização das

imagens. Esse sistema já é algo comum, porém ainda apresenta um custo relativamente elevado e não permite qualquer forma de interação com a residência, somente a recepção da imagem e, em alguns modelos, enviar áudio em um pequeno auto falante assim como ouvir sons no ambiente. Uma das formas de criar esta interface é com a utilização de um computador, configurado como servidor web, conectado constantemente à Internet. Ainda assim, é necessário algum dispositivo para realizar a integração deste computador com os dispositivos físicos controlados. Esta solução apresenta um alto custo e um consumo elevado de energia elétrica, pois o computador deve ficar ligado o tempo todo, problemas altamente desaconselháveis na atualidade. Objetivos O objetivo geral deste trabalho é apresentar um sistema de automação residência pela Internet de baixo custo. O objetivo especifico é implementar um sistema no qual o usuário acesse uma página web, visualize a planta e um conjunto de botões para atuar fisicamente nem sua residência. Para isso, existe uma conexão virtual entre esta página web e um dispositivo microcontrolado que interage fisicamente com dispositivos na residência, tais como: sensores, atuadores eletromecânicos, luzes, aquecedores, aparelhos de ar condicionado, entre outros. Metodologia A metodologia adotada tem como base a técnica de engenharia de software denominada Desenvolvimento Evolucionário, que consiste em um ciclo evolutivo de construção e testes até se obter o modelo funcional. (SOMMERVILLE, 2007) O primeiro passo do trabalho consiste em realizar um levantamento bibliográfico a fim de compor uma fundamentação teórica referente aos temas abordados. Desta forma é possível construir uma base sólida de conhecimento que permita realizar o trabalho proposto. Em seguida será realizado o levantamento dos requisitos desejados para o sistema, a análise da viabilidade e forma de implementação. Por fim será realizada a construção do protótipo de

demonstração, dividido em duas partes: um site na internet desenvolvido em PHP (PHP Hypertext Preprocessor) e Interface física com a residência que utiliza o Arduino e a placa W5100. Desenvolvimento De acordo com a metodologia adotada o trabalho está dividido em partes como descrito a seguir. A fundamentação teórica sobre o Arduino, a placa W5100 e a linguagem de programação PHP. Na sequência realiza-se o levantamento dos requisitos e por fim a elaboração da página web e do firmware, ou seja, do programa embarcado no Arduino. Placa Arduino Arduino é uma plataforma de prototipagem com microcontrolador Atmel que funciona de forma parecida com um computador, porém com todos os periféricos necessários para o funcionamento em um único chip. A programação da placa é realizada em um ambiente de desenvolvimento, também com o nome de Arduino, que assim como a placa é open source, ou seja, ambos podem ser modificados sem a necessidade de licença. (Arduino,2013) Sua linguagem de programação é baseada na linguagem C/C++, conta com boa quantidade de literatura e uma infinidade de projetos na internet, que podem servir de modelo para novas aplicações. No próprio ambiente de desenvolvimento existem vários exemplos prontos que o usuário pode compilar e testar nas placas Arduino. A programação da placa é feita para que ela utilize componentes externos e possa processar as entradas e saídas de forma a interagir com o ambiente. (MCROBERTS, 2011). Devido o baixo custo e facilidade de utilização do Arduino, é possível encontrar vários projetos que fazem seu uso, além disso, há uma vasta quantidade de componentes, sensores e shields, que ampliam as suas funcionalidades. Na Figura 1 pode ser observada a placa do Arduino UNO, uma das mais difundidas versões da plataforma.

Figura 1 Características do Arduino UNO Fonte: ROBOTIZANDO, 2014 Placa Ethernet Shield W5100 A Ethernet Shield é a placa responsável por fazer a conexão da placa Arduino com a Internet. Ela contém um circuito integrado Wiznet W5100 que fornece a camada física de rede e um número MAC (Media Access Control). (LADYADA, 2014) A placa Ethernet pode suportar até quatro comunicações de sockets simultâneas e para fazer com que haja a conexão com a Internet é preciso utilizar a biblioteca Ethernet no código fonte do aplicativo. Esta biblioteca fornece os comandos prontos para a integração entre o Arduino e a Internet de forma a simplificar muito o desenvolvimento de projetos que utilizem esta funcionalidade. Assim, é possível programar o Arduino para que funciona como um cliente de Internet e busque informações em um site específico, acesse banco de dados em nuvem, envie e-mail, entre outros. Uma grande inovação foi a última versão do Ethernet Shield possuir um slot para cartão de memória micro-sd. Com o cartão de memória é possível expandir a capacidade de armazenamento para ser usado, por exemplo, para guardar uma página de Internet ou arquivos de um servidor na rede. (LADYADA, 2014) Após conectar a rede placa Ethernet Shield, é possível saber seu status por meio de um conjunto de LED (Light Emitting Diode) presentes na placa. Na Figura 3 é possível observar esta shield.

Figura 3 Arduino Ethernet Shield W5100 Fonte: LADYADA, 2014 Linguagem de programação PHP e Banco de dados MySQL. PHP (PHP Hypertext Preprocessor) é uma linguagem de programação script de código aberto voltada para web, que tem como principal objetivo a criação de conteúdo dinâmico para paginas web, desde mais simples as mais complexas. O PHP funciona com sua execução ao lado do servidor mantendo seu código fonte escondido do internauta que verá somente o HTML que é enviado para o browser. (MELO, 2007) A linguagem PHP inclui suporte para diversos bancos de dados e uma ampla variedade de material didático e exemplos na Internet, fator que facilita muito o aprendizado e sua utilização. Banco de dados MySQL é um banco de dados amplamente utilizado na internet por grandes empresas tais como: Facebook, Google, Adobe, Alcatel Lucent e Zappos trocando grande volume de informação e operando com sistemas críticos. (MySQL, 2014). Devido a sua facilidade de integração com a linguagem PHP e a vasta disponibilidade de servidores na web com baixo custo, possui um bom número de utilizadores e muito material para aprendizado. Levantamento dos requisitos Nesta etapa de desenvolvimento é realizada a definição e análise de quais as funcionalidades pretendidas para o sistema.

De acordo com os objetivos, o sistema deve oferecer, por meio de um navegador de Internet, o controle de diversos dispositivos conectados fisicamente a um hardware na residência. Os requisitos foram definidos em três grupos: O primeiro são os requisitos gerais e outros dois de acordo com o sentido da comunicação, ou seja, do usuário para o sistema por meio do navegador de internet e do sistema para o usuário por intermédio do envio de e-mail. 1 Gerais: 1.1 Solicitar senha de acesso para controle da residência. 1.2 Permitir a instalação na residência sem a necessidade de configuração do roteador em redes com NAT (Network address translation). 1.3 Apresentar uma interface com base em ícones e botões. 1.4 Armazenar a hora atual, em banco de dados a cada 1 minuto, caso ocorra invasão na residência. 2 Comunicação do Usuário para o Sistema: 2.1 - Habilitar ou desabilitar um simulador de presença, que alterna as lâmpadas da residência a intervalos regulares, de forma a simular a existência de alguém em seu interior. 2.2 Ligar e desligar o ar condicionado para utilização em dias quentes. 2.3 Ligar e desligar o sistema de aquecimento para dias frios. 2.4 Abrir e fechar o portão da residência. 2.5 Ligar e desligar uma sirene na residência. 3 Comunicação do Sistema para o Usuário 3.1 Enviar um e-mail indicando invasão externa, ou seja, no quintal. 3.2 Enviar um e-mail indicando invasão interna na residência 3.3 Enviar um e-mail indicando incêndio na residência. Elaboração da página web Para a codificação foi utilizado o pacote USBWebServer que consiste em um sistema de desenvolvimento portátil que disponibiliza ao programador um servidor de Internet Apache, o banco de dados MySQL e a linguagem PHP, sem a necessidade de instalação. Após isso o sistema foi transferido para um servidor web gratuito na internet.

A página web em PHP, prima pela utilização de imagens e etiquetas de texto, com a finalidade de criar uma interface simples e intuitiva. Uma planta da residência é utilizada para indicar os eventos de invasão interna, externa e incêndio. Cada dispositivo possui um ícone, que indica seu status e abaixo um botão que permite sua alteração. Ao acionar um botão a informação é armazena em um banco de dados MySQL e a imagem do ícone e o texto do botão são alterados dinamicamente. Por exemplo, quando o aquecedor estiver desligado, no banco de dados é armazenada o valor 0, o ícone apresenta uma faixa vermelha e o botão apresenta o texto ligar. Ao acionar o botão é armazenado o valor 1 no banco, o ícone é alterado e o botão passa a apresentar o texto Desligar, conforme pode ser observado na Figura 4. Figura 4 Ícone de controle do aquecedor Fonte: autor Firmware do Arduino ----Em desenvolvimento Resultados ---Em desenvolvimento

Figura 5 Interface Web Fonte: autor Maquete Em desenvolvimento Figura 6 Maquete (em desenvolvimento) Fonte: autor Considerações Finais Uma das maiores dificuldades encontradas foi permitir que o sistema possa ser de fácil instalação sem a necessidade de configuração de roteadores em redes com NAT. Estas redes, muito comum em residências em que mais de uma máquina compartilha conexão com a Internet, são constituídas por uma rede local com vários números IPs (Internet Protocol) não válidos e o roteador faz o

chaveamento para que os computadores na rede local acessem a internet por um único IP válido, conforme pode ser observado na Figura X. Figura x NAT. Fonte: autor Nessas redes, uma máquina pode acessar qualquer servidor na Internet pois conhece o seu número IP, mas uma máquina na internet não pode acessar um servidor na rede local pois este não contém um IP válido. A solução encontrada foi centralizar as informações em uma página PHP na internet de forma que o usuário altere os status dos dispositivos e o Arduino acesse esta mesma página para ler estes status Fontes Consultadas ARDUINO. What Arduino can do. Disponível em: <http://arduino.cc>. Acesso em: 18 jun. 2013. MELO, Alexandre Altair de e NASCIMENTO, Maurício G. F..PHP Profissional. São Paulo. Novatec Editora, 2007. MCROBERTS, Michael. Arduino básico. São Paulo. Novatec Editora, 2011 LADYADA. Arduino Ethernet+SD.Disponível em: < http://www.ladyada.net/learn/arduino/ethfiles.html> Acesso em: 23 Jun. 2014. MySQL. Why MySQL?. Disponível em: <http://www.mysql.com/why-mysql>. Acesso em: 22 jul. 2014 ROBOTIZANDO. curso_arduino_hardware_pg1. Disponível em: <http://www.robotizando.com.br/curso_arduino_hardware_pg1.php> Acesso em: 17 Jun. 2014

SOMMERVILLE, Ian. Engenharia de Software. 8ª Ed.. São Paulo: Pearson Addison-Wesley, 2007