Introdução ao OpenHAB Home Automation no Raspberry Pi

Introdução ao OpenHAB Home Automation no Raspberry Pi
Este guia está disponível para download em PDF gratuito. Baixe este arquivo agora . Sinta-se à vontade para copiar e compartilhar com seus amigos e familiares.

O OpenHAB é uma plataforma de automação residencial de código aberto madura que roda em uma variedade de hardware e é independente de protocolo, o que significa que pode se conectar a quase qualquer hardware de automação residencial no mercado hoje. Se você está frustrado com o número de aplicativos específicos do fabricante que precisa para executar apenas para controlar suas luzes, então tenho uma ótima notícia para você: OpenHAB é a solução que você está procurando - é a casa inteligente mais flexível hub que você nunca encontrará.





Infelizmente, é o mais longe que você pode chegar de amigável para o consumidor - mas, como sempre, é onde MakeUseOf entra: nós mostraremos como começar a operar com o sistema doméstico inteligente definitivo que o dinheiro não precisa comprar (porque OpenHAB é 100% gratuito - basta fornecer o hardware).





A primeira parte deste guia se concentra especificamente em como obter a configuração do OpenHAB com um Raspberry Pi 2 , mas mais adiante, os tutoriais e conselhos podem ser aplicados a qualquer lugar que o OpenHAB esteja instalado.





Este guia cobre três tópicos introdutórios e um um pouco mais avançado.

  • Colocando o OpenHAB em funcionamento no Pi e instalando a configuração da casa de demonstração para verificar se os sistemas centrais estão funcionando.
  • Como adicionar ligações e perfis para dispositivos. Vou trabalhar com a Philips Hue.
  • Habilitando o acesso remoto e conectando-se ao IFTTT.
  • Adicionando um sensor de presença DIY usando Bluetooth e uma introdução à interface REST.
  • Configurando o aplicativo móvel OpenHAB.

O que você precisará

No mínimo, você precisará de um Raspberry Pi (v2, de preferência) e um adaptador Ethernet ou sem fio (Ethernet de preferência, este guia não incluirá instruções sobre como fazer seu adaptador Wi-Fi funcionar). Todo o resto é opcional. Observe que o OpenHAB será executado no Raspberry Pi original também, mas há um problema conhecido com processamento mais lento e dispositivos Z-Wave. Se você não precisa do Z-Wave, pode ignorar esse aviso com segurança e ir em frente com um Raspberry Pi modelo B ou B +, porque tudo o mais parece funcionar bem. Você sempre pode atualizar para o Pi mais recente se e quando adicionar Z-Wave.



Esta pequena coisa pode ser o melhor hub de casa inteligente que você já teve!

No momento em que este artigo foi escrito, a versão estável mais recente do OpenHAB é a 1.71; a versão 1.8 é esperada em breve e tudo neste guia ainda deve ser relevante, embora algumas ligações possam ter mais recursos. A versão 2 também está disponível como uma prévia alfa inicial, mas adota uma arquitetura dramaticamente diferente da série OpenHAB 1: este guia não é compatível com a versão 2.





Eu sugiro fortemente que você siga este guia lenta e metodicamente - não tente pular no fundo do poço e adicionar tudo de uma vez. Sim, é um guia longo - o OpenHAB é um sistema difícil que geralmente requer ajustes para as suas necessidades, e a melhor maneira de garantir o sucesso é trabalhar devagar e concluir uma peça de cada vez.

A boa notícia é que, uma vez funcionando, é uma experiência sólida e incrivelmente recompensadora.





Instalando OpenHAB

Não há imagem pré-configurada para OpenHAB, então a instalação é feita da maneira antiga por meio de uma linha de comando. Eu sugiro que você trabalhe sem cabeça no RPi - a sobrecarga de gerenciamento de uma GUI que você raramente usará não vale a pena.

Comece com o imagem SD Raspbian mais recente (completa) (não a versão 'lite', não inclui a máquina virtual Java). Conecte o cabo de rede, inicialize e navegue pelo SSH. Corre:

sudo raspi-config

Expanda o sistema de arquivos; e no menu avançado, altere a divisão da memória para 16. Quando terminar, reinicie e, como prática recomendada, execute uma atualização completa

sudo apt-get update
sudo apt-get upgrade

A maneira mais fácil de instalar o tempo de execução do OpenHAB é via apt-get , mas primeiro precisamos adicionar uma chave segura e o novo repositório:

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' |sudo apt-key add -
echo 'deb http://dl.bintray.com/openhab/apt-repo stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab-runtime
sudo update-rc.d openhab defaults

Curiosamente, tudo foi instalado como propriedade do 'root'. Precisamos consertar isso com os seguintes comandos.

sudo chown -hR openhab:openhab /etc/openhab
sudo chown -hR openhab:openhab /usr/share/openhab

Em seguida, instalaremos o Samba e compartilharemos as pastas de configuração e de usuário - isso tornará mais fácil instalar add-ons e alterar o mapa do site remotamente.

sudo apt-get install samba samba-common-bin
sudo nano /etc/samba/smb.conf

Altere o nome do grupo de trabalho, se necessário, mas ative o suporte WINS:

wins support = yes

(você precisará remover o comentário da linha e alterar não para sim)

em seguida, adicione o seguinte à seção de definições de compartilhamento (role até o final do arquivo longo):

[OpenHAB Home]
comment= OpenHAB Home
path=/usr/share/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no
[OpenHAB Config]
comment= OpenHAB Site Config
path=/etc/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no

Eu também comentei a seção Impressoras. Fiz dois compartilhamentos, já que os arquivos de configuração são armazenados separadamente dos add-ons.

Salvar e sair. Finalmente precisamos definir uma senha do Samba para o usuário openhab:

sudo smbpasswd -a openhab

Eu sugeriria 'openhab' como senha apenas para facilitar o uso, mas isso realmente não importa.

Graças ao leitor David L - parece que o método de reiniciar o Samba mudou no último Raspian. Aqui estão as instruções atualizadas:

sudo update-rc.d smbd enable
sudo update-rc.d nmbd enable
sudo service smbd restart

Depois de reiniciar o Samba (as instalações mais antigas usam reinicialização do samba de serviço sudo ), teste se você pode acessar o drive compartilhado. Pode não ser descoberto automaticamente em um Mac; mas você pode usar o Localizador -> Ir -> Conecte-se ao servidor e o endereço

smb://openhab@raspberrypi.local

Autentique com o nome de usuário openhab e a senha escolhida, em seguida, abra seus dois compartilhamentos para dar uma olhada. Você deve conseguir abrir http: //raspberrypi.local: 8080 / em seu navegador da web, mas verá um erro porque ainda não criamos um mapa do site. Isso é normal.

Agora seria uma boa hora para aprender o comando para seguir o log do OpenHAB para que você possa ficar de olho nos erros.

tail -f /var/log/openhab/openhab.log

Mantenha-o em execução e aberto em uma janela SSH separada o tempo todo, enquanto você continua com o guia.

Instale a Casa de Demonstração

Antes de nos aprofundarmos nos meandros dos arquivos de configuração, adicionando dispositivos e ligações etc; vamos verificar se tudo está funcionando adicionando o conteúdo de demonstração. Você encontrará 'Demo Setup' na seção de downloads do OpenHAB.org.

Depois de descompactá-lo, há duas pastas: addons e configurações .

Usando os compartilhamentos de rede, copie configurações ao OpenHAB Config compartilhar e sobrescrever a pasta existente. cópia de addons para o outro OpenHAB Home compartilhar, novamente, sobrescrevendo as pastas existentes. Se você não for solicitado a substituir algo, você está fazendo isso errado. Se você estiver de olho no arquivo de log de depuração, deverá ver uma agitação de atividade à medida que ele percebe as novas ligações e entra em ação. Abra raspberrypi.local: 8080 / openhab.app? Sitemap = demo para ver a demonstração.

É um pouco básico no momento, mas a natureza aberta do OpenHAB significa que podemos instalar um novo tema adorável mais tarde ou uma interface totalmente alternativa. Por enquanto, só precisamos saber se está tudo funcionando. Observe que o que estamos vendo é chamado de Mapa do site (nada a ver com um mapa do site). Um mapa do site descreve a interface do usuário - não os dispositivos reais em sua rede ou sensores - apenas a interface para visualizá-los. Cada parte é completamente personalizável. Para dar uma olhada em como este foi criado, abra o sitemaps / demo.sitemap arquivo no compartilhamento OpenHAB Config.

É muito assustador, mas na maior parte você copiará e colará fragmentos de código de exemplos em outros lugares para criar sua própria interface personalizada. Aqui está o Visão geral técnica de todos os elementos de mapa do site possíveis, mas por agora será suficiente apenas começar a pensar sobre que tipo de interface você deseja construir e quais informações deseja exibir.

Enquanto você estiver lá, abra items / demo.items também. Mais uma vez, parece assustador, mas é aqui que você cria itens para controlar e define sensores para rastrear.

Então, como funciona o OpenHAB?

Agora que você deu uma olhada rápida no mapa do site e na pasta de itens, vamos analisar exatamente o que são esses arquivos e os outros componentes principais do OpenHAB que se combinam para criar sua casa inteligente completa. Você encontrará subdiretórios para cada um deles na pasta compartilhada OpenHAB Config.

Itens é um inventário de cada dispositivo de controle, sensor ou elemento de informação que você deseja em seu sistema. Também não precisa ser um dispositivo físico - você pode definir uma fonte da web, como previsão do tempo ou preços de ações. Cada item pode ser nomeado, atribuído a vários grupos (ou nenhum) e conectado a uma ligação específica. (Dica para iniciantes: a capitalização é importante quando se trata de encadernações. Passei muito tempo tentando descobrir por que minhas lâmpadas 'Hue' não funcionavam; era porque deveriam ter sido 'matiz').

Sitemaps preocupa-se apenas com a interface que você verá ao abrir o aplicativo móvel ou web OpenHAB. Você pode controlar precisamente como deseja que os botões sejam dispostos e as informações apresentadas. Você pode definir grupos de nível superior para cada cômodo de sua casa; clicar em cada um mostraria uma lista de todos os dispositivos naquela sala. Ou você pode preferir mostrar grupos para cada tipo de dispositivo: um botão para luzes, outro para tomadas elétricas. Pode haver alguns dispositivos que você usa com tanta frequência que deseja apenas um botão para eles na tela inicial.

Regras é onde o aspecto da automação residencial entra em cena, onde você pode definir horários ou condições para que uma ação aconteça. Eventos simples como acender as luzes do quarto às 22h para uma cor vermelha quente; ou lógica mais complexa, como ligar um aquecedor se a temperatura for inferior a 0 e alguém estiver presente naquela sala. Você também encontrará um scripts pasta, que oferece funcionalidade semelhante às regras, mas em um nível mais complexo de lógica programável.

Persistência é um tópico avançado que não abordaremos neste guia, mas a persistência define os dados dos quais você deseja manter um registro. Por padrão, o OpenHAB só mostrará o estado atual de algo; se você deseja rastrear esse valor ao longo do tempo, é necessário configurar uma definição de persistência para essa fonte de dados. Nele, você especificará coisas como a frequência com que um ponto de dados deve ser medido ou quando descartar pontos de dados antigos - você também precisará dizer que tipo de mecanismo de persistência usar, como MySQL ou registro simples em um arquivo .

Transformar contém mapeamentos de valores de dados para rótulos. Por exemplo, o humidex.scale arquivo define uma faixa de valores de índice de umidade e como eles devem ser mostrados em inglês: 29-38 é 'algum desconforto'.

o Mapa do site e Itens os arquivos são essenciais para a execução do OpenHAB; o resto é opcional. Você pode ter vários sitemaps e itens, para que possa manter o conteúdo de demonstração e consultá-lo a qualquer momento ou experimentar um novo layout para a interface de controle da sua casa. Não se preocupe se tudo isso parecer um pouco opressor agora, vamos dividi-lo em partes gerenciáveis ​​e prometo que, ao final deste guia, você terá confiança para criar sua própria configuração do OpenHAB.

A seguir, vamos ajudá-lo a adicionar alguns kits de casa inteligente comuns, começando do zero em um novo mapa do site. Cada um irá apresentar alguns conceitos básicos, como como instalar ligações e definições de itens, então eu recomendo fortemente que você leia estas instruções mesmo se você não possui esses dispositivos específicos .

Comece criando um novo (em branco) home.items arquivo, e um novo home.sitemap arquivo nos diretórios relevantes. Abra home.sitemap e cole o código a seguir. Isso atua apenas como um esqueleto básico ao qual adicionaremos partes mais tarde.

sitemap home label='My Home'
{

}

Você deve ver um aviso informando que o OpenHAB identificou um novo mapa do site e arquivo de itens.

aligncenter size-large wp-image-496593

Ativar modo de depuração

Enquanto você ainda está tentando fazer o OpenHAB funcionar corretamente, pode ser útil habilitar um log de depuração mais detalhado que liste tudo, e não apenas o que é importante. Para ativar este modo, abra a pasta compartilhada OpenHAB Config e edite o logback.xml . Na linha 40, altere a linha a seguir para ler DEBUG em vez de INFO. Você precisará reiniciar depois de alterar isso.

Esta é uma mudança global, então você obterá muito mais informações assim que finalizar o arquivo de log.

Adicionando Philips Hue

Vou começar com Philips Hue. Como a maioria das coisas com as quais você deseja interagir no OpenHAB, as lâmpadas Hue exigem que você instale um obrigatório - pense nas ligações como um driver de dispositivo. No momento em que este artigo foi escrito, havia cerca de 160 associações disponíveis para o OpenHAB 1, e é por isso que o OpenHAB é um sistema tão poderoso - ele pode interagir com qualquer coisa, combinando todos esses sistemas de controle díspares em uma única interface unificada. Aqui está uma demonstração e uma visão geral rápida das etapas envolvidas.

As ligações devem ser baixadas primeiro, e a maneira mais fácil de fazer isso no Pi é usando apt-get , em seguida, force a propriedade para o usuário openhab.

sudo apt-get install openhab-addon-binding-hue
sudo chown -hR openhab:openhab /usr/share/openhab

Em seguida, você precisa dizer ao OpenHAB para carregar nessa ligação e configurar todas as variáveis ​​necessárias. Navegue até a pasta de configurações e faça uma cópia de openhab-default.cfg , nomeando-o openhab.cfg . Abra isso, procure por MATIZ e substitua toda a seção com o código a seguir. A única coisa que você precisa alterar é o valor de IP de sua ponte - se ainda não o conhece, experimente a ferramenta de descoberta online. O valor secreto realmente não importa, é apenas um tipo de nome de usuário que o OpenHAB usará para se identificar na ponte.

Dica rápida : para habilitar uma linha, basta remover o # do início. Por padrão, a linha que especifica o endereço IP da ponte está desabilitada (ou tecnicamente, 'comentada'). Além disso, se você estiver tentando uma configuração alternativa, pode ser útil apenas copiar a linha existente e colocar um # no início para marcá-la como um comentário, para que você possa reverter facilmente se algo der errado.

################################ HUE Binding ######################################### # IP of the Hue bridge
hue:ip=192.168.1.216
hue:secret=makeuseofdotcom
hue:refresh=10000

Salvar e sair. Como qualquer aplicativo Hue de terceiros, você precisará aprovar o OpenHAB no Hue Bridge pressionando o botão na frente - você só precisa fazer isso uma vez. Você verá uma mensagem sobre esperando para ser emparelhado se você está seguindo o arquivo de log, mas se esqueceu ou perdeu a contagem regressiva, apenas reconfigure o Pi - você obterá um cronômetro de 100 segundos a partir do momento em que a ligação Hue for iniciada. Certifique-se de ter emparelhado com sucesso antes de continuar.

Em seguida, abra o home.items arquivo, ao qual adicionaremos algumas lâmpadas Hue. Aqui está um exemplo de definição de item:

Color Bedroom_Hue 'Bedroom Hue' (Bedroom) {hue='1'}
  • o Cor palavra especifica que tipo de controle temos sobre este item. Lâmpadas RGB Hue são 'Coloridas', uma vez que temos o controle total das cores. Outras luzes podem ser apenas um switch.
  • A seguir está o codinome do item: eu escolhi Bedroom_Hue , mas literalmente tudo está bem - apenas algo descritivo que pareça natural para você, porque você precisará se lembrar disso mais tarde, ao fazer o mapa do site. O codinome não deve ter espaços.
  • Entre as aspas está o rótulo. O nosso é simples neste caso, mas para alguns itens como temperatura ou algo que relata um valor, você adicionará algum código especial que informa como exibir esse valor ou usar o que transformar. O rótulo é para a interface e pode conter espaços.
  • Entre os colchetes está o nome do ícone. Você encontrará todos os ícones disponíveis no compartilhamento OpenHAB, sob o webapps / imagens diretório. Na verdade, há toda uma gama de ícones de matiz que representam diferentes brilhos ou liga / desliga. Basta especificar o nome do ícone de base - o OpenHAB saberá procurar automaticamente os diferentes ícones liga / desliga se este for um item comutado. Isso é opcional.
  • Nos parênteses, dizemos de quais grupos fazer parte - neste caso, apenas o Quarto grupo.
  • Por fim e de maneira crucial, conectamos o item à vinculação apropriada com quaisquer variáveis ​​necessárias. Neste caso, o matiz ligação, e o número da lâmpada é 1. Você pode encontrar o número abrindo o aplicativo oficial Hue e olhando para a guia luzes. Cada lâmpada possui um número único.

