Come realizzare un sensore di temperatura e umidità per la domotica

Come realizzare un sensore di temperatura e umidità per la domotica

Puoi costruire rapidamente un sensore di temperatura e umidità digitale fai-da-te con un modulo display OLED per mostrare la temperatura e l’umidità della tua stanza. Puoi anche integrare questo sensore climatico fai-da-te nel tuo software di automazione domestica intelligente, come un server Home Assistant, per automatizzare l’unità HVAC (aria condizionata), il ventilatore o l’umidificatore per il controllo della temperatura e dell’umidità.

Cose di cui avrai bisogno

Avrai bisogno dei seguenti componenti per costruire un sensore di temperatura e umidità intelligente fai-da-te,

  • Un sensore digitale di temperatura/umidità ad alta precisione AHT10
  • Una scheda Wemos D1 Mini o NodeMCU
  • Un display OLED SSD1306 128×64
  • Alcuni ponticelli (DuPont).
  • Uno stampato in 3D o comunque per assemblare i componenti
  • Saldatore e stagno
  • Un server Home Assistant in esecuzione su un Raspberry Pi o qualsiasi hardware x86 o x64 compatibile. Se vuoi saperne di più, puoi conoscere Home Assistant e come funziona prima di iniziare.

Passaggio 1: preparare il firmware

Devi compilare e preparare il firmware utilizzando il componente aggiuntivo ESPHome nel tuo server Home Assistant. I passi sono come segue:

  1. Nel tuo server Home Assistant, vai su Impostazioni > Componenti aggiuntivi e fai clic sul pulsante Negozio componenti aggiuntivi .
  2. Cerca ESPHome e fai clic sul componente aggiuntivo ESPHome nei risultati della ricerca. Non fare clic su ESPHome (dev) o ESPHome (beta).
  3. Fare clic sul pulsante Installa .
  4. Dopo l’installazione, fare clic su Avvia . Inoltre, abilita le opzioni Avvia all’avvio , Watchdog e Mostra sulla barra laterale .
    installa esphome nel server dell'assistente domestico
  5. Fai clic su Apri interfaccia utente Web e fai clic su +Nuovo dispositivo .
  6. Digita il nome del dispositivo, ad esempio “climate-sensor”, e fai clic su Avanti .
  7. Scegliere di scegliere una scheda specifica e selezionare la scheda Wemos D1 Mini dall’elenco.
  8. Fare clic su Avanti > Salta . Scegli ESP8266 se stai utilizzando la scheda NodeMCU.
  9. Fai clic sull’opzione Modifica , quindi apporta le seguenti modifiche nella finestra dell’editor YAML.

Aggiungi le tue credenziali Wi-Fi:

wifi:
  ssid: "YourWiFiSSID"
  password: "WiFiPassword"

Quindi incolla il seguente codice appena sotto la riga captive_portal ::

web_server:
  port: 80

i2c:
  sda: D2
  scl: D1
  scan: True

time:
- platform: sntp
  id: my_time
sensor:
  - platform: aht10
    temperature:
      name: "Living Room Temperature"
      id: temp
    humidity:
      name: "Living Room Humidity"
      id: hum
    update_interval: 10s
  - platform: uptime
    name: "Station Bureau Uptime Sensor"
  - platform: wifi_signal
    name: "Station Bureau WiFi Signal"
    update_interval: 30s

font:
  - file: 'slkscr.ttf'
    id: font1
    size: 12

  - file: 'BebasNeue-Regular.ttf'
    id: font2
    size: 15

  - file: 'arial.ttf'
    id: font3
    size: 15

display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    reset_pin: D0
    address: 0x3C
    rotation: 180°
    lambda: |-
      // Print "Ravi Smart Home"in top center.
      it.printf(64, 0, id(font1), TextAlign::TOP_CENTER, "Ravi Smart Home");

      // Print temperature (from AHT10 sensor)
      if (id(temp).has_state()) {
        it.printf(127, 23, id(font3), TextAlign::TOP_RIGHT, "Temperature: %.1f°", id(temp).state);
      }

      // Print Humidity (from AHT10 sensor)
      if (id(hum).has_state()) {
        it.printf(127, 60, id(font3), TextAlign::BASELINE_RIGHT, "Humidity: %.1f", id(hum).state);
      }

Sostituisci “Ravi Smart Home” con il tuo titolo. Dopo aver aggiunto e aggiornato il codice, fai clic su Salva e quindi su Installa .

Scegli Collega a questo computer dall’elenco di opzioni e quindi attendi la compilazione del firmware. Questo potrebbe richiedere 10-15 minuti.

Una volta compilato il firmware, cliccare sul pulsante Scarica progetto . Questo scaricherà il file climate-sensor.bin compilato sul tuo sistema.

Passaggio 2: eseguire il flashing del firmware su D1 Mini o NodeMCU

Per eseguire il flashing del firmware scaricato su D1 Mini o NodeMCU, è possibile utilizzare il programma di installazione Web oppure per eseguire il flashing del firmware, è possibile utilizzare lo strumento flash basato sul Web o lo strumento ESPHome-Flasher per il sistema Windows, Linux o Mac. Seguire i passaggi seguenti per eseguire il flashing del firmware utilizzando il programma di installazione basato sul Web:

  1. Dopo aver scaricato il firmware, vedrai l’ opzione web Apri ESPHome . Cliccaci sopra. Questo aprirà una nuova finestra.
  2. Fare clic sul pulsante Connetti , selezionare la porta COM , quindi fare clic sul pulsante Connetti . Se la scheda non viene rilevata, installare i driver CH240/CH341.
  3. Fare clic su Installa > Scegli file e scegliere il file del firmware climate-sensor -factory.bin .
  4. Infine, fai clic sul pulsante Installa . Attendere che lo strumento web ESPHome termini il flash del firmware.

Una volta che il firmware è stato aggiornato, vai alla dashboard di ESPHome e trova il file climate-sensor.bin . Dovrebbe visualizzare lo stato come ONLINE .

Passaggio 3: aggiungi il sensore climatico alla dashboard di Home Assistant

Ora puoi aggiungere il sensore climatico alla dashboard di Home Assistant seguendo questi passaggi:

  1. Nel tuo server Home Assistant, vai su Impostazioni > Dispositivi e servizi .
  2. Il dispositivo del sensore climatico dovrebbe essere automaticamente scoperto e visibile. Fare clic sul pulsante CONFIGURA e quindi su INVIA . Questo aggiungerà il dispositivo all’elenco dei dispositivi ESPHome.
  3. Fare clic sul sensore climatico elencato sotto ESPHome , quindi fare clic sul collegamento 1 dispositivo .
  4. Fare clic su AGGIUNGI A DASHBOARD > Visualizza > AGGIUNGI A DASHBOARD . Scegli la stanza desiderata in cui desideri aggiungere il sensore.

Passaggio 4: collegare l’AHT10 a D1 Mini o NodeMCU

Fare riferimento alle seguenti istruzioni per collegare il sensore di temperatura e umidità AHT10 alla scheda del microcontrollore D1 Mini o NodeMCU utilizzando i ponticelli.

  1. Collegare il pin VIN dell’AHT10 e del display OLED al pin 5V del D1 Mini o al pin 3.3V sul NodeMCU.
  2. Collegare il pin GND dell’AHT10 e del display OLED al pin G sul D1 Mini o NodeMCU.
  3. Collegare il pin SCL dell’AHT10 e del display OLED al pin D1 del NodeMCU o D1 Mini.
  4. Collegare il pin SDA dell’AHT10 e del display OLED al pin D2 del NodeMCU o D1 Mini.

Avrai bisogno di un saldatore per saldare questi componenti. Puoi imparare a saldare prima di provare questo progetto fai-da-te.

Una volta collegati l’AHT10 e il display OLED, è possibile controllare i valori di temperatura e umidità sul display OLED e sulla dashboard di Home Assistant.

valori di temperatura e umidità visualizzati nella dashboard dell'assistente domestico

I valori cambieranno in tempo reale. Pertanto, puoi verificare se funziona correttamente soffiando sul sensore AHT10. In questo modo i valori di temperatura e umidità cambieranno istantaneamente. Una volta che i test hanno avuto successo, puoi racchiudere i componenti in una custodia stampata in 3D come questa di Thingiverse .

sensore di umidità della temperatura fai da te in custodia stampata in 3d

Puoi anche configurare l’integrazione di Amazon Alexa o Google Assistant in Home Assistant per ricevere notifiche vocali e avvisi quando i livelli di temperatura o umidità superano o scendono a un certo livello.

Il tuo sensore climatico digitale è pronto

È così che puoi creare un sensore di temperatura e umidità digitale intelligente basato su Wi-Fi per la tua stanza e integrarlo con il server Home Assistant per creare automazione e attivare altri dispositivi intelligenti. Ad esempio, è possibile aggiungere l’automazione per spegnere un’unità HVAC una volta che la temperatura e/o l’umidità raggiungono o scendono a un certo livello.

Lascia un commento

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