Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Naglalaro ako sa paligid ng mga IOT device sa huling ilang buwan, at nag-deploy ng halos 10 magkakaibang mga sensor upang subaybayan ang mga kondisyon sa paligid ng aking bahay at maliit na bahay. At orihinal kong sinimulan ang paggamit ng AOSONG DHT22 temperate sensor ng kahalumigmigan, ngunit nalaman na pagkatapos ng ilang buwan ang mga halaga mula sa sensor ng halumigmig kung saan sa pangkalahatan ay off. Tinitingnan ko ang halumigmig at magpapakita ito ng 40% o higit na mas mataas kaysa sa aktwal na mga kundisyon. Kaya't tumingin ako sa paligid at nalaman na ang Bosch BME280 Temperature / Pressure / Humidity sensor ay may napakahusay na reputasyon para sa kawastuhan (https://www.kandrsmith.org/RJS/Misc/Hygrometers/ca…). Kaya't sa pagtuturo na ito, ikokonekta namin ang isang Bosch BME280 sa Raspberry PI Model 2, at gagawin ang magagamit na impormasyon sa Apple HomeKit sa pamamagitan ng Homebridge.
Hakbang 1: Kolektahin ang Mga Bahaging Kailangan mo
Para sa mga piyesa, pumunta sa iyong mga paboritong tindahan ng mga bahagi at pagbili.
-
1PCS GY-BME280 3.3 katumpakan altimeter atmospheric pressure BME280 sensor module
Mayroong maraming mga pagkakaiba-iba ng breakout board ng mga ito doon. Ang circuit na ginamit ko ay batay sa breakout board ng GY-BME / P280, ngunit gagana rin sa iba
- 50cm 5pin babae sa pambabae na konektor ng DuPont
Mayroon na akong RaspberryPI, kaya hindi ko na kailangang bilhin iyon.
Para sa isang kaso para sa BME280, gumamit ako ng isang lumang may-hawak ng SD Memory card na pinagsisipa ko. Maaaring gusto mong tumingin sa paligid at makita kung ano ang maaari mong makita na katulad.
Hakbang 2: Mga kable ng Sensor
Upang ikonekta ang sensor gagamitin namin ang isang dulo ng 5 pin na babae / babae na dupont cable upang kumonekta sa RaspberryPI at ang isa pa sa sensor. Mangangailangan ito ng paghihinang;-)
- Gupitin nang halos kalahati ang 5 pin na babae / babae na dupont cable, at gagamitin namin ang isang dulo para sa koneksyon sa sensor. Ang kabilang dulo ay ekstrang at maaaring magamit para sa isang pangalawang sensor.
- Putulin ang mga pinutol na dulo ng kawad na halos 3mm, at i-lata ang mga dulo.
- Kasunod sa naka-attach na eskematiko, maghinang ang kawad ay nagtatapos sa naaangkop na mga koneksyon sa BME280.
- Ang Dupont connecter (RPI) Pin 1 (3.3 VCC) ay kumokonekta sa Pin 1 - (VCC) sa sensor
- Ang Dupont connecter (RPI) Pin 2 (SDA1) ay kumokonekta sa Pin 4 - (SDA) sa sensor
- Ang Dupont connecter (RPI) Pin 3 (SCL1) ay kumokonekta sa Pin 4 - (SCL) sa sensor
- Ang Dupont connecter (RPI) Pin 4 (GPIO4) ay hindi ginagamit, at ang wire ay dapat na putulin sa dulo ng dupont konektor.
- Ang Dupont connecter (RPI) Pin 5 (GND) ay kumokonekta sa Pin 4 - (GND) sa sensor
Ang mga Pin 5 (CSB) at 6 (SDO) ay hindi ginagamit sa dulo ng sensor
Hakbang 3: Ikonekta ang Sensor sa RaspberryPI
Upang ikonekta ang sensor sa RaspberryPI, mangyaring i-power down ang iyong PI. At ikonekta ang konektor ng dupont sa konektor ng 40 pin GPIO, lining up ang mga pin tulad ng sumusunod. Ito ay tumutugma sa kaliwang bahagi ng 40 pin header, simula sa tuktok.
1. Pagkonekta sa sensor
- Ang Dupont connecter Pin 1 (3.3 VCC) ay kumokonekta sa RPI Pin 1
- Ang Dupont connecter Pin 2 (SDA1) ay kumokonekta sa RPI Pin 3
- Ang Dupont connecter Pin 3 (SCL1) ay kumokonekta sa RPI Pin 5
- Ang Dupont connecter Pin 4 (GPIO4) ay kumokonekta sa RPI Pin 7
- Ang Dupont connecter Pin 5 (GND) ay kumokonekta sa RPI Pin 9
2. Lakas sa iyong RaspberryPI
Hakbang 4: I-configure ang Iyong RaspberryPI upang Kumonekta sa Sensor
Para sa mga hakbang na ito kailangan namin ang iyong RaspberryPI na pinapagana, at kailangan mong mag-login dito.
1. Tingnan kung maaari mong makita ang sensor sa pamamagitan ng i2c bus
sudo i2cdetect -y 1
At ang output ay dapat magmukhang ganito, ang mahalagang bahagi ng output na ito ay ang 76 sa hilera 70:. Ito ang iyong sensor
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 --
Kung sakaling makakuha ka ng hindi nahanap na utos o iba pang mga pagkakamali, mangyaring sundin ang mga hakbang dito.
Adafruit - Pag-configure ng I2C
Para sa lahat ng aking RaspberryPI kailangan kong sundin ang mga hakbang na ito.
2. Magdagdag ng mga pahintulot sa account na iyong tatakbo mula sa homebridge upang kumonekta sa i2c bus sa RaspberryPI. Gawin ito bilang gumagamit na iyong tatakbo mula sa homebridge.
sudo adduser $ USER i2c
Hakbang 5: I-install ang Homebridge-bme280 Plugin
Ipagpalagay ko na mayroon ka nang naka-install na homebridge at nagtatrabaho sa RaspberryPI, at kung wala ka roon ng maraming mga gabay sa internet upang makuha ito at tumakbo sa RaspberryPI.
1. I-install ang homebridge-bme280 gamit ang utos
sudo npm install -g NorthernMan54 / homebridge-bme280 --unsafe-perm
Kung nabigo ito sa error na ito
npm ERR! code 128npm ERR! Nabigo ang utos: / usr / bin / git clone -q git: //github.com/NorthernMan54/homebridge-bme280.git /var/root/.npm/_cacache/tmp/git-clone-7237d51c npm ERR! nakamamatay: hindi makalikha ng mga nangungunang direktoryo ng '/var/root/.npm/_cacache/tmp/git-clone-7237d51c': Tinanggihan ang pahintulot npm ERR!
Subukan mo ito
sudo su -
npm install -g NorthernMan54 / homebridge-bme280 --unsafe-perm
2. Lumikha ng iyong config.json file sa ~ /.homebridge kasama ang mga sumusunod:
{
"tulay": {
"pangalan": "Homebridge",
"username": "CC: 22: 3D: E3: CE: 30",
"port": 51826,
"pin": "031-45-154"
},
"description": "Ito ay isang halimbawa ng file ng pagsasaayos na may isang pekeng accessory at isang pekeng platform. Maaari mo itong magamit bilang isang template para sa paglikha ng iyong sariling config file na naglalaman ng mga aparato na tunay na pagmamay-ari mo.",
"accessories": [
{
"accessory": "BME280",
"name": "Sensor",
"name_temperature": "Temperatura",
"name_humidity": "Humidity",
"options": {
"i2cBusNo": 1,
"i2cAddress": "0x76"
}
}
],
"platform": [
]
}
3. Magsimula ng homebridge, ang output ay dapat magmukhang ganito.
[2016-11-12, 6:25:29 AM] Loaded plugin: homebridge-bme280 [2016-11-12, 6:25:29 AM] Nagrerehistro ng accessory na 'homebridge-bme280. BME280' [2016-11-12, 6:25:29 AM] --- [2016-11-12, 6:25:30 AM] Na-load ang config.json na may 1 accessories at 0 platform. [2016-11-12, 6:25:30 AM] --- [2016-11-12, 6:25:30 AM] Naglo-load ang 0 platform… [2016-11-12, 6:25:30 AM] Nilo-load 1 mga aksesorya… [2016-11-12, 6:25:30 AM] [Sensor] Inisyal ang accessory ng BME280… [2016-11-12, 6:25:30 AM] [Sensor] Mga pagpipilian sa sensor ng BME280: {"i2cBusNo": 1, "i2cAddress": 118} Natagpuan ang chip ng BME280 id 0x60 sa bus i2c-1 address 0x76 [2016-11-12, 6:25:31 AM] [Sensor] Ang tagumpay sa BME280 ay nagtagumpay [2016-11-12, 6:25: 31 AM] Data ng [Sensor] (temp) = {"temperatura_C": 18.23, "halumigmig": 39.1710189421353, "pressure_hPa": 1016.8910377944043} I-scan ang code na ito sa iyong HomeKit App sa iyong iOS device upang ipares sa Homebridge: ^
4. Ipares ang iyong halimbawa ng homebridge sa iyong iPhone kung kinakailangan.
5. Masiyahan
Mangyaring tandaan na ang sensor ng presyon ng barometric ay makikita lamang sa mga 3rd party na homekit app, at hindi sa "Home", 6. Mga Kredito
- Salamat kay Robert X. Seger para sa homebridge-bme280 plugin.
- Salamat kay Skylar Stein para sa module ng node.js bme280-sensor
- Adafruit para sa pag-publish ng gabay sa pag-set up ng I2C.