Eu adicionei um total de quatro lâmpadas, bem como uma declaração simples dos grupos que expandiremos mais tarde. Aqui está o meu completo home.items neste ponto:

Group Bedroom
Group Office
Group Kai
Group Living_Room
Group Cinema
Group Secret
Group Lights /* Lights */
Color Bedroom_Hue 'Bedroom Hue' (Bedroom,Lights) {hue='1'}
Color Office_Hue 'Office Hue' (Office, Lights) {hue='2'}
Color Secret_Hue 'Secret Hue' (Secret, Lights) {hue='3'}
Color Kai_Hue 'Kai's Hue' (Kai, Lights) {hue='4'}

o / * Luzes * / o texto é apenas um comentário, não tem nenhuma função além de nos ajudar a verificar o arquivo mais tarde, quando ele ficar maior. Agora temos os dispositivos adicionados, mas abrir http: //raspberrypi.local: 8080 /? Sitemap = home resulta em uma interface em branco - é claro, porque ainda não criamos elementos de interface no mapa do site. Vamos começar bem simples por agora. Abra home.sitemap .

O código usado para descrever a interface é diferente para os itens, mas por enquanto vamos criar um novo 'quadro' e adicionar alguns controles de grupo junto com alguns ícones.

sitemap home label='My Home'
{
Frame {
Group item=Lights label='All lighting' icon='hue'
Group item=Bedroom label='Bedroom' icon='bedroom'
Group item=Office label='Office' icon='desk'
}
}

Os grupos são uma ferramenta útil para testes rápidos, mas na realidade você deseja ter mais controle sobre como os itens são exibidos. Por enquanto, isso será suficiente. Salve e recarregue o mapa do site inicial no navegador. Você deve ver isso (ou quaisquer grupos que você adicionou).

Clique em Toda a iluminação para ver todas as luzes Hue, uma vez que definimos todas como pertencentes a esse grupo de luzes abrangentes.

Observe que o item Office Hue é exibido com um ícone diferente - isso porque a luz do meu escritório já está acesa e o OpenHAB sabe disso quando se comunica com a ponte Hue e foi inteligente o suficiente para ajustar o ícone para a versão 'ligada' do arquivo. Infelizmente, ele não reflete a cor, mas se você tiver um aplicativo móvel instalado, isso refletirá a cor atual.

Se você estiver vendo mais itens do que pensou ter definido ou recebendo erros sobre várias definições, saiba que, embora você só possa carregar um mapa do site por vez na página todos os mapas do site extrairão itens de todos os arquivos .item , então, se você deixou o arquivo de itens de demonstração lá, alguns itens adicionais podem aparecer em seus grupos também. Eu sugeriria neste ponto fazer backup do conteúdo dos itens de demonstração e removê-lo da pasta para evitar erros de duplicação.

Acesso remoto e IFTTT com My.OpenHAB

No momento, você precisa estar na mesma rede local para acessar seu sistema OpenHAB, mas e se quiser controlar seus dispositivos e verificar os sensores quando estiver fora do alcance de seu Wi-Fi? Para isso, precisaremos configurar o acesso remoto - e faremos isso de maneira fácil, com o serviço web My.OpenHAB [Broken URL Removed], que evita a necessidade de mexer no encaminhamento de portas e nas configurações do roteador. Como bônus, o serviço My.OpenHAB também possui um canal IFTTT, oferecendo infinitas possibilidades de controle remoto e automação.

Primeiro: instale a ligação. Dica rápida: se você não sabe o nome exato de um pacote de instalação específico, tente procurá-lo com o apt-cache.

sudo apt-get install openhab-addon-io-myopenhab
sudo chown -hR openhab:openhab /usr/share/openhab

