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

40 comentários sobre “Automação Residencial usando PHP

  1. 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. 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. 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. Muito obrigado pela disponibilidade, estou baixando-os agora, desejo-lhe muito sucesso e paz.

  5. 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. 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. 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

  8. 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.

  9. Alexandre,

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

    Abraços

  10. 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

  11. 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

  12. 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?

  13. 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

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

  15. 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

  16. 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é

  17. 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

  18. 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.

  19. 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.

  20. 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

  21. 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

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

    abraços

  23. 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!

  24. 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!

  25. 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!

  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

  27. Bom dia Rafael,

    Como todos acima achei excelente seu trabalho e gostaria de colocá-lo em prática. Já estou com uma parte da estrutura física pronta e me facilitaria MUITO teu codigo fonte. Tem como enviá-lo por email ? Seguindo as regras da “Creative Commons” te citarei mantendo suas notas e posteriormente divulgarei o projeto montado.

    Aguardo teu retorno.

    Att., Daniel

  28. Olá Rafael,

    Me formo esser ano em mecatrônica e estou sem nenhuma idéia para meu TCC, achei muito interessante sua monografia, sera que poderia me mandar ela na integra para eu dar uma olhada.

    Obrigada

  29. Thaise,

    No final do post, logo antes das fotos voce pode achar os link para baixar a monografia, os slides da apresentação e o código fonte do site. Isso é a monogrfia em sua integra, como foi publicada na apresentação.

    Abraço

  30. OLá Rafael,

    Não consegui fazer o download de seus arquivos…. será que poderia me enviar por email???? .. estou cursando o 4ano de Eng. Elétrica e preciso apresentar uma proposta de TCC e quando vi o achei ótimo!!!!!

    Um abraço!!!!
    Se puder me add no msn.. juninho_dellarosa@hotmail.com..!!!

  31. Boa noite Chara,

    ADOREI seu projeto, realmente muito bom, tanto que pretenso usa-lo em dois TCC de escolas que faço, SENAI e ITB, só tenho duvidas quanto as norma da Creative Commons, como funciona?

  32. parabéns pela iniciativa seria pouco, mas vou moderar…
    heis um verdadeiro Jedi da net !!!
    são pessoas como você que fazem da net um free surf cultural e radical !!!!!!!!!
    vou estudar seu projeto, seu eletrotécnico mas achei super interessante !!!
    tudo de bom e até a próxima!!

Os comentários estão desativados.