Attenzione: in questo articolo saranno utilizzati alcuni comandi da terminale con i permessi di superuser, è importante sapere che potreste perdere dati o combinare qualche guaio. Procedete con la massima cautela e prestando sempre attenzione a quello che fate.

La domotica è quella branca della tecnologia che si occupa di automatizzare le nostre case; molto spesso si sente parlare di IoT (Internet of Things), termostati smart o di Google Home, Amazon Echo o ancora Apple Homekit. In questo articolo vorremmo illustrarvi le basi di un sistema di domotica efficiente e a basso costo, basato sul versatile Raspberry Pi3 e che consente di interfacciare i nostri dispositivi con il protocollo Homekit di Apple che ci consente di usare anche Siri per comandare alcune azioni.

raspberry-pi-3

Prima di mettere le mani in pasta, occorre sapere cosa andiamo a configurare e cosa ci serve per farlo. Innanzitutto ci occorre un Raspberry Pi 3 (va bene anche la versione 2, ma la 3 è più performante), una scheda microSD (sceglietene una affidabile e non è necessario andare oltre 16GB),un alimentatore da 5V/2A, o in alternativa potete prendere un kit tutto incluso: Raspberry, alimentatore, SD, case, dissipatori, cavo video. Inoltre occorre una tastiera USB (o una wireless con ricevitore radio – non Bluetooth – abbinato) e uno schermo con ingresso HDMI (va bene anche la TV) per la prima configurazione. Se volete usare anche Z-Wave, vi consiglio vivamente di evitare le schedine interne come la RaZberry, che hanno pessima portata e sono molto delicate (tendono a bruciarsi). Comprate invece la lo Z-Stick di Aeotec che funziona molto bene. Qui eseguiremo la procedura tramite un Mac, ma si può chiaramente fare anche da un PC Windows installando un'app come Putty. Con questi componenti installeremo il S.O. Raspbian e il software DomoticZ, seguirà una seconda parte per la configurazione di Homebridge.

raspberry-pi-3-logo

DomoticZ è il centro di controllo che si occuperà di gestire i sensori e gli attuatori che comporranno il sistema domotico (ad esempio una lampada RGBW come la Yeelight di Xiaomi o un sensore di temperatura). Il software è studiato per interfacciarsi con tantissime periferiche tramite schede o espansioni da applicare al Raspberry, o anche tramite la porta GPIO presente sullo stesso, non vi elencherò tutte le compatibilità ma vi cito solo alcuni dei principali protocolli utilizzabili: Z-Wave, periferiche 433MHz, Philips HUE, ecc.. Homebridge invece si occuperà di fare “una magia”, ovvero interfacciarci con HomeKit di Apple, facendo in modo che ogni sensore o attuatore configurato su DomoticZ sia visibile alle periferiche Apple tramite l’app Casa e Siri.

Raspbian: installazione e configurazione

Il primo passo da compiere è quello di scaricare il S.O. Raspbian da questa pagina: vi consiglio la versione Jessie Lite che non ha interfaccia grafica, perché tanto non servirebbe e appesantirebbe inutilmente il sistema. Scompattiamo lo zip in cui è contenuta l'immagine disco e inseriamo la scheda microSD in un lettore collegato al Mac. Per individuare la memoria connessa apriamo il terminale e digitiamo:

diskutil list


Individuata la nostra microSD in base al suo collocamento e dimensione (in questo caso /dev/disk6) dovremo smontarla con il comando "diskutil unmountDisk /dev/disk#" dove # è il numero del disco individuato precedentemente:

sudo diskutil unmountDisk /dev/disk6

Ora che il disco è smontato possiamo procedere alla copia dell’immagine disco sulla microSD con il comando "dd if=(trascinate l'immagine sul terminale per far apparire il suo percorso) of=/dev/rdisk# bs=1m":

sudo dd if=fileimmagine.img of=/dev/rdisk6 bs=1m

Questa operazione impiegherà diversi minuti per essere completata, durante i quali possiamo controllare lo stato di avanzamento con CRTL+T. Quando sarà di nuovo visualizzato il prompt dovremmo notare sulla scrivania del Mac che è stato montato un nuovo disco etichettato come “boot”. Se non dovesse esserci è probabile che siate incappati in qualche errore e dovete ricominciare da capo, altrimenti procedete.

raspberry-pi-3-microsd

A questo punto espelliamo il disco “boot” e inseriamo la microSD nel Raspberry. Quest'ultimo andrà collegato al monitor, ad una tastiera e, infine, all'alimentatore. Se tutto procede correttamente si dovrebbe vedere la luce rossa lampeggiare e, dopo poco tempo, apparirà una schermata con il prompt dei comandi e la richiesta di nome utente e password. I predefiniti sono:

  • user: pi
  • password: raspberry

Come prima cosa converrà impostare il layout della tastiera in italiano, altrimenti ci sarà da impazzire per tutti i passaggi successivi. Per farlo modificheremo un file di configurazione nella cartella /etc/default e poi dovremo riavviare il Raspberry. Ecco i passaggi in breve:

sudo nano /etc/default/keyboard

Modificare il valore XKBLAYOUT=“gb” con “it”, salvare e uscire con CRTL+O e poi CRTL+X

sudo reboot

Le operazioni preliminari sul Raspberry sono quasi terminate, non ci resta che abilitare l’SSH.

sudo raspi-config

Scendiamo con le frecce su 7 Advanced Option e premiamo invio, scegliamo quindi la voce Enable/disable SSH e confermiamo l’abilitazione. A questo punto colleghiamo un cavo Ethernet al nostro Raspberry e assegnamogli tramite router la prenotazione per un indirizzo IP statico. Possiamo poi scollegare il monitor e la tastiera, in quanto le prossime operazioni si possono comodamente eseguire in remoto dal nostro Mac.

raspberry-pi-3-z-wave

DomoticZ + Open Z-Wave

Abbiamo il nostro bel Raspbian configurato, procediamo dunque all’installazione di DomoticZ e delle dipendenze per far funzionare il protocollo Z-Wave tramite adattatore. Dal Mac apriamo il terminale e colleghiamoci in remoto al Raspberry, ricordandovi che deve avere un IP statico ed ipotizzando che sia 10.0.0.8:

sudo ssh pi@10.0.0.8

inseriamo la nostra password di amministratore per confermare l'accesso e successivamente quella dell'utente pi, ovvero “raspberry” (senza apici). Il metodo più semplice per installare DomoticZ richiede che il Raspberry sia connesso ad internet e si esegue con un solo comando:

sudo curl -L install.domoticz.com | bash

Seguite le istruzioni senza cambiare nulla e alla fine memorizzate le informazioni visualizzate nell'ultima schermata. Ora installiamo il supporto a Open Z-Wave, in modo da poter utilizzare una chiavetta USB Z-Wave per estendere la compatibilità di DomoticZ a queste periferiche. Serviranno diverse righe di comando, eccovele in sequenza:

sudo apt-get install libudev-dev
git clone https://github.com/OpenZWave/open-zwave open-zwave-read-only
cd open-zwave-read-only
git pull
make -j 3
cd ..

Per finire, aggiorniamo il sistema e riavviamo.

sudo apt-get update
sudo apt-get upgrade
sudo shutdown -r -t 0

Non appena il Raspberry si sarà riavviato possiamo procedere al collegamento tramite interfaccia web. Apriamo il nostro browser preferito e digitiamo nella barra degli indirizzi

http://ip_raspberry:8080

Rechiamoci sulla voce Setup e poi Settings, cambiamo la lingua in italiano se preferiamo e diamo applica. Ora andiamo su impostazioni / hardware e aggiungiamo un nuovo hardware modello “OpenZWave USB” (lo troviamo nel menù a tendina), togliamo la spunta su Abilitato, inseriamo un nome (Z-Wave per esempio) e clicchiamo infine su Aggiungi. Adesso colleghiamo il dongle Z-Wave ad una delle porte USB del Raspberry, selezioniamo il dispositivo appena creato, mettiamo la spunta su Abilitato e clicchiamo su Aggiorna.

Per aggiungere un dispositivo Z-Wave premiamo sul pulsante Configurazione e nella nuova maschera clicchiamo su Gestione Nodo / Includi Nodo e seguiamo le istruzioni fornite con l’accessorio acquistato (di solito si tratta di premere un pulsante due o tre volte). Non appena l’accessorio sarà rilevato lo vedremo comparire nella schemata Nodi. Segnatevi l’IDNodo perchè sarà utile per i passaggi successivi. Ora rechiamoci in Configurazione / Dispositivi. Individuiamo l’accessorio appena aggiunto (sarà facile essendo il primo) e clicchiamo sulla freccia verde che ci permetterà di importarlo nella GUI di DomoticZ. Una volta inserito, possiamo cambiare l’icona, i parametri, abilitare le notifiche o visualizzare il log.

Per il momento è tutto, nei prossimi giorni seguirà la seconda parte in cui illustreremo come installare HomeBridge e far riconoscere tutti i nostri accessori ad Homekit per comandarli con l'iPhone. Se siete interessati a seguire il tutto, vi consigliamo di iniziare ad acquistare i componenti necessari, così sarete pronti per la procedura completa appena sarà pubblicata la guida per HomeBridge.

Di seguito un breve riepilogo dei componenti base necessari:

Altri dispositivi potenzialmente utili:

Kit che comprendono anche il case: