Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
M-am jucat cu dispozitivele IOT în ultimele câteva luni și am implementat aproximativ 10 senzori diferiți pentru a monitoriza condițiile din jurul casei și al cabanei mele. Și inițial începusem să folosesc senzorul de umiditate temperat AOSONG DHT22, dar am constatat că, după câteva luni, valorile senzorului de umiditate s-au oprit major. M-aș uita la umiditate și ar arăta cu 40% sau mai mult decât condițiile reale. Așa că m-am uitat în jur și am constatat că senzorul de temperatură / presiune / umiditate Bosch BME280 avea o reputație foarte bună de acuratețe (https://www.kandrsmith.org/RJS/Misc/Hygrometers/ca…). Deci, în acest instructable vom conecta un Bosch BME280 la Raspberry PI Model 2 și vom pune la dispoziția Apple HomeKit informațiile prin Homebridge.
Pasul 1: Colectați piesele de care aveți nevoie
Pentru piese, mergeți la magazinul dvs. preferat de piese și cumpărați.
-
1PCS GY-BME280 3.3 altimetru de precizie presiune atmosferică modul senzor BME280
Există numeroase variante ale panourilor de breakout. Circuitul pe care îl folosesc s-a bazat pe placa GY-BME / P280, dar ar funcționa și cu alții
- Cablu conector DuPont de 50 cm 5 pini mamă la mamă
Am avut deja RaspberryPI, deci nu a fost nevoie să achiziționez acest lucru.
Pentru o carcasă pentru BME280, am folosit un suport vechi pentru cardul de memorie SD pe care l-am lovit. Poate doriți să vă uitați în jur și să vedeți ce puteți găsi similar.
Pasul 2: Cablarea senzorului
Pentru a conecta senzorul, vom folosi un capăt al cablului dupont feminin / feminin cu 5 pini pentru a ne conecta la RaspberryPI și celălalt la senzor. Acest lucru va necesita lipire;-)
- Tăiați cablul dupont feminin / feminin cu 5 pini aproximativ în jumătate și vom folosi un capăt pentru conectarea la senzor. Celălalt capăt este de rezervă și ar putea fi folosit pentru un al doilea senzor.
- Tăiați capetele tăiate ale sârmei cu aproximativ 3 mm și tăiați capetele.
- După schema atașată, lipiți capetele firului la conexiunile corespunzătoare de pe BME280.
- Conectorul Dupont (RPI) Pinul 1 (3,3 VCC) se conectează la pinul 1 - (VCC) de pe senzor
- Conectorul Dupont (RPI) Pinul 2 (SDA1) se conectează la Pinul 4 - (SDA) de pe senzor
- Conectorul Dupont (RPI) Pinul 3 (SCL1) se conectează la Pinul 4 - (SCL) de pe senzor
- Conectorul Dupont (RPI) Pinul 4 (GPIO4) nu este utilizat, iar firul trebuie tăiat la capătul conectorului dupont.
- Conectorul Dupont (RPI) Pinul 5 (GND) se conectează la pinul 4 - (GND) de pe senzor
Pinii 5 (CSB) și 6 (SDO) sunt neutilizați la capătul senzorului
Pasul 3: Conectați senzorul la RaspberryPI
Pentru a conecta senzorul la RaspberryPI, vă rugăm să opriți PI. Și conectați conectorul dupont la conectorul GPIO cu 40 de pini, aliniați pinii după cum urmează. Aceasta va corespunde cu partea stângă a antetului cu 40 de pini, începând din partea de sus.
1. Conectarea senzorului
- Conectorul Dupont Pin 1 (3,3 VCC) se conectează la RPI Pin 1
- Conectorul Dupont Pin 2 (SDA1) se conectează la RPI Pin 3
- Conectorul Dupont Pin 3 (SCL1) se conectează la RPI Pin 5
- Conectorul Dupont Pin 4 (GPIO4) se conectează la RPI Pin 7
- Conectorul Dupont Pin 5 (GND) se conectează la RPI Pin 9
2. Porniți RaspberryPI
Pasul 4: Configurați RaspberryPI pentru a vă conecta la senzor
Pentru acești pași, avem nevoie de RaspberryPI pornit și trebuie să vă conectați la acesta.
1. Vedeți dacă puteți vedea senzorul prin intermediul magistralei i2c
sudo i2cdetect -y 1
Iar ieșirea ar trebui să arate astfel, partea importantă a acestei ieșiri este 76 din rândul 70:. Acesta este senzorul tău
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- 76 --
În cazul în care comanda nu a fost găsită sau alte erori, urmați pașii de aici.
Adafruit - Configurarea I2C
Pentru toate RaspberryPI-urile mele, am avut nevoie să urmez acești pași.
2. Adăugați permisiuni la contul din care veți rula homebridge pentru a vă conecta la magistrala i2c de pe RaspberryPI. Faceți acest lucru ca utilizator de la care veți rula homebridge.
sudo adduser $ USER i2c
Pasul 5: Instalați pluginul Homebridge-bme280
Voi presupune că aveți deja homebridge instalat și care lucrează la RaspberryPI și, dacă nu aveți o mulțime de ghiduri pe internet pentru a-l pune în funcțiune pe RaspberryPI.
1. Instalați homebridge-bme280 cu comanda
sudo npm install -g NorthernMan54 / homebridge-bme280 --unsafe-perm
Dacă acest lucru eșuează cu această eroare
npm ERR! cod 128npm ERR! Comanda a eșuat: / usr / bin / git clone -q git: //github.com/NorthernMan54/homebridge-bme280.git /var/root/.npm/_cacache/tmp/git-clone-7237d51c npm ERR! fatal: nu s-au putut crea directoare principale ale '/var/root/.npm/_cacache/tmp/git-clone-7237d51c': permisiunea a fost refuzată npm ERR!
Incearca asta
sudo su -
npm install -g NorthernMan54 / homebridge-bme280 --unsafe-perm
2. Creați fișierul config.json în ~ /.homebridge cu următoarele:
{
„pod”: {
"name": "Homebridge",
"nume de utilizator": "CC: 22: 3D: E3: CE: 30", „port”: 51826,
„pin”: „031-45-154”
},
"description": "Acesta este un exemplu de fișier de configurare cu un accesoriu fals și o platformă falsă. Puteți utiliza acest lucru ca șablon pentru crearea propriului fișier de configurare care conține dispozitivele pe care le dețineți.",
"accesorii": [
{
„accesoriu”: „BME280”,
"name": "Senzor", "name_temperature": "Temperatură",
"name_humidity": "Umiditate", "Opțiuni": {
„i2cBusNo”: 1, "i2cAddress": "0x76"
}
}
], „platforme”: [
]
}
3. Porniți homebridge, rezultatul ar trebui să arate cam așa.
[2016-11-12, 6:25:29 AM] Plugin încărcat: homebridge-bme280 [2016-11-12, 6:25:29 AM] Înregistrarea accesoriului „homebridge-bme280. BME280” [2016-11-12, 6:25:29 AM] --- [2016-11-12, 6:25:30 AM] Config.json încărcat cu 1 accesorii și 0 platforme. [2016-11-12, 06:25:30] --- [2016-11-12, 06:25:30] Se încarcă 0 platforme … [2016-11-12, 06:25:30] Se încarcă 1 accesorii … [2016-11-12, 6:25:30 AM] [Senzor] Inițializarea accesoriului BME280 … [2016-11-12, 6:25:30 AM] [Senzor] Opțiuni senzor BME280: {"i2cBusNo": 1, „i2cAddress”: 118} S-a găsit codul BME280 0x60 pe adresa i2c-1 0x76 [2016-11-12, 6:25:31 AM] [Senzor] Initializarea BME280 a reușit [2016-11-12, 6:25: 31 AM] [Senzor] date (temp) = {"temperature_C": 18.23, "umiditate": 39.1710189421353, "pressure_hPa": 1016.8910377944043} Scanați acest cod cu aplicația HomeKit de pe dispozitivul dvs. iOS pentru a se asocia cu Homebridge: ^
4. Dacă este necesar, asociați instanța homebridge cu iPhone-ul.
5. Bucură-te
Vă rugăm să rețineți că senzorul de presiune barometrică este vizibil numai în aplicațiile homekit de la terți și nu în „Acasă”, 6. Credite
- Mulțumim lui Robert X. Seger pentru pluginul homebridge-bme280.
- Mulțumim lui Skylar Stein pentru modulul node.js bme280-sensor
- Adafruit pentru publicarea ghidului de configurare I2C.