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:
- ściągnij obraz odpowiedni do twojego RPI z lokalizacji: https://github.com/home-assistant/operating-system/releases/tag/13.0
- Wypunktowaniew moim przypadku ściągnąłem ten obraz
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: przez karcio







