Narzędzia użytkownika

Narzędzia witryny


rpi
Home Assistant, ESPHome, BMP280 - monitorowanie temperatury i ciśnienia.
Lista:
  • Raspbery PI 3 wzwyż - chociaż ja robie ten poradnik używając rpi 2 :P raspberry pi - koszt około €43
  • ESP32 płytka esp32 - koszt około €3.5
  • Karta microSD - koszt około €10
  • Czujnik BMP280 - temperatura, ciśnienie bmp280 - koszt około €1.5
  • Kabelki do łączenia ESP32 z BMP280
  • kabel zasilający ESP32 micro usb
  • Ethernet kabel
  • WIFI dongle
  • opcjonalnie obudowa, ja swoja zaprojektowałem i możesz ja pobrać tutaj https://github.com/karcio/stls/blob/main/esp32_sensor_bottom_v1.scad

Przygotowanie HAOS obrazu:
https://github.com/home-assistant/operating-system/releases/download/13.0/haos_rpi2-13.0.img.xz
  • rozpakuj używając komendy
unxz haos_rpi2-13.0.img.xz
  • włóż karte SD do slotu laptopie i poniższą komenda sprawdź jak rozpoznana jest karta - u mnie to /dev/mmcbkl0
sudo fdisk -l  
  • przygotuj obraz na karcie SD
sudo dd if=Downloads/haos_rpi2-13.0.img  of=/dev/mmcblk0 status=progress bs=1M
Pierwsze uruchomienie HA
  • włóż kartę SD do RPI
  • podłącz Ethernet kabel
  • podłącz WIFI dongle
  • podłącz zasilanie i poczekaj moment, aż HA się załąduje
  • na ruterze sprawdź jakie IP na RPI
  • w przeglądarce wpisz adres: IP:8123
  • na początku stwórz konto
Czynności po pierwszym uruchomieniu:
  • idź do ustawień > system > sieć wybierz zakładke WIFI
  • w ip4 wybierz automatyczny
  • w WI-FI przeskanuj sieć, wpisz SSID i hasło - po czym zapisz ustawienie
  • zrestartuj HA aby uaktywnić WIFI dongle
Instalacja dodatków:
  • idź do: ustawienia > Add-ons
  • naciśnij na klawisz dodaj i zainstaluj esphome i File editor
  • esphome pozwoli podłączyć esp32 płytkę do HA
  • file editor pozwoli edytować pliki konfiguracyjne HA
Struktura konfiguracyjna HA
  • configuration.yml
  • automation.yml
  • secrets.yml
Przygotowanie płytki ESP32 i podłączenie BMP280
  • BMP280 ma 6 pinów ale my użyjemy 4 VCC, GRN, SCL, SDA
  • podłącz piny:
    • BMP280 VCC → ESP32 3V
    • BMP280 GRN → ESP32 GRN
    • BMP280 SCL → ESP32 D22
    • BMP280 SDA → ESP32 D21

Podłączenie esp32 do RPI
  • podłącz esp32 za pomocą USB do RPI
  • kliknij w ESPHome w zakładce
  • kliknij dodaj nowe urządzenie

tak powinno wyglądać ustawienie:

esphome:
  name: esp32-01
  friendly_name: esp32-01

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "xxx"

ota:
  - platform: esphome
    password: "xxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-01 Fallback Hotspot"
    password: "xxx"

captive_portal:

i2c:
  sda: 21
  scl: 22
  scan: True

sensor:
  - platform: bmp280_i2c
    temperature:
      name: "bedroom temperature"
      oversampling: 16x
    pressure:
      name: "bedroom pressure"
    address: 0x76
    update_interval: 60s

a tak wygląda przykładowa automatyzacja, jak temperatura wzrośnie powyżej 25 stopni, lub spadnie poniżej 5 lub 0 - wysłany zostanie email z ostrzeżeniem. Chciałbym tutaj zaznaczyć, że poniższa automatyzacja dotyczy czujnika umieszczonego poza domem. Stąd te niskie wartości temperatury :)

alias: "Temperature"
description: low temperature level
trigger:
  - platform: state
    entity_id:
      - sensor.temperature
    to: null
    for:
      hours: 0
      minutes: 30
      seconds: 0
condition:
  - condition: or
    conditions:
      - condition: numeric_state
        entity_id: sensor.temperature
        above: 25
      - condition: numeric_state
        entity_id: sensor.temperature
        below: 5
      - condition: numeric_state
        entity_id: sensor.temperature
        below: 0
action:
  - data:
      message: "Temperature is: {{ states('sensor.temperature')}} C"
      title: "Warning: temperature is {{ states('sensor.temperature')}} C"
    action: notify.email_notification
mode: single

Dokładna dokumentacja jest tutaj: https://www.home-assistant.io/installation/raspberrypi

rpi.txt · ostatnio zmienione: 2024/10/09 23:22 przez karcio