You have searched the Poupar Melhor blog archives for homebridge. If you are unable to find anything in these search results, you can try with different search query


Apple TV, Homekit, Home App, Raspberry Pi e homebridge dá IoT

Works with apple HomeKit sticker

Works with apple HomeKit sticker

A Apple TV e o Home App no iPhone/iPad em conjunto trazem a possibilidade de termos um equipamento à imagem do Amazon Echo na nossa mão. O Amazon Echo era aquela torre que permitia o controlo por voz recorrendo ao Alexia da Amazon.

Com os equipamentos ligados através do HomeKit é possível configurar cenários e regras automáticas. Um cenário ou cena é uma configuração de todos os equipamentos para cumprir uma função, como por exemplo, baixar as luzes da sala quando vamos ver um filme. Já os automatismos podem recorrer a estes cenários ou fazer ações especificas como ligar equipamentos quando chegamos a casa ou desligá-los quando saímos de casa.

Apple HomeKit - Home layout

Apple HomeKit – Home layout

Podemos definir as divisórias da casa e os equipamentos que se encontram em cada divisória. Os serviços que cada equipamento presta aparecem depois junto com o equipamento.

A Apple TV funciona como o servidor central e faz a ligação da casa ao iPhone, quer estejamos em casa, quer estejamos noutro sitio qualquer.

Acontece que nos equipamentos que não estiver o autocolante a dizer que funciona com o Apple HomeKit, não há comunicação. Isto significa quase imediatamente que todos os equipamentos que tenham o autocolante serão mais caros.

Depois de alguma pesquisa na Web, decidi experimentar um mix de Raspberry Pi (RPi), iOS, TVos e outras coisas da Internet (IoT).

Ligado ao RPi tenho um sensor de humidade e temperatura. Para ter estes sensores a prestarem serviços através do HomeKit foi necessário instalar o Homebridge no RPi.

Instalar o node.js necessário para correr o Homebridge, ou mesmo os plugins do Homebridge, é bastante direto.

Configurar cada equipamento e serviço é feito à mão, editando o ficheiro de configuração do Homebridge. A configuração é feita através da edição do ficheiro de configuração em JavaScript Object Notation (JSON), uma forma de trocar dados muito em voga hoje em dia na web.

Home App no iPhone com sensores no Raspberry Pi mediados pelo Homebridge

Home App no iPhone com sensores no Raspberry Pi mediados pelo Homebridge

O resultado é poderem consultar os vossos sensores no iPhone/iPad em qualquer lugar e configurar condições baseadas nesses sensores.

 

Usar uma Trust Mini Webcam WB-1200p como camera do Raspberry Pi

Trust WB 1200P webcam

Trust WB 1200P webcam

A Trus Mini WebCam era uma câmera portátil vendida há muito, muito tempo. Dava para capturar uns incríveis e espetaculares 352 x 288 pixeis.

Hoje há câmeras com muito mais capacidades que esta pequena câmera. Isso não significa que não possa ser aproveitada, nem que seja para umas experiências com o Homebridge.

Ter uma câmera dentro de casa permite criar um sistema de alarme com base na alteração do que a câmera capta. O resultado para mim foi passar a ver a última imagem capturada em caso de movimento e ter acesso ao vídeo do período do evento.

IMG_6385.jpg

Se têm um Homebridge no vosso Raspberry Pi, uma câmera e um iPhone, podem ter estas funcionalidades. Para isso terão de instalar e configurar o seguinte software:

Cada um destes componentes serve um propósito:

  • O Motion é um servidor de deteção de movimento com base em camêras compatíveis com Video for Linux (V4L2);
  • O v4l-util é o conjunto de utilitários que permite ao sistema utilizar câmeras e outros equipamentos de vídeo;
  • O Homebridge-Camera-motion é o módulo do Homebridge que permite configurar uma localização de um ficheiro especial de *nix e da última imagem capturada;
  • O fswebcam é um utilitário que permite testar a câmera.

A instalação dos componentes com através de um comando é trivial. Mais complicado é a configuração e os vários problemas que encontrei por ter um equipamento pouco recente e  algo instável.

Um dos problemas que encontrei foi quando a câmera falha, o device da câmera mudava de /dev/video0 para /dev/video1. Mesmo com regras em /etc/udev que criam um link simbólico de /dev/videoSpaceCam para /dev/video? .

Para combater isto, tive de criar um cão de guarda algo rudimentar que verifica qual o device no link simbólico e recria o link simbólico se não tiver vídeo no nome.

