Automação Residencial usando PHP

Ao concluir meu curso de graduação, Engenharia da Computação, desenvolvi este projeto final. Desde que iniciei o blog me prometi postar um artigo sobre o mesmo e disponibilizar o projeto na sua integridade, então agora sim cumpro minha promessa.

Quando comecei a procurar um tema para meu projeto final, queria desenvolver algo útil. Encontrei então o projeto de Ricardo Ishida, que havia se formado na primeira turma de Engenharia, que tinha um projeto de automação residencial baseado em JAVA e em um microprocessador 8051. Já havia pensado em fazer um projeto nesta área, mas como alguem me bateu até o pote, decidi analisar o projeto e construir algo em cima dele.

Inicialmente minha decisão foi a de desenvolver uma interface Web habilitada para um browser, celular ou PDA, botando por baixo disso um motor PHP e criando uma interface intuitiva, baseada em uma navegação gráfica para melhorar o que havia sido feito. Porém ao inicar a análise verifiquei diversos problemas no projeto e alguns pontos que não haviam sido implementados, sendo apenas “teóricos”. Isto apresentou um problema para minha etapa de testes então parei, olhei e pensei…

“Porque usar tudo isso? eu consigo criar um sistema super-simples e funcional com o PHP e outras linguagens Open source, dessa forma vou ter um produto barato e acessível, e ajudo a mostrar as diversas funções do PHP.”

Então meu projeto começou a tomar forma, com um pouco de insistência de meu orientador decidi botar a mão na massa do hardware, além do software, e com isso logo indiquei que precisaria de um ano, e não seis meses, e comecei a longa estrada para desenvolver este projeto que estou disponibilizando.

O projeto nasceu e teve a vida de projeto, começou com um problema, passou por uma forte análise e por fim foi implementado, como pode ser observado na monografia que escrevi. Parte disso é o motivo pelo qual hoje estou cursando um MBA em Projetos, pois o desenvolvimento e gerencia de projetos realmente me atrai muito.

É possível automatizar uma casa com PHP?

E porque não? Se pensarmos na estrutura de um servidor web e de uma solução de automação a única dificuldade neste sistema seria a localização de um servidor web dentro da residência, e isso não é difícil, vendo que muitas pessoas já o fazem. Justificando a escolha do PHP analisei suas vantagens e desvantagens, desde sua interação, performance e outros aspectos. Comparei minha solução com dois projetos, o que foi mencionado anteriormente, em java, e outro baseado em um artigo da php|arch, chamado PHP at Home. Este segundo projeto utiliza componentes já prontos e estabelecidos nos EUA, provendo apenas uma interface movida a PHP. Analisando os dois determinei a estrutura do meu projeto, que é demonstrada na imagem abaixo

Esquemático de comunicação

Desta forma desenhei três interfaces em templates Smarty, uma para cada ambiente. O Core do sistema foi criado em PHP com MySQL aliados a scripts em C que interagiam com o circuito, desenvolvido na sua forma mais simples possível, sem contar com nenhum processador, apenas componentes de CI.

Para a apresentação final na banca, montei uma simples maquete onde meu sistema controlava duas lâmpadas, como se estivessem posicionadas em uma casa qualquer. Para o melhor entendimento na banca, e para poder apresentar todos os detalhes do sistema, por elementos, criei a imagem abaixo e usei ela como mapa para a apresentação.

Visão Geral do Projeto

Esta foi usada também para apresentar uma visão geral de todo sistema:

Visão Geral dos sistemas

A apresentação provou que minha hipótese era verdadeira, e o sistema viável. Em termos de custo um circuito para operar 4 lâmpadas custa em torno de R$ 50, o softwares são todos gratuitos, e os únicos outros custos são a própria máquina, e um link com a internet.

Desde então tive notícia e contatos de dois projetos que estenderam as funcionalidades do sistema, mas claro o próprio projeto já foi desenvolvido com sugestões de melhorias que poderiam ser feitas em projetos posteriores, veja o trecho da monografia:

Para possibilitar a aplicação comercial deste produto, as perspectivas de melhorias são:

  • O desenvolvimento de novos periféricos de ação baseados na estrutura disponibilizada. Desta forma será possível controlar outros elementos como portas, janelas, equipamentos de ar condicionado entre outros.
  • A aplicação de novos componentes que possam aumentar a distância máxima de oito metros do cabo de comunicação com a porta paralela.
  • Aumentar o limite de endereçamento de periféricos.
  • Desenvolver módulo de software responsável por acionamento programado(baseado em horários) de periféricos.
  • Implementar medidas de segurança garantindo uso apenas pelo proprietário da residência.
  • Desenvolver um hardware que permita o sistema verificar erros de ligações rompidas ou lâmpadas queimadas, evitando falsos positivos.
  • Analisar sugestão da banca de utilizar um decodificador no lugar do módulo de endereçamento.

Se estiver interessado em conhecer mais do projeto, baixe aqui a monografia e aqui os slides da apresentação

Update: Código Fonte - Projeto Final de Graduação (prova de conceito) - veja este post

Apresentação para a Banca Circuito quase finalizado

comments powered by Disqus

Related Posts

Um estudo em RSS Parte 3: Publicando seu feed

Um estudo em RSS Parte 3: Publicando seu feed

  • September 7, 2006

Nos últimos posts aprendemos o que é um Feed RSS, como surgiu, qual é sua cara e como ler suas informações. Agora chegou a hora de juntar tudo isso e descobrir como criar um RSS do seu site, publicando as suas notícias para que todos possam conferir.

O cenário de testes que vou propor se tratará de um site simples de notícias, por exemplo, um site corporativo que deseja divugar as novidades sobre sua empresa ou ramo. Vamos detalhar a base de dados e mostrar de forma geral como transformar os dados da tabela em um feed RSS atualizado.

Read More
Como escrever artigos técnicos (melhores) em 10 passos

Como escrever artigos técnicos (melhores) em 10 passos

  • September 27, 2011

Blogs. A internet nos últimos anos tem visto o crescimento disparado destes sites, desde o desenvolvedor que escreve no finais de semana até o colunista que ganha para fazer isso.

Read More
Pequenas mudanças

Pequenas mudanças

  • August 23, 2008

Caro leitor frequente, Você que acompanha este blog desde seu início, em 2006 percebeu que ele sempre rondou em torno de assuntos web, mas sempre com um foco em PHP.

Read More