Arduino
Controlliamo la caldaia e il condizionatore da Apple Homekit con HAP-NodeJS su Raspberry Pi e Wemos D1 mini via MQTT

Controlliamo la caldaia e il condizionatore da Apple Homekit con HAP-NodeJS su Raspberry Pi e Wemos D1 mini via MQTT

In questo articolo andremo a configurare un termostato all’interno di HAP-NodeJS. Personalmente questo è l’accessorio per cui preferisco utilizzare HAP-NodeJS rispetto a tante altri moduli esistenti (come ad esempio Homebridge o anche NodeRED) che in alcuni casi sono più comodi e pratici, ma non consentirebbero la costituzione di questo accessorio così come l’ho fatto.
Di seguito spiegherò come creare fisicamente l’accessorio, utilizzando due schede Wemos D1 mini, una shield relay (relè), una shield DHT12 e un IR led (con lunghezza d’onda: 850 nm 38 kHz).
Anche in questo caso per far dialogare tra loro (Raspberry Pi e le Wemos D1 mini) ho utilizzato il protocollo MQTT (Mosquitto).
Ovviamente come pre-requisito si prevede che abbiate un Raspberry Pi con Mosquitto e HAP-NodeJS correttamente installato. 
Di seguito i link alle due guide:

Apple HomeKit su Raspberry Pi
MQTT Broker (Mosquitto) su RaspberryPi

Inoltre è obbiligatorio aver installato i pacchetti npm per il modulo MQTT, se non l’avete fatto i comandi sono i seguenti:

cd /home/pi/HAP-NodeJS
sudo npm install mqtt --save
sudo npm install mqtt -g

Per cominciare colleghiamoci in SSH sul nostro Raspberry Pi ed eseguiamo i seguenti comandi per scaricare e installare l’accessorio.

cd /home/pi/HAP-NodeJS/src/accessories
wget https://www.fargionconsulting.com/wp-content/uploads/2020/02/Termostato_accessory.ts

Ora, se abbiamo impostato l’avvio automatico del servizio HAP-NodeJS, dobbiamo riavviare il Raspberry Pi per far si che HAP-NodeJS si accorga del nuovo accessorio.
Inoltre, se abbiamo deciso di utilizzare BridgeCore.ts l’accessorio ci comparirà automaticamente assieme all’accessorio precedentemente creato ed associato, mentre se stiamo utilizzando Core.js, dal nostro dispositivo Apple dobbiamo aggiungere il nuovo accessorio e anche per questo interruttore, l’abbinamento avviene con il codice 031-45-154.

Passiamo ora al lato Hardware, come detto in precedenza per questo accessorio Homekit avremo bisogno di due schede Wemos D1 mini, in quanto una sarà posizionata vicino alla caldaia (o vicino al nostro attuale termostato) e la seconda scheda (con il sensore di temperatura e led infrarosso) nella stanza dove abbiamo il nostro climatizzatore (possibilmente di fronte).
Per creare ed assemblare più rapidamente queste dispositivi, consiglio l’utilizzo della shield con relè e della shield con il sensore DHT12. 
Per cui il nostro occorrente sarà:

  • Wemos D1 mini
  • Relay shield
  • 1 DHT12 shield
  • 1 Led IR (trasmettiore)
  • 1 resistenza da 220ohm 1/4 di watt
  • 1 Led IR (ricevitore VS1838B) per la clonazione dei sagnali del nostro attuale telecomando delclimatizzare

Prima di passare ai codici Arduino, devo fare una premessa:
I segnali che i telecomandi per climatizzatore inviano, sono più complessi rispetto ai tradizionali telecomandi, in pratica ogni qualvolta che viene premuto una tasto, questi trasmettono una serie di comandi, intervallati da delle pause prestabilite.
Per leggere questi segnali ho utilizzato un programma a pagamento chiamato AnalysIR (disponibile da qui, volendo lo si può ottenere ad un prezzo ribassato per una licenza Maker), una scheda Arduino UNO e un ricevitore IR.
Con questa applicazione (solo per Windows) sono riuscito a captare correttamente i comandi dal telecomando del climatizzatore (funzione per funzione) e, a sua volta, li ho inseriti nel codice Arduino dedicato al controllo del climatizzatore.

Nel mio caso sono andato a registrare i comandi di questo telecomando

Schema dei collegamenti

vv
Utilizzando la shield relè non vi è necessità di fare nessun collegamento a parte collegare la morsettiera del relè alla caldaia usando il polo centrale e il polo NC (normalmente chiuso)
Anche in questo caso se viene utilizzata la shield DHT per Wemos D1 mini non vi è necessità di fare alcun collegamento, fatta eccezzione per il led IR e la resistenza da 220ohm

Ora passiamo ai codici Arduino per le nostre Wemos D1 mini:

Sensore di temperatura e umidità con IR, disponibile qui

Attuatore per caldaia disponibile qui

Anche in questo caso, prima di caricare i codici Arduino sulle vostre schede, vanno modificati alcuni parametri, come ad esempio il nome e la password della vostra rete WiFi e inserito l’IP del vostro Raspberry Pi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *