January 18th 2007 06:05 pm

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

Apresentação para a Banca  Circuito quase finalizado

1 Star2 Stars3 Stars4 Stars5 Stars (17 votos, média: 4.53 de 5)
Loading ... Loading …

32 Comments »

32 Responses to “Automação Residencial usando PHP”

  1. Felipe Ferreri Tonello on 20 Jan 2007 at 11:56 #

    Opa tudo bem?

    Gostei muito do seu projeto!! ficou muito bom e muito bem documentado.. Porque não disponibilizar no sourceforge.net ou no codigolivre.org.br? hehe

    Eu também fiz um projeto de automação residencial.. só que de conclusão de curso técnico…
    desenvolvemos em Java, PHP, algumas coisas em C e usamos MySQL como banco de dados..

    Entre no meu blog e vá na tag “Tecnotel”…
    O projeto ja foi concluido mas não disponibilizamos muitas documentações, o que poderia ser uma boa..

    http://www.sourceforge.net/projects/tecnotel
    http://www.codigolivre.org.br/projects/tecnotel

    Abraços

  2. Erick on 28 Jan 2007 at 17:41 #

    Olá Rafael, eu tentei baixar sua monografia e os slides mas eu não consegui completar o download. Dê um olhadinha aí. Estou usando o Opera 9 Build 8701.

  3. Rafael Dohms on 29 Jan 2007 at 9:27 #

    Erick,

    Subi os arquivos novamente pois a atualização do WP tinha quebrado os downloads. Fiz um teste aqui com o fireFox e consegui completar o download sem problemas.
    Caso tenha dificuldades ainda, me mande um email que te envio o arquivo por email.

    abraço

  4. Erick de Oliveira Leal on 31 Jan 2007 at 22:09 #

    Muito obrigado pela disponibilidade, estou baixando-os agora, desejo-lhe muito sucesso e paz.

  5. Eduardo Folly on 09 Feb 2007 at 15:44 #

    Parabéns!! Excelente projeto. Estou desenvolvendo um projeto parecido utilizando tecnologias open source. Gostaria de compartilhar experiências. Você utilizou programas em que linguagem para a comunicação com a porta paralela? O projeto inicial possui a interfaces para PDA e WAP? Caso tenha sido implementada a interface em PDA qual tipo q foi utilizado, Pocket Pc ou Palm? Aguardo seu contato e acredito que possamos nos aprofundar bastante sobre este assunto. Abraço. Eduardo.

  6. Rafael Dohms on 09 Feb 2007 at 15:56 #

    Eduardo,

    O projeto é todo detalhado na monografia, que esta ai para o download, incluindo todos os softwares e tecnologias.

    Utilizei um programa em C para comunicar com a paralela. E sim, o sistema conversa com celulares e PDA’s, sendo que foi testado com um Simulador de PDA da Palm, o Cobalt se nao me engano, e um simulador de celular OpenWare (eu acho).

    Fique a vontade para baixar a monografia e conhecer o projeto, qualquer dúvida pode mandar.

    Abraço!

  7. Rafael Dohms on 10 Feb 2007 at 23:54 #

    teste

  8. Felippe on 22 Feb 2007 at 14:54 #

    teste.

    bom demais.. isso é pra provar o potencial do php.

    gostei, da pra fazer algo muito mais util do que os progamas atuais porque pode ser acessado via web. pronto.. como tudo anda em direção a wweb… vc vai ficar rico vendendo algo do tipo.

    abraços

  9. Alexandre on 02 Mar 2007 at 11:37 #

    Olá Rafael, tudo bom?
    Gostei do seu projeto e estou interessado em saber como foi feita a parte de comunicação entre o celular e o servidor? Você desenvolveu algum aplicativo para o celular?
    Abraços. Brandt.

  10. Rafael Dohms on 02 Mar 2007 at 11:42 #

    Alexandre,

    Mantive a comunicação simples, desenvolvi uma interface em WAP, textual mesmo.
    Você pode ver no final da monografia alguns screenshots.

    Abraços

  11. cleber on 03 Mar 2007 at 15:47 #

    Rafael;

    Boa tarde;

    Eu e mais dois amigos estamos finalizando o curso técnico de automação e controle, vimos o seu projeto e gostariamos de apresenta-lo como projeto final de curso, o nosso problema é o pouco conhecimento em PHP e sql, gostaríamos de sua ajuda se possível nos enviar algum material. Desde já agradecemos.

    Aguardamos resposta

    SDS

    Cleber, Edivaldo e Jadir

  12. Rafael Dohms on 05 Mar 2007 at 15:31 #

    Cleber,

    O material esta disponível para download no final do post, só resalto sua licença Creative Commons. Podem utilizar o material, sitando a fonte e compartilhando o resultado depois.

    Abraço

  13. jefferson on 13 Mar 2007 at 11:36 #

    Achei muito interessante!
    pensando en desenvolver como projeto!
    poderia me ajudar?
    msn:jesurfista@hotmail.com
    des de ja agradeco!
    Gostaria de algumas ajudas!
    Pensando em desenvolver pra testes!
    Poderia me ajudar?

  14. Ediamr Gusmao on 20 Mar 2007 at 23:42 #

    Simplesmente Mto bom seu TCC cara

    PARABÈNS!!!

  15. dlachi on 29 Mar 2007 at 10:23 #

    Rafael,
    Seu projeto ficou muito interessante, pretendo fazer algo parecido. Axo que podemos trocar algumas idéias.
    Caso esteja disposto e tenha interesse é só entrar em contato.

    Parabéns pelo projeto!!

    Agradeço desde já.

    Daniel

  16. Tiago on 18 Apr 2007 at 20:12 #

    O programa parece espétacular, voçê não poderia enviar-me por email o programa?ou colocar na internet para download? Boa sorte

  17. Rafael Dohms on 18 Apr 2007 at 23:03 #

    Dlachi,
    Sinta-se a vontade de me contctar se tiver alguma duvida, ou se quiser alguma opinião.

    Tiago,
    O sistema é bem simples e depende muito do circuito, por isso não foi disponibilizado, mas a receita de bolo esta toda na monografia, circuito e sistema.

    Abraço

  18. André da Cunha Roussey on 23 Apr 2007 at 21:25 #

    Rafael,
    eu sou aluno de engenharia elétrica na UFES e estava pensado em fazer o meu projeto de graduação sobre um sistema parecido com o seu usando um pda…eu gostaria, se não for muito incômodo que você entrasse em contato por email ou me passasse o seu email paraa que eu possa pedir algumas dicas e sugestões.
    obrigado

    André

  19. Guilherme on 09 May 2007 at 18:42 #

    Rafael, trabalho com automação; qual seu contato? Em que cidade mora?

  20. Lucas on 28 May 2007 at 19:31 #

    Rafael, pretendo alterar alguns itens do seu codigo para uma aplicação que pretendo construir. Já li toda sua monografia e realmente ela é muito detalhista. Porém, para uma pessoa que não tem tanta experiência em programação quanto você, ainda restam algumas dúvidas. Gostaria de saber se tem como você me mandar via e-mail o código-fonte de seu projeto. Grato

  21. Mauro Delazeri on 08 Jun 2007 at 12:33 #

    Eaee Rafael gostei muito de seu trabalho parabéns pela iniciativa por aderir a cusa do código livre admiro muito pessoas com a sua indole…bom se possivel você poderia mandar o código fonte pra mim por e-mail gostaria de analizar e talvez fazer algumas alterações depois mando de volta para ver o que você axa…
    Bom c tiver tempo agradeço!
    Um grande abraço irmão.

  22. Fernando Blomer on 09 Aug 2007 at 23:57 #

    Cara seu tcc é show…. estou elaborando o meu tb e irei tomar o seu como base para aprimoralo…….. por um acaso vc naum poderia disponibilizar os arquivos php… me add no msn fernandoblomer@hotmail.com

  23. Deisi Yuri Inoue on 20 Aug 2007 at 11:34 #

    Olá Rafael.
    Estou cursando Eng. da Computação e estou iniciando o projeto de TCC, e pretendo fazer na area da DOMOTICA, gostei muito da sua monografia, e estou realizando pesquisas para tentar desenvolver algo parecido. Gostaria se possivel de mais informações de como realizar a comunicação do server com os periféricos, se puder me dar uma ajuda ficarei muito grata. Meu email deisi.yuri@gmail.com.

  24. JULIO CESAR NOGUEIRA LOPES on 21 Aug 2007 at 14:28 #

    camarada, teu projeto é excelente.
    faço arquitetura e vejo agora automação, gostaria de saber custos
    pra poder desenvolver alguma coisa ou passa para cliente.
    poder ver isso pra mim.
    abraços.
    JCN

  25. Terence on 04 Sep 2007 at 13:31 #

    Rafael, gostaria de conversar com você sobre este projeto. Tenho interesse em contratar seu desenvolvimento. Peço que me contate pelo email.

    Abraçøs,

    Terence

  26. Guilherme Marques on 19 Sep 2007 at 16:46 #

    Nossa cara!
    Parabens!Muito bom este projeto seu!
    Vou estudar esta “apostila” sua aqui cara, por que achei fantastico.

    abraços

  27. Ana Carla on 22 Jan 2008 at 19:19 #

    Olá Rafael, gostei muito do seu trabalho, estou iniciando meu tcc nessa área, ainda tenho 1000001 dúvidas.
    Se puder me add no msn (anacarla1803@hotmail.com) para uma troca de experiências, eu agradeço muito.
    Um abraço e muito sucesso pra ti!

  28. Enio on 04 Mar 2008 at 19:13 #

    Que apostila se tiver me manda aew tb! Parabéns

  29. FightSurf George Maia on 28 Mar 2008 at 2:39 #

    Parabéns pelo projeto amigo. Estou fazendo a mesma coisa que o sr fez, mas em java, implementando algumas modificações em comparação ao seu projeto. Por exemplo, a base de dados. Comercialmente não seria possível o sr distribuir a aplicação usando mysql. Apesar dele ser gpl, a lincença dele não permite isto. Tem-se que adquirir uma licença de mais ou menos 200 dólares.. Já migrei o meu projeto para postgree e ficou muito bom! Minha sugestão fica aqui, se for colocar o projeto adiante.
    Um forte abraço!

  30. Paulo Arthur Venturi on 10 Apr 2008 at 14:45 #

    Fala ae FightSurf George Maia, cara estou começando meu projeto e vou implementar utilizando java tambem. Gostaria de pegar seu msn para trocarmos ideias. Se possivel me mande um e-mail paulo.venturi@gmail.com ou me add no msn paulo.arthur@terra.com.br

    vlw ae t+

  31. Cristian Franca on 12 Aug 2008 at 16:11 #

    Olá Rafael!!
    muito show seu projeto, estamos tentando montar seu projeto, e apresentar em uma feira que vai ter em Santa Maria - RS, presisariamos de alguma ajuda sua, ou ate mesmo contratar seu serviço, entre em contato com meu amigo André Sartori, pelo email ou msn sartori@promitos.com.br, ou no meu email mesmo, estamos tentando montar o projeto juntos!

  32. Julio Cesar Rodrigues de Melo on 01 Jan 2009 at 20:26 #

    Olá Rafael, primeiramente o trabalho apresentado está muito bom, eu estou terminando meu curso de engenharia de automação, e estou com intuito de produzir um sistema de automação na minha casa, estou realizando varias pesquisas sobre controles RF e através de web site.

    Ao ver este material, fiquei admirado, pois está totalmente englobado na idéia que tenho para minha casa. Bem eu gostaria de sua ajuda em como eu consigo o RemHome para que eu possa moldá-lo para o projeto em que eu estou planejando.

    Obrigado e parabéns

Trackback URI | Comments RSS

Leave a Reply

« errorHandler: Gerenciando erros | 2007, novidades e o futuro »