Benvenuti nella serie di domotica!

In questo breve, ma intenso percorso vedremo come domotizzare la vostra casa in modo da renderla smart e controllarla con interruttori touch, comandi vocali, comandi da remoto, interfacce grafiche su siti web e così via: il tutto ad un prezzo ridottissimo dato che utilizzeremo fondamentalmente due componenti:

 

STEP 1: PREPARAZIONE DI RASPBIAN

La primissima cosa da fare è installare Raspbian su una microSD che andrà inserita nel Raspberry, che sarà il nostro home server. Se non sapete come fare, potete consultare la brevissima guida che abbiamo realizzato come primo episodio della serie dedicata proprio a Raspberry. 

Attenzione! A questo punto bisogna creare due file, ma prima di farlo assicuratevi di attivare la visualizzazione dell’estensione dei file da Esplora Risorse.

""""

Una volta preparata la microSD, apritela da Esplora Risorse, date tasto destro-->Nuovo documento di testo e rinominatelo “ssh”.
Alla stessa maniera creiamo anche il file “wpa_supplicant.conf”.
""""

Aprite il file wpa_supplicant.conf” appena creato con un qualunque editor di testo e incollate il seguente contenuto:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="YOUR_SSID_HERE"
    psk="YOUR_SECRET_PASSPHRASE_HERE"
    id_str="SOME_DESCRIPTIVE_NAME"
}

 

Il file .conf ovviamente va configurato modificando i seguenti campi:

  • ssid = nome della vostra rete WiFi.
  • psk = password della rete.
  • id_str = nome descrittivo arbitrario.

A questo punto, avendolo abilitato di default, possiamo connetterci al Raspberry via SSH, quindi apriamo PuTTY e inseriamo l’IP del Raspberry: nel prossimo step vedremo come impostargli un IP locale statico, ma per adesso potete usare quello che trovate nel pannello di controllo del vostro router (dovrebbe comparire nella lista dei dispositivi connessi). 

Ora potete loggarvi con le credenziali di default: 

  • Utente “pi”.
  • Password “raspberry”.

""""

                                                     (Usate il comando “passwd” per settare una nuova password)

 

STEP 2: IMPOSTAZIONE IP STATICO IN LAN

Quando si crea una rete domotica, impostare un indirizzo ip statico è fondamentale per due motivi: 

  • Comodità - Non sarà necessario andare a controllare l’ip del Raspberry dal pannello di controllo del router ad ogni riavvio.
  • Logistica - Raspberry è il server della nostra rete e tutti i dispositivi da connettere devono necessariamente conoscere il suo indirizzo, che quindi deve essere statico.

Niente di più semplice! Si tratta semplicemente di lanciare i seguenti comandi da Raspbian:

ip -4 addr show dev eth0 | grep inet   (se siete connessi via cavo)  
ip -4 addr show dev wlan0 | grep inet  (se siete su wifi)

Questo comando restituirà in output l’attuale IP del Raspberry.


ip route | grep default | awk '{print $3}'

Questo comando restituirà in output l’IP del router: copiatelo in un file perché ci servirà tra poco.


cat /etc/resolv.conf

Questo comando restituirà in output l’indirizzo da cui il server ricaverà i DNS, che probabilmente saranno quelli del router: siccome la nostra rete è locale potete tranquillamente lasciare quelli di default.


sudo nano /etc/dhcpcd.conf

A questo punto si aprirà sulla riga di comando un file di testo. Spostiamoci sul’ultima riga e aggiungiamo il seguente contenuto:

    interface eth0
    static ip_address= SCEGLIETE UN IP A PIACERE (es. 192.168.1.78)
    static routers= IP DEL ROUTER
    static domain_name_servers= IP DEL ROUTER
 
    interface wlan0
    static ip_address= STESSO IP DI PRIMA
    static routers= IP DEL ROUTER
    static domain_name_servers= IP DEL ROUTER

Attenzione! Assicuratevi di compilare i campi prima di salvare.


A questo punto salvate il file (Ctrl+X), riavviate il Raspberry e, se tutto è andato a buon fine, dovreste riuscire a connettervi utilizzando l’ip statico che avete scelto in fase di configurazione.
 

STEP 3: INSTALLAZIONE E AGGIORNAMENTO DI SWITCHANDO AUTOMATION

Siamo pronti per installare il nostro ambiente domotico
Lanciamo il seguente comando da Raspbian:

wget https://www.switchando.com/switchando/install-switchando.sh && chmod +x install-switchando.sh && ./install-switchando.sh

Attenzione! Se avevate già installato la vecchia versione di Switchando con Mosquitto (il broker MQTT), allora dovete aggiungere alla fine del comando il parametro “--nomosquitto”.

Durante l’installazione vi sarà chiesto di creare una password di amministrazione, questo perché nella nuova versione di Switchando è stata introdotta la possibilità di creare account diversi a cui poter assegnare anche permessi diversi.Terminata l’installazione, potete verificare lo stato del servizio con: sudo service switchando status
""""

Per accedere al pannello di controllo di Switchando basta digitare nel vostro browser l’IP statico che avete scelto nello step 2 e la porta su cui gira il servizio (Es. 192.168.1.78:8080).

""""

Effettuando l’accesso vi apparirà una index completamente bianca perchè non abbiamo ancora configurato nessuna stanza: nel prossimo step vediamo come fare.

 

STEP 4: CONFIGURAZIONE DELLE STANZE

Per accedere alle impostazioni di switchando basta collegarsi all’IP del Raspberry specificando la pagina /config-index.html. Ad esempio: 192.198.1.78:8080/config-index.html. Per aggiungere una stanza clicchiamo su “Add new Room”: diamole un nome di default e relativi “friendly names” che in futuro ci saranno utili per i comandi vocali. Eccovi un esempio:

""""
 

STEP 5: FLASH DEL FIRMWARE TASMOTA SUI SONOFF

Adesso possiamo preparare i sonoff: per prima cosa bisogna installare un firmware che consenta di controllarli esclusivamente in rete locale, impedendo qualsiasi accesso esterno che non sia Switchando. Attenzione! Per installare il firmware è necessario avere Python 3.5.

Innanzitutto scaricate il firmware da qui ed estraete il contenuto dell'archivio.
Aprite il cmd, spostatevi nella cartella appena estratta e digitate i seguenti comandi, uno alla volta:

py -3.5 -m pip install --upgrade pip
py -3.5 -m pip install --user -r requirements.txt
py -3.5 sonota.py

 

Durante l’installazione dovrete inserire il nome (SSID) e la password della rete WiFi. Dopodiché dovrete tenere premuto il tasto sul Sonoff per circa 7 secondi in modo da farlo entrare in modalità configurazione. Il processo sembrerà macchinoso, ma non preoccupatevi perché la procedura è guidata: collegatevi alla rete WiFi che il Sonoff avrà creato con la password che compare sul cmd (non preoccupatevi se Windows vi notificherà di non essere riuscito a connettersi, l’importante è che lo script sul cmd proceda).

""""

Come da procedura guidata, il Sonoff creerà un’ulteriore rete di nome “FinalStage” a cui ci connetteremo per ultimare l'installazione.

""""

Arrivati a questo punto, si aprirà automaticamente una pagina in cui dovrete inserire gli Access Point (il secondo è di backup) a cui il Sonoff dovrà fare riferimento: inserite il nome della vostra rete WiFi (SSID) e la password.

""""

Per configurare il Sonoff basta digitare sul browser il suo indirizzo IP (che al solito potete trovare nel pannello di controllo del router - lista dei dipositivi connessi).

""""

Andiamo su Configuration-->Configure MQTT e modifichiamo i seguenti campi:

  • Host = ip statico di Raspberry.
  • Topic = sarà il nome identificativo del Sonoff (ci servirà nello step successivo per aggiungerlo alla rete domotica di Switchando).

Attenzione! Con la nuova versione di Switchando lo username di default è “switchando” mentre la password è quella associata all’account admin che abbiamo creato nello step 3.

 

STEP 6: AGGIUNGERE IL SONOFF ALLA RETE DOMOTICA DI SWITCHANDO

Ultimiamo l’installazione semplicemente aggiungendo il sonoff alla rete domotica in modo che sia riconosciuto e controllabile da remoto.

I Sonoff su Switchando funzionano grazie al plugin SonoffTasmota.dll che è preinstallato nella corrente versione, ma essendo esterno almeno per ora non è presente nella pagina config-index. Per accedervi colleghiamoci a <ip_statico_raspy>:<porta>/plugins/SonoffTasmota/config.html

""""
 

I campi sono tutti arbitrari eccetto

  • MQTT Topic: va inserito il topic che abbiamo creato nello step 5.
  • Channel: è il numero di canali di cui il Sonoff è dotato (per i Sonoff Basic lasciate 1).

 

Con questo episodio abbiamo gettato le fondamenta della nostra smart home, ma siamo solo all’inizio: ne vedrete delle belle con interruttori touch, comandi vocali e controlli da remoto!