I’m back after years on this blog to write a mini how-to, mainly a note for myself.

I’m an enthusiast Home Assistant user, the most used open platform for home automation.
I aimed to use my own custom subdomain for Home Assistant. I wanted an SSL certificate issued by Let’s Encrypt in cPanel.

My recipe

  • cPanel Dynamic DNS to setup a dedicated subdomain for my Home Assistant installation (the dynamic IP is automatically updated by HA when IP change)
  • SSL certificate auto-generated by cPanel. The certificated is issued by Let’s Encrypt and expire every 3 months
  • SSL cert (and private key) configured in HA with addon “NGINX Home Assistant SSL proxy

The problem

On my first try, I just copied the SSL cert from cPanel to HA folder /ssl/fullchain.pem file and private key to /ssl/privkey.pem (the are just text files with .pem extension) and restarted NGINX plugin.
This exposed the SSL cert to the https domain. However, I had problems with the Samsung SmartThings Integration. The SmartThings cloud could not connect to my Home Assistant webhook URL.

SmartThings could not validate the webhook URL. Please ensure the webhook URL is reachable from the internet and try again

After some attempts and searches I figured out that the SSL cert, even if valid, was not completely trusted. SSL Checker website (like this) reported me a yellow warn icon under the certificate chains of trust.

This pointed me to the right direction…

The solution

This Let’s Encrypt page had the solution I needed. Basically, I needed to add both intermediate and root certificates inside the “/ssl/fullchain.pem” file in home assistant.

First figured out which kind of certs did I need: in my case the where Intermediate R10 and Root X1. I downloaded both “pem” certificates from Let’s Encrypt page.

Then I composed my fullchain.pem like this:

-----BEGIN CERTIFICATE-----
MAIN SSL Certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Let's Encrypt Intermediate Certificate (R10)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Let's Encrypt Root X1 Certificate
-----END CERTIFICATE-----

I saved the file and rebooted NGNIX.
After another SSL check, my domain looked like this:

This solved all my issues with SmartThings integration.

Poche settimane fa (16 Maggio 2016) è stata annunciata la nuova revisione del Raspberry Pi Zero, la 1.3 che aggiunge al Raspberry più piccolo e meno costoso della famiglia anche un connettore per il modulo camera !

RaspberryPiZero

Già dalla prima versione desideravo prenderne uno, ma non c’ero mai riuscito visto che era perennemente “out of stock” in qualsiasi rivenditore.

Certo il prezzo di partenza del modello base (circa 5€) fa gola a molti…

Stavolta ho invece avuto la prontezza di ordinarlo subito dopo l’annuncio su ThePiHut visto che avevano ancora disponibilità (che è già rapidamente terminata, nel momento in cui scrivo.. ma immagino tornerà a breve).

Nello specifico mi sono preso il kit che comprende anche adattatori micro-usb, micro-hdmi, alcuni GPIO e una SD da 8GB. Ho preso inoltre un cavo piatto per il connettore alla Camera (visto che è leggermente più piccolo).

E’ arrivato tutto in pochi giorni e devo dire che toccandolo con mano è risultato davvero più piccolo di come me lo aspettassi. Davvero perfetto per alcuni progetti che non necessitano della potenza di un Raspberry Pi 3, ma per i quali invece le dimensioni ridotte sono fondamentali…

Come caso pratico ho provato subito a testarlo con l’ultima versione di SWPI, per vedere se riceveva subito i dati della stazione meteo con il ricevitore radio RTL-SDR acquistato di recente… e devo dire che in 10 minuti seguendo le istruzioni avevo già tutto configurato e funzionante…

IMG_2927

 

Ora devo farmi venire in mente qualche progettino minimale su cui impiegarlo seriamente…. ho già un paio di idee in mente! Tempo libero permettendo, ovviamente… 😉

