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: 2024/10/09 23:22 przez karcio