Arduino
Controlliamo un sensore di Temperatura e Umidità da Apple Homekit con HAP-NodeJS su Raspberry Pi e Wemos D1 mini via MQTT

Controlliamo un sensore di Temperatura e Umidità da Apple Homekit con HAP-NodeJS su Raspberry Pi e Wemos D1 mini via MQTT

In questo articolo andremo a configurare un sensore di temperatura all’interno di HAP-NodeJS. Inoltre spiegherò come crearlo fisicamente, utilizzando una scheda Wemos D1 mini ed ovviamente un sensore di temperatura.
Anche in questo caso per far dialogare tra loro (Raspberry Pi e Wemos D1 mini) ho utilizzato il protocollo MQTT (Mosquitto).

Ovviamente come pre-requisito si prevede che abbiate un Raspberry Pi con 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/TempHumSensor_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 sensore, l’abbinamento avviene con il codice 031-45-154.

Passiamo ora al lato Hardware, per creare ed assemblare più rapidamente questo sensore consiglio l’utilizzo della shield con sensore gia montato.
Esistono tanti tipi di sensore di Temperatura, molti dei quali riescono a rilevare anche altre informazioni come l’umidità o la pressione atmosferica. In questo caso andremo ad utilizzare il sensore DHT22 che consente di rilevare oltre alla temperatura, anche l’umidità, per cui il nostro occorrente sarà:

di seguito lo schema dei collegamenti (nel caso decidiate di non utilizzare la shield ma il sensore separato)

Ora passiamo al codice Arduino per la nostra Wemos D1 mini, scaricabile da questo link.

Anche qui c’è da premettere che vanno installate alcune librerie sul programma Arduino IDE, qui di seguito le vado ad elencare:

  • ArduinoOTA (disponibile dal gestore librerie in Arduino IDE)
  • PubSubClient by Nick O’Leary (disponibile dal gestore librerie in Arduino IDE)
  • RemoteDebug by Joao Lopes (disponibile dal gestore librerie in Arduino IDE)
  • DHT library disponibile da questo link

Ora, prima di procedere con il caricamento del codice Arduino sulla scheda Wemos D1 mini (oltre a selezionare la giusta porta seriale, la corretta scheda ed il corrento boundrate) dobbiamo aggiornare il codice Arduino con il nome e la password della nostra rete WiFi e l’IP del nostro Raspberry Pi, dopo di che il gioco è fatto!

Lascia un commento

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