Antes de se registrar no site My.OpenHAB, você precisará criar uma chave secreta e encontrar seu UUID, que identifica exclusivamente sua instalação. Verifique sob o OpenHAB Home share -> aplicativos da web -> estático e você deve encontrar um arquivo UUID contendo seu identificador exclusivo. Foi nesse ponto que descobri que meu Pi estava usando uma versão mais antiga do Java que não cria corretamente a chave secreta. Modelo

java -version

checar. Se não indicar 1.7 ou superior, você tem a versão errada. Estranhamente, a versão mais recente do Raspbian vem com o Oracle Java 8 instalado, mas não definido como padrão.

sudo atualização-alternativas --config java

encontre um livro pela descrição do enredo

Escolha a opção que indica jdk-8-oracle e reinicie o OpenHAB. Bônus: o Oracle Java 8 é mais rápido que o OpenJDK padrão!

Agora você também deve encontrar um arquivo secreto no webapps / estático pasta. Abra tanto o segredo e uuid e esteja pronto para copiar e colar.

Agora crie uma conta My.OpenHAB, usando esses detalhes, depois volte - você também precisará confirmar seu e-mail antes de tudo funcionar. Existem mais algumas etapas para este. Primeiro, precisamos definir o mecanismo de persistência padrão para myopenhab (persistência é algo para um guia posterior, mas independentemente, precisamos configurar algo básico para 'exportar' nossos dados para o serviço online e torná-los visíveis para IFTTT) . Para fazer isso, abra openhab.cfg e encontre a variável que diz persistência: padrão = e mude para persistência: default = myopenhab . Salve .

Por último, crie um novo arquivo no configurações / persistência pasta chamada myopenhab.persist e cole a seguinte regra.

Strategies {
default = everyChange
}
Items {
* : strategy = everyChange
}

Você não precisa entender isso por agora, mas saiba que diz 'salvar cada estado do item quando ele mudar'.

Para se conectar com o IFTTT, vá até o Canal OpenHAB - você precisará autenticar e conceder acesso à sua conta MyOpenHAB. Observe também que até que seus itens sejam alterados pelo menos uma vez, eles não estarão visíveis na lista de itens no IFTTT, então, se não estiver visível, ative e desative algo e recarregue. Parabéns, agora você tem acesso IFTTT completo a tudo em seu sistema OpenHAB!

Sensor de presença Bluetooth usando REST

Há pouco tempo, mostrei como fazer uma fechadura automática de porta de escritório usando a varredura Bluetooth para detectar a presença do usuário - eu queria trazer algo assim para o OpenHAB.

Em qualquer plataforma diferente do Raspberry Pi, isso seria simples graças a uma ligação Bluetooth pronta; infelizmente, ele não funciona no Pi devido a um arquivo Java crucial que precisaria ser recompilado para a arquitetura ARM, adicionado à vinculação e, em seguida, reconstruído a vinculação. Basta dizer que tentei fazer isso e foi terrivelmente complicado e não funcionou. No entanto, há uma solução muito mais fácil que também serve como uma boa introdução à extensibilidade total do OpenHAB: simplesmente adaptaremos nosso script Python anterior para que ele se reporte diretamente à interface RESTful do OpenHAB.

A parte: uma interface RESTful significa que você pode interagir com um sistema usando seu servidor web embutido, simplesmente chamando URLs e passando ou buscando dados. Você pode visitar este URL para ver um exemplo simples disso em seu próprio servidor: http: //raspberrypi.local: 8080 / rest / items - que produz uma lista codificada de todos os seus itens definidos. Isso é incrivelmente poderoso, pois expõe todo o potencial do OpenHAB e permite que você escreva interfaces personalizadas; ou no reverso usado, para relatar o status dos sensores sem ter uma ligação específica. Usaremos esse recurso para relatar a presença de um dispositivo Bluetooth específico sem recorrer à ligação Bluetooth.

Comece adicionando um novo Trocar item para o seu home.items Arquivo. Eu chamei o meu de 'JamesInOffice' e o fiz uma chave em vez de um simples contato liga / desliga para que eu possa controlar manualmente minha presença no caso de meu telefone morrer.

Switch JamesInOffice 'James in Office' (Office)

Observe que não defini um ícone ou associei uma ligação específica. É apenas uma opção genérica.

Em seguida, insira um dongle Bluetooth USB compatível e instale algumas ferramentas básicas para interagir com ele.

sudo apt-get install bluez python-bluez python-pip
sudo pip install requests
hcitool dev

O último comando deve mostrar seu adaptador Bluetooth. Se nada estiver listado, tente outro adaptador, o seu não é compatível com Linux. A próxima etapa é encontrar o endereço de hardware Bluetooth do seu dispositivo.

wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py
python inquiry.py

Verifique se o seu telefone está aberto na página de configurações do Bluetooth (o que o coloca no modo de emparelhamento / público) e, obviamente, se o Bluetooth está ativado. Você deve encontrar um endereço de hardware hexadecimal listado.

No diretório inicial do usuário Pi, crie um novo script Python e cole neste código .

Existem algumas coisas que você precisa editar, começando com o endereço do seu dispositivo específico:

result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5)

Bem como a linha this, que fica em dois lugares (sim, provavelmente poderia ser melhor estruturada). Altere JamesInOffice para o codinome do switch que você definiu.

r = requests.put('http://localhost:8080/rest/items/JamesInOffice/state',data=payload)

A etapa final é dizer a este script para iniciar no momento da inicialização.

sudo nano /etc/rc.local

Role para baixo até o final e antes da saída 0, adicione as seguintes linhas:

python /home/pi/detect.py &

O sinal & significa 'faça isso em segundo plano'. Vá em frente e execute o script, se ainda não o fez, e abra sua interface OpenHAB. Se você o adicionou a um grupo, clique nesse grupo. Demora cerca de 10 segundos para atualizar, mas você verá o ícone de lâmpada padrão acender ou apagar, dependendo se o telefone foi detectado ou não. Verifique o arquivo de log se nada acontecer, pode ser que você tenha usado o nome do item errado.

OpenHAB Mobile App

Embora você possa usar a interface da web de um dispositivo móvel, o OpenHAB tem aplicativos nativos para ambos ios e Android - e eles parecem um muito melhor do que a interface do navegador padrão. Na tela de configurações, insira o URL local como o IP interno que você está usando até agora, incluindo o número da porta. Para URL remoto, digite https://my.openhab.org , e seu nome de usuário (e-mail) e senha que você inseriu quando se inscreveu. Se você ainda não se inscreveu no MyOpenHAB, deixe a autenticação e o URL remoto em branco, mas você só acessará o sistema a partir do seu Wi-Fi local.

Seguindo em frente e obtendo ajuda

A quantidade de personalização e recursos interessantes que você pode adicionar ao seu controlador OpenHAB é realmente épico. Bem como a vasta lista de dispositivos suportados com ligações, você pode usar a interface RESTful, extensões HTTP e IFTTT para ler ou controlar literalmente qualquer tipo de dispositivo IoT e mais alguns (experimente algumas de nossas idéias criativas de iluminação). Sim, é uma dor absoluta de instalar, mas nenhum sistema comercial pode chegar perto do poder de um sistema OpenHAB personalizado.

Dito isso, a viagem não foi nada fácil para mim, e é exatamente por isso que escrevi este guia, para facilitar o processo para você. E se você achar o sistema OpenHAB opressor, existem outras opções quando se trata de automação residencial Raspberry --- como usar Raspberry Pi para automatizar a porta de sua garagem, por exemplo.

Fique atento ao MakeUseOf para obter um guia avançado que cobre o Z-Wave e outros truques legais que você pode configurar.

Se precisar de ajuda com uma parte específica deste guia, pergunte nos comentários. Se você quiser ajuda com outra ligação ou alguns tópicos avançados que ainda não cobrimos, o fóruns oficiais do OpenHAB são um lugar acolhedor.

Compartilhado Compartilhado Tweet O email 5 dicas para turbinar suas máquinas Linux VirtualBox

Cansado do fraco desempenho oferecido pelas máquinas virtuais? Aqui está o que você deve fazer para aumentar o desempenho do VirtualBox.

Leia a seguir
Tópicos relacionados
  • faça você mesmo
  • Lar inteligente
  • Automação residencial
  • Forma longa
  • Guia Longform
  • Smart Hubs
Sobre o autor James Bruce(707 artigos publicados)

James é bacharel em Inteligência Artificial e certificado pela CompTIA A + e Network +. Quando não está ocupado como Editor de Avaliações de Hardware, ele gosta de LEGO, VR e jogos de tabuleiro. Antes de ingressar na MakeUseOf, ele foi técnico de iluminação, professor de inglês e engenheiro de data center.

Mais de James Bruce

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever