Utilizzare il raspberry in un sistema domotico
Da tempo cercavo un progetto che mi potesse permettere di ricliclare qualche raspberry per sostituire la vecchia centralina del mio sistema di irrigazione per avere un sistema più intelligente e flessibile. In rete ci sono diversi progetti ma uno in particolare mi ha colpito per la sua semplicità e per il fatto che risulta essere ben seguito. Ho quindi iniziato a pensare come poterlo implementare a casa mia, magari in abbinamento con una stazione meteo per il controllo stagionale dell’irrigazione, o con vari sensori.
Avendo usato per anni un rp2/3 come mediacenter, ho sempre trovato la parte delle sd o microsd un punto debole, fin troppo per il progetto che avevo in mente. Ma quale alternative avevo? Dopo varie ricerche e valutazioni per una alternativa affidabile nel tempo, ho quindi selezionato due opzioni:
- ssd
- emmc
Entrambe le idee erano applicabili ma nel tempo ho rivisto in grande il mio progetto e ho quindi trovato i due componenti che mi serviano, ovvero le memorie emmc e una scheda per rpi3 che mi permettesse di recuperare un ssd da 32 GB.
Mentre approfondivo i vari aspetti tecnici legati al sitema di irrigazione, venivo a conoscenza di sitemi domotici come home assistant, completamente opensource e quindi da li l’idea di sviluppare un sistema multifunzione basato sul raspberry P3, in mio possesso e le i progetti che confluiranno sono:
- sistema di stampa e scansione
- sistema di irrigazione
- home assistant
- impianto di video sorveglianza (in fase di progettazione)
Il primo punto è il più facile, già implementato con la guida aggiornata che feci qualche anno fa, il secondo è in fase di testing avanzato. In pratica la configurazione software di base è già implementata, una configurazione minimale dell’hardware pure. Grazie alla collaborazione con il blog di lejbubila si sta portando avanti uno sviluppo del suo sistema di irrigazione, documentando i vari aspetti del progetto.
Ho inizialmente implementato un monitor lcd toucscreen sul raspberry, la guida si trova qui.
Andando avanti con la scelta dell’hardware ho deciso di usare la emmc da 8Gb (provvista del suo adattatore per microsd) come disco di sistema inserita nell’alloggiamento del raspberry per la micro sd, come in foto:
Mentre l’ssd verrà riutilizzato per gestire l’impianto di video sorveglianza, con la sua apposita scheda:
Per usare questa scheda come disco di sistema, lo si potrà fare solo tramite usb, ma dovrà prima abilitare il boot da usb, funzione presente solo sui modelli rpi3 e superiori.
Configurare il Boot da usb (ssd)
Il rpi 3 per il boot da usb necessita di una configurazione della OTP (one time programmble memory). Per fare questo serve una sd avviabile solo per programmare i bit necessari.
Con il seguente comando si abiliterà nel config il boot usb mode che farà si che venga scritto nella OTP.
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
Si riavvia e si controlla che la programmazione sia andata a buon fine:
$ vcgencmd otp_dump | grep 17: 17:3020000a
Se avete il codice restituito come sopra allora è tutto ok.
Ora potete rimuovere la sd e utilizzare la vostra usb-memory.
Moduli sonoff
Se avete guardato il progetto piGarden avete visto i moduli sonoff, ovvero una serie di interruttori e rele wifi gestibili da remoto, esclusivamente via wifi. Per farvi un’idea sui tipi di dispositivi date un’occhiata al sito del produttore cinese:
Questi dispositivi sono concepiti per una infrastruttura domotica, ovvero, come in questo caso la possibilità di creare una casa gestibile da remoto o automatizzandola con particolari accorgimenti, ma come funzionano?
Qui siamo nel mondo dell IoT, quindi si sfruttano i vari protocolli di comunicazione come IFTTT e MQTT, in questo modo i vari dispositivi possono comunicare tra loro con protocolli standard.
Pe ulteriori chiarimenti:
IFTTT
MQTT
Ma cosa hanno di particolare i moduli sonoff citati in precedenza?
Di base offrono per la gestione da remoto una app da smartphone con cui configurare i vari hardware e gestirli in mobilità sfruttando dei loro server. Purtroppo fare affidamento su questa struttura esterna e non direttamente gestibile da noi pone alcuni rischi di sicurezza e di affidabilità intrinsechi, ovvero, qualcuno può intromettersi nei vostri sistemi o semplicemente, non essere raggiungibili. Quest’ultimo caso è di certo è il più frequente perché i server sono spesso irraggiungibili.
Per fortuna questi prodotti risultano essere molto versatili e aperti verso la programmazione e così è nato il progetto tasmota. Alcuni svilu rppatori hanno sostituito il firmware originale con uno opensource con il quale flashare tutti i dispositivi sonoff per poterne ampliare le potenzialità e ovviare alle problematiche citate in precedenza, questo perché sono tutti basati sul chip esp8266
Questo chip è molto conosciuto nel mondo arduino e dell’ IoT in generale perché è programmabile a piacere con diversi IDE come Arduino e Platformio.
Per il mio progetto ho scelto due moduli sonoff:
Per poterli integrare nel mio progetto ho dovuto modificarli e programmarli con il firmware tasmota. Ho scritto una guida a tal proposito, in collaborazione con il blog citato all’inizio e la guida si trova al seguente link.
Riprogrammare moduli sonoff 4 ch pro R2 e dual R2 con firmware tasmota
Per ora questo è tutto, seguiranno ulteriori approfondimenti.