Integrarea BME680 cu Home Assistant
- 3 minute de citit
- 6 exemple de cod
- 5 imagini
Disponibil și în English
Pe această pagină
Salut 👋,
În acest articol scurt voi arăta cum să folosești integrarea BME680 pentru Home Assistant cu un senzor BME680.
Te rog să reții că rulez Home Assistant core pe Raspbian OS.
Configurarea Raspberry Pi
Înainte de a conecta senzorul, va trebui să activezi interfața I2C pe Raspberry Pi și să instalezi câteva unelte suplimentare, utile pentru depanare.
Pentru a activa interfața I2C, rulează:
sudo raspi-configApoi mergi la Interfacing options->I2C și selectează yes.
Apoi, instalează următoarele pachete:
sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-devConfigurarea senzorului
Primul pas este să cumperi senzorul; dacă poți, ia unul cu pini deja lipiți, altfel va trebui să îi lipești tu.
Eu l-am luat de la Pimoroni și nu m-au dezamăgit niciodată, livrează și în UE.
Senzorul BME680. Captură de ecran Pimoroni 2022-01-16
Apoi, în funcție de pinii pe care i-ai ales, vei avea nevoie de patru fire jumper male-to-female pentru a conecta BME680 la Raspberry Pi.
Pentru a conecta senzorul la Raspberry Pi, consultă următoarea diagramă:
Trebuie să conectezi firele la următoarele magistrale:
- Alimentarea senzorului -> Raspberry PI 3.3V
- GND senzor -> GND Raspberry PI
- SCL senzor -> SCL Raspberry PI
- SDA senzor -> SDA Raspberry PI
Verifică dacă senzorul este detectat folosind următoarea comandă pe Raspberry Pi.
/usr/sbin/i2cdetect -y 1Ar trebui să obții un rezultat ca acesta:
0 1 2 3 4 5 6 7 8 9 a b c d e f00: -- -- -- -- -- -- -- -- -- -- -- -- --10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --70: -- -- -- -- -- -- -- 76Adresa I2C a senzorului poate fi 0x76 sau 0x77. Conform rezultatului de mai sus, adresa senzorului în cazul nostru este 0x76, ține minte asta.
Configurarea Home Assistant
Adaugă utilizatorul homeassistant în grupul I2C rulând:
sudo addgroup homeassistant i2cApoi, deschide configuration.yaml și modifică secțiunile sensor și homeassistant.customize conform:
Nu uita să înlocuiești i2c_address : 0x76 cu adresa ta i2c, dacă este diferită.
homeassistant: name: HomeKit NucuLabs unit_system: metric time_zone: Europe/Bucharest customize: sensor.bme680_sensor_temperature: icon: mdi:thermometer friendly_name: Temperature sensor.bme680_sensor_humidity: icon: mdi:water friendly_name: Humidity device_class: humidity unit_of_measurement: "%" sensor.bme680_sensor_pressure: icon: mdi:gauge friendly_name: Pressure sensor.bme680_sensor_air_quality: icon: mdi:blur friendly_name: Air Quality device_class: pm25 unit_of_measurement: "%"sensor: - platform: bme680 i2c_address: 0x76 monitored_conditions: - temperature - humidity - pressure - gas - airqualityRepornește dispozitivul după ce ai modificat configuration.yaml, rulând sudo reboot.
Notă: Secțiunea customize sensor.bme680_sensor_air_quality setează clasa de dispozitiv a măsurătorii calității aerului BME680 la pm25, dar aceasta nu este o măsurătoare pm25, ci un algoritm proprietar conform fișei tehnice BME680. Valorile mari indică o calitate bună a aerului, iar valorile mici o calitate slabă. În schimb, la măsurătorile pm25, valorile mari indică o calitate slabă a aerului, iar valorile mici una bună.
Aceasta este un hack și depinde de tine dacă vrei să îl păstrezi. Dacă nu setezi clasa de dispozitiv la pm25, măsurătoarea nu va fi vizibilă în Apple Homekit, deoarece Homekit nu recunoaște acest tip de măsurătoare. Dacă știi o altă metodă de a o face vizibilă în Homekit, spune-mi. 😀
După ce Home Assistant repornește, următoarele entități ar trebui să fie disponibile în interfața Lovelace:
Mulțumesc că ai citit! 🍻