O jHome Automation é uma plataforma completa para automação residencial e de ambientes em geral. O projeto é resultado de uma série de pesquisas e investimentos que a Globalcode tem feito desde 2008, junto com a explosão do Arduino e de plataformas de hardware open-source para prototipagem eletrônica. Apesar de ser possível com o jHome montar um projeto completo de automação de uma casa, até mesmo competindo com produtos já consagrados no mercado, a proposta do jHome é ajudar principalmente em automações pontuais, em casas / ambientes que não foram projetados para receber automação. E tudo isso alinhado com a idéia do faça você mesmo, em uma plataforma aberta onde você não ficará preso a um fabricante de equipamentos. Gostou? Vamos nessa!
O jHome esta sob licença GPL o que garante a você 4 liberdades básicas:
Portanto lembramos que qualquer projeto que for desenvolvido com o jHome ou baseado no jHome deverá ser open-source também!
A licença do jHome não permite que você se apodere do código-fonte e redistribua como seu!
Automação residencial é um mercado em amplo crescimento e a cada ano com mais e mais opções e custos mais acessíveis. Acreditamos que o eletricista de hoje será o especialista em automação amanhã, o eletricista 2.0. O mercado está repleto de soluções proprietárias com equipamentos fechados e muitas vezes até mesmo protocolos proprietários. Por este caminho os especilistas em automação enfretarão problemas para poder dominar os diversos produtos do mercado. A proposta do jHome é diferente: queremos estabelecer um padrão aberto, com informações acessíveis, que trabalhe com múltiplos protocolos, código-fonte e esquemáticos abertos e com múltiplos fabricantes de equipamentos.
Existem dois padrões bastante conhecidos no mercado:
Ambos os padrões são relativamente caros no Brasil, sendo que contamos com opções mais viáveis de tecnologias nacionais:
E finalmente podemos falar do nosso mercado: faça você mesmo! Esse mercado é conhecido nos Estados Unidos pela abriação DIY: Do It Yourself e tem se tornado um hobie para muitas pessoas no mundo todo. Melhor que ter sistema de automação, é ter instalado você mesmo conhecendo as peças eletrônicas e suas funções. Facilmente podemos comprar todo material necessário via internet em lojas nacionais, internacionais e também no Mercado Livre.
As instalações de automação tipo faça você mesmo / DIY, geralmente utilizam as seguintes tecnologias:
É importante que você tenha habilidades com rede elétrica residencial, diferenciando fase, neutro e terra. Conhecimentos de eletrônica e programação também são indispensáveis. Se você não tem todas essas habilidades, não fique inseguro, a idéia do faça você mesmo é aprender coisas novas totalmente na prática. O projeto jHome, juntamente com nossos kits, permite que qualquer um que tenha habilidades no computador consiga fazer a instalação do equipamento e controlar tomadas a partir de um computador ou celular. A medida que aprender mais, poderá mudar o código, personalizar nomes e adicionar novos equipamentos no seu sistema.
São inúmeras automações que podem nos ajudar no dia-a-dia e o primeiro passo é avaliar nosso objetivo, ambiente e tipo de conforto que buscamos colocando sempre em contra-partida o custo de desenvolvimento e dificuldade de implantação do sistema.
Acredito que primeiro passo é sempre o controle de uma lâmpada / tomada, mas vejamos a seguir uma lista de itens possíveis de automatizarmos:
Vamos dizer que esta lista é o básico. Existe muito mais que podemos fazer além de automação da nossa casa, podemos pensar em uma horta que é irrigada automaticamente, automatizar produção de cervejas caseiras e idéia que vão além como móveis que andam, luzes com eixo de movimentação, sofas inteligentes, etc.
O jHome Automation é uma plataforma que esta dividida entre os seguintes componentes:

O jHome pode trabalhar com diferentes arquiteturas e meios de comunicação. Vamos apresentar aqui algumas possibilidades e suas vantagens.
O jHome é baseado na plataforma Arduino, portanto você precisará, no mínimo, de um controlador Arduino para começar seu projeto de automação. Nós utilizamos o Program-ME, que é 100% compatível com Arduino e tem a vantagem de embarcar vários componentes on-board como transistores, ponte H, leds, speaker, botão e sensores de luz e temperatura. Tudo que fazemos com Program-ME você pode fazer com Arduino, porém será necessário utilizar uma protoboard, fios e eventualmente fazer alguma soldagem.
A lista mínima de recursos para iniciar seu projeto é:
Com este conjunto de material você poderá usar os serviços do jHome com a placa conectada via USB. A vantagem desta abordagem é o custo porém a confiabilidade da comunicação permanente em projetos e instalações reais com USB é baixa. Recomendamos utilizar comunicação jHome via USB para prototipagem e desenvolvimento.
Para projetos e instalações reais do jHome recomendamos o uso de um shield (placa adicional que pode ser plugada por cima do Arduino) Ethernet. A versão atual do jHome é baseada em shields Arduino que utilizam o chip ENC2860, que é a versão mais simples e de menor custo.
Vamos apresentar agora as opções de arquitetura de comunicação entre o servidor jHome e os devices.
Esta é a arquitetura mais comum para instalações reais do jHome. Ela utiliza uma placa controladora com um shield para Ethernet, assim conseguimos liga-la no roteador de internet tornando a comunicação simples e eficiente.
Esta arquitetura é mais básica e não requer roteador nem shield para ethernet. É bem útil para desenvolvimento e prototipagem porém não é recomendada para instalações permanentes pois a comunicação USB / Serial é bem menos confiável que via ethernet.
É possível se comunicar com devices via bluetooth. Para isso basta comprar um módulo bluetooth para seu Arduino / jHome Device e usar exatamente o mesmo código da comunicação via USB, ou seja, a comunicação via USB ou via bluetooth utilizam as mesmas API's pois ambas trabalham serial via pinos de RX / TX da sua placa.
Em ambientes residenciais vamos provavelmente querer controlar múltiplos ambientes. A primeira opção que temos é ter múltiplos devices jHome, cada um com seu shield ethernet e ligado no roteador. Isso não vai requerer grandes configurações, porém vamos imaginar que queremos ter outros devices em ambientes onde não queremos ou podemos cabear rede. Para esta situação podemos ter devices em arquitetura de master-slave se comunicando sem fio conforme arquitetura abaixo:
O mínimo necessário para trabalhar com jHome na arquitetura USB é:
Para arquitetura ethernet:
Uma vez que o jHome trabalha com a plataforma Arduino, centenas e centenas de componentes eletrônicos podem ser ligados no seu sistema de automação:
Agora vamos seguir passo-a-passo para instalar o jHome na sua placa e também no seu computador. Você vai precisar dos seguintes softwares:
Instale o JDK no seu sistema operacional em seguida o Arduino e Glassfish. Não é nosso foco ensinar a instalação passo-a-passo desses softwares, além de ser fácil instalação (todos possuem guias wizard de instalação), na internet existem documentações específicas disponíveis para cada sistema operacional.
Descompacte o arquivo jhome-arduinolib-0.1BETA.zip no diretório libraries do local de instalação do seu Arduino. Vejamos no exemplo abaixo que instalamos o Arduino em /arduino/arduino1.0
Agora que você instalou a biblioteca do jHome no Arduino, estamos pronto para subir nosso primeiro código jHome para a pĺaca controladora que vamos utilizar. Inicie o Arduino e em seguida, selecione File -> Examples -> jHome -> starterkit
Você terá um código como este na sua tela:
O endereço IP padrão é 192.168.1.15, mas caso queira mudar o endereço da rede / computador, basta alterar esta linha de código:
É importante que você escolha a placa certa no menu Tools -> Board. As placas dos kits Elétron Livre / Globalcode são compatíveis com o modelo Arduino Duemilanove w/ Atmega328
Ainda não é o nosso foco explicar detalhadamente este código, embora se você ler o código vai entender com bastante facilidade. Vamos por enquanto apenas fazer o upload do código para nossa placa, para isso clique em File -> Upload ou aperte as teclas CONTROL + U.
Certifique-se no final da tela do Arduino que você tenha a mensagem "Done uploading.". Caso tenha uma mensagem de erro, verifique se você selecionou o tipo correto de Arduino e tente novamente.
Vamos mostrar aqui o esquema de ligação dos componentes que estão inclusos no jHome Starter Kit. Você pode adaptar os mesmos esquemas que apresentaremos para usar sua própria placa Arduino, relé e sensores.
Vamos trabalhar com os seguintes componentes:
Se você estiver usando Arduino convencional e não o Program-ME, você precisará de 3 transistores para os leds RGB, 1 relé com transistor e diodo de proteção e corrente reversa, um sensor LDR 8mm e um LM35. É interessante usar uma protoboard e neste caso se não tiver uma placa de relé pronta, utilizar relé com 4 terminais para que você consiga encaixar na protoboard. Mas cuidado com tensão alta em protoboard!
O Program-ME v2.0 contém diversos componentes on-board que podem ser ativados ou desativados através de seus jumpers. Utilizaremos os transistores, speaker, botão e ambos sensores de luz e temperatura e para isso devemos deixar apenas os jumpers desses componentes na placa pois as demais portas serão utilizadas pelo shield ethernet e relés.
Os seguintes pinos serão utilizados:
Devemos retirar os jumpers das portas 7,8, 10, 11, 12, 13. Sua placa deve ficar da seguinte forma:
Devemos configurar também para o Program-ME v2 se alimentar da fonte 12 volts:
Agora cuidadosamente encaixe o shield ethernet no Program-ME:
A placa tomada será primeiramente ligada somente no Program-ME para controlarmos os relés, mas por enquanto sem nada efetivamente ligado na tomada dela. Vamos precisar ligar as conexões em GND, Vin, digital 7 e 8:
Agora temos tudo praticamente configurado para ligarmos o Program-ME no roteador para testes. Vamos finalizar fazendo esta ligação:
Agora vamos abrir um navegador da internet e checar o funcionamento do jHome. Digite no navegador o IP atribuido para seu jHome, por padrão 192.168.1.15
Como resultado podemos observar a String de identificação do jHome. Agora digite as seguintes URL's e observe o resultado:
É muito importante ter o máximo de cuidado para esta operação e recomendamos o trabalho em duplas quando não tiver experiência. Para ligar a placa Tomada na nossa rede elétrica temos que basicamente passar uma das fases pelo relé, desta forma o relé poderá ligar e desligar esta fase.
Abaixo disponibilizamos a documentação completa da placa tomada, leia atentamente e tome muito cuidado ao testar.
Para ligarmos a fita de leds no Program-ME é muito simples pois já contamos com transistores de potência PWM para comandar a corrente elétrica que será enviada para cada uma das cores: red, green e blue. Com isso podemos gerar centenas de possíveis cores combinando intensidade de 0 - 255 em cada uma das cores.
Vamos utilizar as entradas laterais do nosso Program-ME conectando a interface da fita de leds RGB na placa conforme imagem:
A ligação é de baixo risco, se ligar algo errado não vai queimar, apenas não funcionará! Tecnicamente estamos ligando o RED no transistor da porta digital 9, GREEN no transistor da porta digital 5 e finalmente o BLUE no transistor da porta digital 4.
Ligue novamente seu equipamento e vamos testar a fita de leds acionando as seguintes URL's:
Simplesmente informe a cor e uma intensidade de 0 a 255 na URL e divirta-se!