Come rendere compatibile Apple HomeKit una IP Cam generica tramite Homebridge

6 minuti di lettura
Scopi della guida
  • Aggiungere una IP Cam generica (non nativamente compatibile Apple HomeKit) alla configurazione di Homebridge
  • Livello di difficoltà: medio/basso
Concetti affrontati:
  • Configurazione router
  • Installazione e configurazione software
Componenti software utilizzate:
Prerequisiti
Dispositivi fisici utilizzati:
GUIDA maggiormente indicatA per:

Apple-200x200

Note e disclaimer
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (la presente guida ha puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere la garanzia.

IP Cam FOSCAM

Abstract

Di telecamere IP (IP Cam) destinate alla sorveglianza domestica ne esistono ormai centinaia, se non migliaia: è sufficiente dare un’occhiata su un qualsiasi sito di e-commerce per farsi un’idea. I modelli disponibili sul mercato si differenziano tramite moltissimi parametri e caratteristiche: il fatto di essere adatte all’uso interno e/o esterno, di esser dotate di più o meno risoluzione, se essere sensibili agli infrarossi, se esser dotate o meno di mobilità su più assi, se esse siano collegabili tramite Wi-Fi, se siano in grado di registrare un flusso video e così via.

Uno dei tanti parametri è il grado di compatibilità verso Apple HomeKit, lo standard che permette di controllare un dispositivo domotico direttamente dai dispositivi Apple senza applicazioni di terze parti, facendolo inoltre dialogare con altri eventuali dispositivi altrettanto dotati di tale compatibilità.

Sul tema della compatibilità in ambito domotico su inDomus esiste un focus importante che ti consigliamo di leggere prima di proseguire.

Works With Apple HomeKit

IP Cam nativamente compatibili Apple HomeKit ne esistono poche decine, ma la presente guida ci permette di aggirare il problema rendendo un bacino ben più ampio di IP Cam generiche compatibili con tale standard.

Ma perché dovrebbe mai essere un problema?

In realtà ogni IP Cam (per lo meno quelle prodotte negli ultimi 5-10 anni) è dotata, in linea di massima, di un’applicazione per Apple iOS e Android che gli permette di essere consultata sia quando ci si trova sulla stessa rete LAN (quindi, quando ci si trova in casa) sia da remoto, che poi è il vero scopo della presenza di una IP Cam.

Per consultare una IP Cam da remoto esistono di base due strade:

  • quella di attivare il port forwarding sul router di casa, il che permette (conoscendo l’IP del proprio router, magari usando un servizio DDNS) di collegarsi DIRETTAMENTE all IP Cam;
  • quella di utilizzare un servizio cloud offerto dal produttore della cam, il quale fa da “mediatore” tra la propria app mobile e la IP Cam.

Entrambe le strade presentano criticità in termini di sicurezza:

  • la prima espone la IP Cam direttamente alla rete Internet, dalla quale qualunque malintenzionato potrebbe attaccare il dispositivo e, sfruttando magari difetti del suo firmware, riuscire ad avervi accesso – il che equivarrebbe ad esporre la propria intimità ad estranei;
  • la seconda espone agli stessi rischi, per quanto inferiori, dati dall’intrinseca eventuale vulnerabilità del cloud del produttore stesso che, se violato da hacker, porterebbe allo stesso risultato di cui sopra (leggi questa notizia per farti un’idea).

Utilizzare una IP Cam compatibile Apple HomeKit significa utilizzare comunque un servizio Cloud, ma in questo caso si tratta di quello Apple la quale, indubbiamente, investe più di chiunque altro nella sicurezza dei propri servizi.

Al sicuro non sì è mai del tutto – si può però circoscrivere il rischio il più possibile.

Con questa guida scopriamo come, tramite Homebridge, rendere una IP Cam generica compatibile con lo standard Apple HomeKit.

Procedimento

  1. Verificare l’effettiva configurabilità della IP Cam
  2. Installare ffmpeg
  3. Installare il plugin
  4. Configurazione presso Homebridge
  5. Aggiunta presso l’applicazione “Casa” di Apple iOS

Verificare l’effettiva configurabilità della IP Cam

Per quanto le tecniche descritte nella presente guida siano valide per la stragrande maggioranza delle IP Cam esistenti, esiste una percentuale seppur minima di IP Cam non compatibili con questi approcci.

Per far sì che il plugin Homebridge che andremo ad utilizzare (ovvero “homebridge-camera-ffmpeg“) possa funzionare, è necessario che la IP Cam sia:

  • raggiungibile tramite un IP fisso;
  • esponga un flusso video.

Per verificare questa compatibilità viene utile il database iSpy, il quale elenca praticamente tutte le modalità disponibili per la stragrande maggioranza delle IP Cam conosciute.

Impostare un IP fisso all’IP Cam

Impostare un IP fisso all’IP Cam significa far in modo che a ogni accensione della cam il router assegni al dispositivo sempre il solito indirizzo IP. Questo è necessario perché nella configurazione del plugin nella configurazione Homebridge è necessario indicare sempre un solo IP verso il quale andare ad “attingere” il flusso video che verrà poi esposto ad Apple HomeKit.

Per assegnare un IP fisso alla IP Cam rimandiamo a questo articolo del buon Aranzulla.

Verificare la presenza di una modalità di connessione

Per verificare se la propria IP Cam sia adatta alla configurazione su Homebridge è necessario collegarsi al database di iSpy e cercare il proprio modello.

Poniamo, a titolo esemplificativo, di voler domotizzare una vecchia FOSCAM 8910.
Come si vede da questa pagina del database iSpy, la cam è effettivamente presente e cliccando sul suo link apposito potremo generare direttamente l’url sul quale collegarsi allo stream video, a patto di conoscere l’IP fisso ad essa assegnato nonché l’username e la password di accesso.

Nel caso della FOSCAM 8910W, configurata sull’ipotetico ip 192.168.0.100, l’url generato per la connessione diretta allo stream video sarà:

http://nome_utente:password@192.168.0.100/videostream.asf?user=nome_utente&pwd=password&resolution=320*240

mentre alla snapshot:

http://nome_utente:password@192.168.0.100/snapshot.jpg?user=nome_utente&pwd=password&strm=0

Collegandomi a questi indirizzi – tramite browser – se non ho commesso errori dovrebbero apparire lo stream video e la snapshot della camera.

Raggiunto questo obiettivo sarà possibile proseguire oltre: la IP Cam è adatta alla domotizzazione con Apple HomeKit tramite Homebridge.

Installare ffmpeg

Affinché il plugin “homebridge-camera-ffmpeg” possa funzionare è necessario che la libreria ffmpeg sia installata sul sistema sul quale è in esecuzione Homebridge.

Installazione su Raspberry Pi con sistema operativo Raspbian

Eseguire da terminale il seguente comando:

sudo apt-get install ffmpeg

e attendere il completamento dell’esecuzione.

INSTALLAZIONE MAC/WINDOWS/LINUX

Per questi sistemi operativi sono disponibili i package di installazione. Recarsi a questo indirizzo, scaricare il pacchetto d’interesse e provvedere all’installazione automatica.

Installare il plugin

L’installazione, come tutti i plugin – è semplicissima.
Eseguire il seguente comando – su sistemi unix-based (linux, Raspberry ecc.) da terminale, da sistemi windows su prompt dei comandi:

npm install -g homebridge-camera-ffmpeg

e attendere il termine della procedura.
Nb. In caso Homebridge sia già in esecuzione come servizio (come descritto nelle nostre guide di installazione), provvedere a interromperlo prima dell’installazione tramite il comando:

sudo systemctl stop homebridge

Configurazione presso Homebridge

La configurazione del plugin prevede l’aggiunta al file di configurazione di Homebridge  di una piattaforma (“Camera-ffmpeg” nel blocco “platforms” – vedi pagina dedicata al config.json di Homebridge) con associate una o più IP Cam (“cameras”):

"platforms": [{
	"platform": "Camera-ffmpeg",
	"cameras": [{
		"name": "IPCAM1",
		"videoConfig": {
			"source": "-re -i http://nome_utente:password@192.168.0.100/videostream.asf?user=nome_utente&pwd=password&resolution=320*240",
			"stillImageSource": "-i http://nome_utente:password@192.168.0.100/snapshot.jpg?user=nome_utente&pwd=password&strm=0",
			"maxStreams": 2,
			"maxWidth": 320,
			"maxHeight": 240
		}
	}]
}]

Dove:

maxStreams(intero, opzionale) – Numero massimo di stream generati dalla IP Cam. Default: 2
maxWidth(intero, opzionale) – Valore massimo di risoluzione orizzontale. Default: 1280
maxHeight(intero, opzionale) – Valore massimo di risoluzione verticale. Default: 720
maxFPS(intero, opzionale) – Valore massimo di frame rate. Default: 10
maxBitrate(intero, opzionale) – Valore massimo di bitrate in kbit/s. Default: 300
vcodec(stringa, opzionale) – Utile per scegliere il codec tra omx e libx264. Default: libx264
audio(booleano, opzionale) – Indica se il flusso video supporta/contiene anche un flusso audio. Default: false – Maggiori dettagli qui.
packetSize(intero, opzionale) – In caso il video sia un po’ “zoppicante”, provare con un numero (multiplo di 188) inferiore. Il default è 1316.
debug(booleano, opzionale) – Attiva la visualizzazione del log di ffmpeg sul log di Homebridge.

Esistono molte configurazioni già testate, possono essere consultate a questo indirizzo.

Aggiunta all’applicazione “Casa” di Apple iOS

A differenza della stragrande maggioranza dei plugin Homebridge, l’aggiunta della configurazione sopra spiegata NON dà automaticamente origine – dopo il riavvio di Homebridge – all’equivalente elemento (in questo caso, una IP Cam) sull’applicazione “Casa” di Apple iOS.

Per provvedere all’aggiunta della IP Cam è necessario innanzitutto possedere il PIN relativo alla propria configurazione Homebridge, il quale si trova nel primissimo blocco di definizione del proprio file config.json.

Scoperto questo, accedere all’applicazione “Casa” (avendo cura di trovarsi sulla stessa rete Wi-Fi sulla quale è presente Homebridge) e cliccare su “aggiungi accessorio”.

Se la configurazione sarà stata eseguita correttamente, in alto a sinistra apparirà la IP Cam che abbiamo configurato. Cliccando su di essa, “Casa” segnalerà una possibile imcompatibilità, superabile cliccando su “aggiungi comunque”:

Apple HomeKit aggiunta camera-1

A questo punto verrà richiesto di inserire il PIN di cui sopra. Una volta inserito “Casa” provvederà ad aggiungere l’elemento:

Apple HomeKit aggiunta camera-2

Se la procedura si completerà correttamente apparirà la scheda di dettaglio dell’IP Cam presso la quale impostare eventuali personalizzazioni come l’assegnazione alla stanza ed altro:

Apple HomeKit aggiunta camera-3

Chiusa questa scheda, la IP Cam apparirà presso l’interfaccia di “Casa” come normalmente configurata:

Apple HomeKit aggiunta camera-4

A questo punto la configurazione è terminata.


Logo Apple HomeKitATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica ad Apple Homekit, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.


Please comment below