#!/bin/bash
SPACECAMDEV=$(ls -l /dev/videoSpaceCam | sed ‘s/.*> //’);

if [[ $SPACECAMDEV == *”video”* ]];
then
echo “SPACECAMDEV OK”
else
echo -e “$SPACECAMDEV NOK \n$(ls -la /dev/video*)”
DEVID=$(ls /dev/video? | sed ‘s/\/dev\/video//’)
rm /dev/videoSpaceCam;
ln -s /dev/video$DEVID /dev/videoSpaceCam;
fi

O script é depois chamado a cada minuto depois de configurado com o crontab.

Outro problema encontrado foi que a captura de imagem da câmera revertia sempre para um tamanho ainda mais pequeno que os incríveis e espetaculares 352 x 288 pixeis.

Para isso foi necessário configurar corretamente o motion para capturar na capacidade máxima da câmera. Isso é feito no motion.conf alterando o valor da variável v4l2_palette.

Para saber isso e outras coisas utilizei o comando v4l2-ctl:

v4l2-ctl –list-formats-ext — identificação do formato a configurar na variável v4l2_palette

v4l2-ctl –list-ctrls — lista de controles da câmera

Por último, para mostrar a imagem do último evento no iPhone, foi necessário criar um segundo cão de guarda.

O script procura a última imagem no diretório onde os eventos detetados são guardados e copia-a para o nome laspsnap.jpg para ser mostrado no iPhone.

#!/bin/bash
find /media/Media/Motion/ -maxdepth 1 -type f -name “*.jpg” -print0 | xargs -0r ls -tr  | tail -1 > lastjpeg
LASTJPEG=$(cat lastjpeg)
cp -f $LASTJPEG /media/Media/Motion/lastsnap.jpg

Guardo as imagens e filmes gerado pelo Motion num disco externo para evitar problemas de falta de espaço.

O Motion pode ser configurado para aceder remotamente a câmeras ip, o que facilita a configuração do sistema de controlo num sitio e de captura no outro.

Termómetro e Higrómetro IoT

IMG_6062

DST22 numa breadboard pronto a ligar a um ESP8266

O primeiro projeto a fazer com um Espressif 8266(ESP8266) é uma estação meteorológica com acesso remoto. É quase obrigatório. Está documentado extensivamente na Internet e podemos usar o conhecimento de outros projetos para melhorarmos o nosso.

Esta é uma pequena estação meteorológica que é um bom exemplo de um objeto da Internet da coisas (IoT). Aqui a ideia é usar o Raspberry Pi (RPi) como servidor central dos IoT cá de casa, mas aproveitando as facilidades do HomeKit da Apple.

iot_do_ferro

Rede IoT do Álvaro

No RPi estará a correr o Homebridge. Este é exposto à Internet aos outros equipamentos Apple através da Apple TV e protegido pelos meios que a Apple disponibiliza aos restantes equipamentos da marca.

Por sua vez, o Home no iPhone irá permitir ver os dados recolhidos pelos IoT feitos por mim e centralizados na Apple TV através do Homebridge. Ao mesmo tempo, o Home permitirá também configurar cenários e ações automáticas mediante condições escolhidas.

 

ESP8266: um amigo para o RPi

ESP2866 placa programável com WiFi

ESP2866 placa programável com WiFi

O Espressif 8266(ESP8266) é uma placa programável com WiFi. Tal como o Raspberry Pi (RPi), mas com menos capacidade, dá-nos a liberdade de criarmos para nós coisas que a que dificilmente teríamos acesso por um preço tão baixo.

Aqui em casa vai servir para fazer tarefas que não posso por o RPi a fazer porque está agarrado à televisão a fazer de gestor de conteúdos multimédia ou Home Theater PC. O sensor de temperatura e humidade que tinha ligado ao RPi esteve a registar dados na sala, mas se quero dados de qualquer outro sitio, não posso andar a passear com isto tudo pela casa.

Como já sabemos, o RPi custa cerca de €35,00, enquanto o ESP8266 custa cerca de €5,00, na versão de desenvolvimento e menos que isso na versão definitiva. A diferença entre estas duas versões é a facilidade em programar e alimentar o ESP8266.

A versão de desenvolvimento tem uma porta USB que permite a programação sem mais nada para além de um cabo USB, enquanto a outra é mais pequena e a  programação depende da placa ser ligada através de outro equipamento.

O resultado prático é o mesmo que tinha já quando publiquei a informação sobre como ligar o HomeKit da Apple a equipamentos não certificados através do Homebridge. A diferença é que posso ter mais sensores por um preço muito baixo.