Grazie a Seven che a ha scritto questo interessante post nel forum di vololiberomontecucco (la casa di SWPI, ndr), sono venuto a conoscenza di un’altra modalità per ricevere e decodificare i segnali radio dei sensori esterni della mia stazione meteo PCE-FWS 20 alias Fine Offset WH1080 con il Raspberry Pi.

Come ho scritto in un recente post, dopo aver giocato con provato diverse soluzioni, tra cui su tutti SWPI e RFM01, sono da mesi tornato alla soluzione USB con PYWWS. Devo dire che come stabilità è perfetto adesso, ma come comodità lascia a desiderare.

Purtroppo la soluzione di ricezione con RFM01 era difficoltosa e dopo averci perso tanto tempo dietro non ho intenzione di ritornarci…

E’ qui che interviene l’idea di Seven: utilizzare una chiavetta usb DVB-T (in pratica venduta per ricevere la TV Digitale Terrestre) basata sul tuner R820T / R820T2 per ricevere e decodificare il segnale radio dei sensori.

Non conoscevo questa chiavetta, ma dopo un po’ di ricerche ho capito essere il “coltellino svizzero” per questo genere di cose.
Costa circa 10€ e si trova facilmente (io l’ho presa su Ebay). E’ supportata da una miriade di software liberi e progetti opensource, tra cui HDSDR, con cui è possibile “giocare” con il sintonizzatore e visualizzare/ricevere tutti i segnali, comprese le radio AM/FM !

Il progetto però che serve a noi si chiama rtl_433, e la sua personalizzazione per WH1080 & Raspberry raspberry_rtl_wh1080. A quest’ultima link trovate una dettagliatissima spiegazione sull’argomento e tutte le istruzioni passo passo per installarlo su Raspberry/BananaPi.

10 minuti dopo l’inserimento della chiavetta USB sul Raspberry e seguendo passo passo la guida, ero riuscito a ricevere il mio primo segnale dai sensori:

pi@raspberrypi ~ $ rtl_433 -f 868300000 -F json -l 0
Registering protocol "Fine Offset WH1080 Weather Station"
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Detached kernel driver
Found Rafael Micro R820T tuner
Exact sample rate is: 250000.000414 Hz
[R82XX] PLL not locked!
Sample rate set to 250000.
Bit detection level set to 0.
Tuner gain set to Auto.
Reading samples in async mode...
Tuned to 868300000 Hz.
{"time" : "2016-03-12 20:34:07", "model" : "Fine Offset WH1080 weather station", "msg_type" : 0, "id" : 46, "temperature_C" : 9.700000, "humidity" : 58, "pressure" : 984.581665, "direction_str" : "NNE", "direction_deg" : "23", "speed" : 3.672000, "gust" : 6.120000, "rain" : 831.900024, "int_temp" : 26.000000}

Veramente più semplice a farsi che a dirsi! 😉

Per ora l’output è un semplice oggetto JSON delle letture, ma integrarlo nei software esistenti non dovrebbe essere un’impresa ardua e lunga….

A breve nuovi aggiornamenti sull’argomento.

Avete la necessità di accendere un led o in generale leggere/impostare un qualsiasi pin del GPIO del Raspberry Pi via web? La soluzione più semplice e comoda è probabilmente utilizzare un server REST in Javascript con Node.js.

Esistono sicuramente anche altre valide alternative, io ho scelto questa perché negli ultimi mesi mi sono trovato diverse volte a lavorare con Node.Js e l’ho apprezzato veramente tanto per la sua semplicità e al contempo grossa potenza modulare, con un’infinità di pacchetti ed estensioni NPM.

Lo scopo di questa guida è quindi quello di accendere un led attaccato al gpio (con una resistenza e un mosfet, che non sono oggetto di questo post ma di cui potete trovare già tantissima documentazione) attraverso una semplice chiamata web http://indirizzo.ip/led/on.

Due led incastonati nel case del Raspberry, comandati da NodeJs

Due led incastonati nel case del Raspberry, comandati da NodeJs

Leggi tutto →

