Avançar para o conteúdo principal

HOMEBRIDGE no RASPBIAN Configuração e Boot Start

Nesta instação estou a usar o SO  RASPBIAN JESSIE LITE


$ uname -a
Linux raspberrypi 4.9.28-v7+ #998 SMP Mon May 15 16:55:39 BST 2017 armv7l GNU/Linux


Primeiro devemos verificar se temos o Node JS instalado

$ nodejs -v
v7.10.0

Caso não esteja instalado, seguir o tutorial de instalação

http://bhtecnonerd.blogspot.pt/2017/06/instalar-node-js-no-raspberry-pi-3.html

Instalar bibliotecas necessárias

$ sudo apt install libavahi-compat-libdnssd-dev

Instalar compilador GCC

$ sudo apt install gcc

Instalar Homebrigde em modeo "GLOBAL"

$ sudo npm install -g --unsafe-perm homebridge

Testar o Homebridge

$ homebridge
*** WARNING *** The program 'nodejs' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=nodejs>
*** WARNING *** The program 'nodejs' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=nodejs&f=DNSServiceRegister>
[6/20/2017, 4:14:18 PM] No plugins found. See the README for information on installing plugins.
[6/20/2017, 4:14:18 PM] config.json (/home/pi/.homebridge/config.json) not found.
Scan this code with your HomeKit App on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │ 031-45-154 │     
    └────────────┘     
                       
[6/20/2017, 4:14:18 PM] Homebridge is running on port 36705

Se tiveram este output então é porque correu tudo bem, no entanto ainda temos de criar o ficheiro de configurações "config.json" e colocar o Homebridge no Arranque


Vamos fazer CTRL+C para parar o serviço do homebrige e continuar com a configuração.

Configuração para colocar Homebridge no StartUp


$ sudo nano /etc/default/homebridge

Colar o conteudo a baixo e salvar (CTRL+X)

# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS=-U /var/homebridge

# If you uncomment the following line, homebridge will log more 
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*

$ sudo nano /etc/systemd/system/homebridge.service

Colar o conteudo a baixo e salvar (CTRL+X)
Atenção o parâmetro "ExecStart=/usr/bin/homebridge" é o caminho para o homebridge se não sabem bem qual é podem executar o seguinte comando:
$ whereis homebridge
homebridge: /usr/bin/homebridge

[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target

[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target

Criar o utilizador para correr o serviço


$ sudo useradd --system homebridge


Criar Directorio para colocar o ficheiro de configuração

$ sudo mkdir /var/homebridge
$ sudo cp -r ~/.homebridge/persist /var/homebridge
$ sudo nano /var/homebridge/config.json


Exemplo de um ficheiro de configuração template, podem colar e salvar (CTRL+X).
Caso queiram personalizar podem alterar os parametros da bridge, inclusive o PIN que é sempre bom alterar :)

{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:30",
        "port": 51826,
        "pin": "031-45-154"
    },
    
    "description": "This is an example of simple configuration file",

    "accessories": [],

    "platforms": []
}

Atribuir permissões ao directorio
$ sudo chmod -R 0777 /var/homebridge

Aplicar as configurações do serviço, Ativar o Serviço e Arrancar o serviço

$ sudo systemctl daemon-reload
$ sudo systemctl enable homebridge
$ sudo systemctl start homebridge


Para verificar o estado do serviço
$ systemctl status homebridge


Após fazer restart, o serviço deve ficar ativo.
$ sudo restart


Problemas que possam acontecer.

O Serviço esta activo, mas o IPHONE/IPAD não detecta!!

$ systemctl status homebridge
● homebridge.service - Node.js HomeKit Server
   Loaded: loaded (/etc/systemd/system/homebridge.service; enabled)
   Active: active (running) since Tue 2017-06-20 16:53:51 UTC; 1min 58s ago
 Main PID: 728 (homebridge)
   CGroup: /system.slice/homebridge.service
           └─728 homebridge

Possível solução, apagar acessorios Dummy
$ cd /var/homebridge/persist/
$ rm *.json

Voltar a fazer pesquisa e verificar se aparece :)



Comentários

Mensagens populares deste blogue

3 Formas de configurar o Wi-Fi no ESP8266

3 Formas de  configurar o Wi-Fi no ESP8266 O nosso famoso ESP8266 veio para ficar, cada vez mais este microcontrolador é utilizado para desenvolver dispositivos fantásticos, é verdade que o ESP pode ser utilizado como um simples MCU , mas é a sua capacidade de se ligar a uma rede Wi-Fi, faz dele a escolha perfeita no que toca dipositivos IoT . Este artigo tem foco em três diferentes soluções que permitem programar o ESP de forma a que este se consiga ligar a uma rede Wi-Fi. É sabido que da primeira vez que o ESP é energizado este tem de conhecer ou vir a conhecer o SSID e a Password configurada no Access Point ao qual o queremos conectar de forma a fazer para da rede e ter acesso à Internet se assim for necessário. Vamos então ver como implementar as três soluções, analisar cada uma delas e ponderar os prós e contras e cada uma delas. Passemos ao caso mais simples, ao qual denomino de “Hard Coded” , esta é a forma mais utilizada por quem começa a utilizar

Mosquitto MQTT - Como Apagar todas as Mensagem Retain

Olá malta, hoje venho partilhar convosco algo que pode dar muito jeito quando andamos a testar cenários em que temos mensagens MQTT Retained . Um mensagem com a Flag Retain fica guardada no Broker MQTT até que seja subscrita por outra . Uma solução rápida para eliminar a mensagem Retain será publicar no mesmo tópico uma mensagem vazia , no entanto se tivermos muitos tópicos com mensagens Retain pode dar muito trabalho por isso uma forma simples será eliminar a base de dados do Mosquitto e todas as mensagem Retain são perdidas. Este cenário pode parecer uma pouco Brute Force mas se pensar-mos bem, assim que os nossos sensores/atuadores se ligarem novamente ao Broker MQTT vão publicar novamente a mensagem Retain que realmente interessa :) Procedimento sudo service mosquitto stop sudo rm /var/lib/mosquitto/ mosquitto.db sudo service mosquitto start DONE.... Espero ter ajudado :) Grande Abraço

Instalação do SQLPLUS da ORACLE em LINUX

Bom dia a todos Hoje vou explicar como podemos instalar o SQLPLUS da Oracle em sistemas Linux que utilizem gestão de pacotes RPM, entre eles CENTOS, FEDORA etc.. O SQLPLUS é uma excelente ferramenta de administração de SGDB da Oracle e apresenta-se sob o formato de linha de comandos o que permite aos Administradores de Base de Dados um maior poder sobre o SGDB. Antes de mais é necessário ter uma conta Oracle, esta pode ser feita atraves de um registo no site e é totalmente gratuito. Após termos conta devemos ir à secção de Download -> Databases -> Oracle Instant Client URL:   http://www.oracle.com/technetwork/indexes/downloads/index.html É apresentada uma lista sistemas operativos suportados e no nosso caso vamos escolher    Instant Client for Linux x86-64   para versões 64 Bits Ao escolhermos o Sistema Operativo a Oracle mostra-nos todas aplicações de Cliente para as diversas versões de Base de dados. A ultima versão é a 12 no entanto devemos fazer o downl