Loft Overvågning & Barometer

Wemos D1 Mini · Dual DS18B20 (1-Wire Bus) · BMP280 Barometer

Multi-sensor telemetri monteret i loftsrummet til måling af temperaturgradienter, lufttryk og trådløs Wi-Fi diagnostik.

← Tilbage til ESPHome Hardware Oversigt

Projektoverblik

Formålet med dette projekt er overvågning af loftsrummets mikroklima. Ved at tilkoble to DS18B20 sensorer på den samme 1-Wire bus samt en BMP280 sensor via I2C, overvåges både temperaturforskelle i loftsrummet og det atmosfæriske barometertryk i realtid.

Fysisk Placering & Sensoropdeling

Placeringen på loftet stiller særlige krav til målingerne grundet store temperaturudsving mellem sommer og vinter:

Sensorplaceringer i Loftsrummet
  • DS18B20 Føler #1 (Loftrum temperatur): Placeret frit i loftsrummets luftmasse for at registrere den generelle omgivelsestemperatur.
  • DS18B20 Føler #2 (Loft temperatur): Placeret tættere ved isoleringen/etageadskillelsen for at måle temperaturforskellen ned mod boligen.
  • BMP280 (Barometer & Temp): Monteret på hovedboardet til præcis måling af atmosfærisk lufttryk (hPa) og lokal board-temperatur.
  • Placering af Enhed: Wemos D1 Mini styreenheden er monteret i en støv- og berøringssikker boks hævet over isoleringen.

Hardware & Dual 1-Wire Wiring Diagram

Opstillingen udnytter 1-Wire protokollens bus-topologi, hvor flere DS18B20 følere deler nøjagtig samme dataledning og differentieres via deres unikke 64-bit ROM-adresser.

Komponentliste & Busforbindelser
  • Mikrokontroller: ESP8266 Wemos D1 Mini
  • Temperatursensorer: 2x Maxim / Dallas DS18B20 (Parallelt koblede på 1-Wire bus)
  • Barometersensor: Bosch BMP280 (I2C Bus: SDA = GPIO2 / D4, SCL = GPIO14 / D5)
  • Pull-up Modstand: 1x 4.7 kΩ modstand fælles monteret mellem VCC (3.3V) og Data (GPIO0).

Skematisk Diagram (Shared 1-Wire Bus & I2C)

  [ Wemos D1 Mini ]                 [ 1-Wire Bus ]             [ DS18B20 #1 & #2 ]
  +-----------------+               +--------------------+     +-------------------+
  | 3.3V (VCC)  ----+------*--------+--------------------+---->| VCC (Rød)        |
  |                 |      |        |                    |     |                   |
  | GPIO0 (D3)  ----+---*--|--------+--------------------+---->| DATA (Gul/Hvid)   |
  |                 |   |  |        |                    |     |                   |
  | GND         ----+---|--|--------+--------------------+---->| GND (Sort)        |
  +-----------------+   |  |        +--------------------+     +-------------------+
                        |  |
                       [4.7kΩ Modstand] (Mellem VCC og DATA)

  [ I2C Bus ]
  | GPIO2 (D4 / SDA)+-----------------------------------------> SDA (BMP280)
  | GPIO14(D5 / SCL)+-----------------------------------------> SCL (BMP280)
            

DS18B20 Datasheet Højdepunkter

Nøgledata for 1-Wire bussen uddraget direkte fra Maxim Integrated DS18B20 databladet:

Tekniske Specifikationer (Bus-Topologi)
  • Multi-drop Kapacitet: Adskillige sensorer kan parallelkobles på samme dataledning takket være individualiserede 64-bit ROM-koder.
  • Måleområde: -55°C til +125°C (-67°F til +257°F).
  • Nøjagtighed: ±0.5°C præcision i området fra -10°C til +85°C.
  • Opløsning: Konfigurerbar fra 9 til 12 bits.
  • Driftsspænding: 3.0V til 5.5V DC.
Maxim Integrated DS18B20 Officielt Datasheet Komplet teknisk dokumentation i PDF-format (Pinout, timings & 1-Wire bus adresser).
📄 Hent DS18B20 Datasheet (PDF) →

ESPHome YAML Konfiguration

Komplet firmware-konfiguration flashet til Wemos D1 Mini enheden. Koden opretter I2C-bussen, 1-Wire bussen med de to specifikke sensoradresser, BMP280 barometeret samt konvertering af Wi-Fi RSSI til procentuel signalstyrke:

esphome:
  name: wemos-loft
  friendly_name: Wemos Loft

esp8266:
  board: d1_mini

# Aktiverer logging
logger:

# Aktiverer Home Assistant API (kryptografisk nøgle)
api:
  encryption:
    key: "!secret api_key"

ota:
  - platform: esphome
    password: "!secret ota_password"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "Wemos-Loft Fallback Hotspot"
    password: "!secret ap_password"

captive_portal:

button:
  - platform: restart
    name: "Genstart Wemos Loft"
    id: restart_button
  - platform: safe_mode
    name: "Genstart i Safe Mode"

web_server:
  port: 80

# I2C bus konfiguration til BMP280
i2c:
  sda: GPIO2 # D4
  scl: GPIO14 # D5
  scan: true
  id: bus_a

uart:
  id: uart_bus
  tx_pin: GPIO5  # D1
  rx_pin: GPIO4  # D2
  baud_rate: 9600
  data_bits: 8
  parity: EVEN
  stop_bits: 1

# 1-Wire bus konfiguration på GPIO0
one_wire:
  - platform: gpio
    pin: GPIO0

sensor:
  # BMP280 I2C Barometer & Temperatur
  - platform: bmp280_i2c
    address: 0x76
    temperature:
      name: "Loft Temperature"
    pressure:
      name: "Loft Pressure"

  # Wi-Fi Signal Diagnostics (dB & Procent)
  - platform: wifi_signal
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"

  - platform: copy
    source_id: wifi_signal_db
    name: "WiFi Signal Percent"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "%"
    entity_category: "diagnostic"

  # 1-Wire DS18B20 Sensor #1
  - platform: dallas_temp
    address: 0x4a00000c49992228
    name: "Loftrum tempratur"
    update_interval: 120s

  # 1-Wire DS18B20 Sensor #2 (Samme bus)
  - platform: dallas_temp
    address: 0x92de94ce95a96b28
    name: "Loft tempratur"
    update_interval: 120s

  - platform: uptime
    name: "Uptime"
    entity_category: "diagnostic"

text_sensor:
  - platform: version
    name: "ESPHome Version"
    entity_category: "diagnostic"

Anvendt Teknologi Stack

Wemos D1 Mini 2x DS18B20 (1-Wire Bus) Bosch BMP280 (I2C) ESPHome Native API Barometrisk Lufttryk Home Assistant Integration