Uno degli articoli più letti di questo blog è sicuramente  Stazione meteo PCE-FWS 20 online grazie ad un Raspberry Pi. Da allora son passati 3 anni, tempo in cui ho avuto modo (benché poco tempo) di “giocare” ogni tanto con i software disponibili per Raspberry Pi per mettere online i dati della mia PCE-FWS 20 / WH1080, che sono presenti sul mio sito dedicato.

Da più di un anno non utilizzo più il sistema con Sint Wind Pi + ricevitore wireless RFM01 a causa di problemi vari di ricezione del segnale dovuti principalmente a interferenze e distanza dalla stazione. Sono invece tornato nei miei passi e utilizzo pywws con il Raspberry attaccato via USB alla consolle. Devo dire che dopo il setup iniziale non ho più avuto alcun problema e va come una meraviglia da tantissimi mesi senza alcun intervento da parte mia. Non si è mai verificato nemmeno un blocco della comunicazione USB, cosa che era avvenuta spesso nei miei primi test con pywws. Probabilmente erano dovuti ad una consolle un po’ difettosa.

Pywws è dunque consigliato e stabile, almeno dalla mia esperienza. Si trova una guida molto facile per l’installazione qui. (basta installare 3 pacchetti di dipendenze, non c’è nemmeno più bisogno di compilare le librerie USB come prima!). Mentre la completissima documentazione ufficiale di pywws contiene tutte le istruzioni per configurazione e setup, anche in italiano.

Se cercate alternative a pywws, vi consiglio di leggere queste ottime guide scritte dall’amico Simone di Meteo Bibbiena:

Dopo aver provato il distanziometro laser PCE-LDM 50, grazie a PCE Italia ho avuto modo anche di provare un altro strumento, il PCE-EM882.

Si tratta di un misuratore multifunzionale 4 in 1 che racchiude un termoigrometro (temperatura e umidità), un luxmetro (intensità luminosa) e un fonometro (potenza sonora).

Confezione e Aspetto

 


Lo strumento si presenta in una comoda valigetta morbida che contiene tutti gli accessori: una sonda termica, il sensore luminoso, un filtro per il microfono, una batteria supplementare ed il manuale.
Il corpo è in plastica con tasti in gomma, mentre il display è semplice a 3 cifre, non retroilluminato. Leggi tutto →

Grazie a PCE Italia, azienda italiana produttrice e rivenditrice di strumenti di misura, ho avuto la possibilità di testare il distanziometro laser PCE-LDM 50.

Confezione e aspetto

La scatola di dimensioni contenute contiene lo strumento, un laccio da polso, la custodia da cintura, le batterie, un cacciavite per l’apertura del vano batterie ed un manualetto in italiano.

Lo strumento, di dimensioni circa di 110 X 45 x 30 mm, si presenta molto compatto e solido, adatto ad essere maneggiato senza difficoltà. Ha un ampio display retroilluminato in cui vengono visualizzate le ultime 3 misure, con risoluzione fino al mm.

Presenta 10 tasti per il controllo delle funzionalità.

Funzioni

Oltre a misurare la distanza (c’è un puntatore laser che aiuta il puntamento), il PCE-LDM 50 presenta altre utili funzioni:

Addizione (per sommare alla misurazione precedente)
Sottrazione (per sottrarre alla misurazione precedente)
Misura max. e min. (utile in caso di misurazioni difficili)
Misura continua (misurazione automatica senza premere il tasto)
Calcolo delle superfici (calcolo automatico dell’area)
Calcolo del volume
Funzione Pitagora (misurazione indiretta) (per calcolare automaticamente l’altezza attraverso due misure di distanza)
Memoria degli ultimi 20 valori
– Misura dal piede o dalla testa dello strumento
(per aggiungere alla misura l’altezza dello strumento stesso)

Tutte le funzioni si utilizzano in modo molto intuitivo ed in caso di dubbi nel manuale è riportato tutto in modo molto chiaro. Leggi tutto →

Dopo aver realizzato le webcam da esterno con Raspberry Pi di cui ho parlato nel precedente articolo, avevo la necessità di visualizzare in una pagina web le foto inviate nelle ultime 24.

Ho quindi realizzato una semplice gallery PHP che legge le foto inviate dal Raspberry nelle ultime 24 e ne crea delle miniature, ordinate per data inversa (le più recenti in alto). Cliccando sulla miniatura si apre un lightbox con la foto originale.
Lo script provvede inoltre a cancellare le miniature create se queste sono più vecchie di 24 ore.

E’ una gallery semplice e rudimentale, sicuramente migliorabile ed espandibile. Ma funziona ormai da un anno con due webcam installate in montagna, ed ha sempre fatto egregiamente il suo dovere! 😉

Eccola all’opera: Webcam Rifugio CampignaWebcam Snowpark Campigna

Potete trovare il codice della gallery qua su Sourceforge 

Qualche mese fa ho realizzato con il Raspberry Pi delle semplici webcam che inviano su server FTP delle immagini (scattate con il camera module), aggiungendo anche delle scritte e loghi in overlay.

A differenza della webcam che ho montato nella mia stazione meteo, questa non richiede software particolari.

La configurazione software è veramente semplice: un’ installazione standard di Raspbian su SD, con un script che si prende in carico tutto il lavoro (ovvero: scattare la foto, aggiungere le informazioni sopra, inviarla su FTP e scrivere dei log)

Lo script (che trovate in fondo) può essere salvato nella cartella home ed eseguito ad intervalli regolari tramite Cron, per esempio ogni 5 minuti con un’impostazione come questa:

*/5 * * * * /home/pi/TakeAndUpload.sh

Che ricordo va inserita digitando “crontab -e” nel terminale.
Gli unici requisiti per il suo funzionamento dello script sono i seguenti:

mkdir /home/pi/images
sudo apt-get install ftp imagemagick

La configurazione è presente in cima all script (nella sezione CONFIGURATION) ed è abbastanza autoesplicativa.

Per l’utilizzo in questione il Raspberry è stato inserito in una scatola stagna di alluminio (di quelle utilizzate per videosorveglianza) che è anche riscaldata tramite una resistenza posta internamente di fronte al vetro.
Questo accorgimento oltre a risolvere il problema della neve e ghiaccio, evita anche l’appannamento del vetro stesso.

La webcam è stata montata in una posizione molto a limite dal punto di vista ambientale, nei pressi del rifugio “La Capanna” sul Monte Falco nell’Appenino Tosco-Romagnolo,  a 1488 m ! Ed è in funzione senza alcun problema da quasi un anno a questo indirizzo: http://www.webcamcampigna.it/

Leggi tutto →

Premessa

Questo è il primo articolo di questo blog in cui lascio la parola ad un altro autore. Mi è sembrato giusto e doveroso dato che, sebbene l’idea di fondo sia stata partorita insieme, la completa realizzazione è stata fatta da Giulio (mio fratello, ndr), a cui devono andare tutti i complimenti e gli onori!

Alessandro

L’idea nasce dalla necessità di dover irrigare alcune piante, fiori e un orto a qualche chilometro da casa; tutti dotati di un impianto a goccia che permette di risparmiare molta acqua, ma che deve essere acceso per lunghi periodi di tempo, anche una notte intera. Quindi, dopo aver pensato alla parte idraulica, è giunto il momento di renderla anche smart*, grazie al fedele Raspberry Pi.

*ovvero come rendere complicato anche il semplice gesto di aprire un rubinetto.

Questo progetto ha avuto una lunga gestazione, non tanto per la complessità di fondo, quanto per la troppa carne al fuoco messa fin da subito. Ho deciso quindi di partire dall’essenziale: una centralina per l’irrigazione gestita dal Raspberry Pi che permetta la programmazione tramite smartphone, tablet o da remoto.

Leggi tutto →