สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ฉันได้ทดลองใช้อุปกรณ์ IOT ในช่วงไม่กี่เดือนที่ผ่านมา และได้ติดตั้งเซ็นเซอร์ต่างๆ ประมาณ 10 ตัวเพื่อตรวจสอบสภาพรอบๆ บ้านและกระท่อมของฉัน และเดิมทีฉันเริ่มใช้เซ็นเซอร์วัดความชื้นสัมพัทธ์ AOSONG DHT22 แต่พบว่าหลังจากนั้นไม่กี่เดือน ค่าจากเซ็นเซอร์ความชื้นส่วนใหญ่ปิด ฉันจะดูที่ความชื้นและมันจะแสดง 40% หรือมากกว่าสภาพจริง ดังนั้นฉันจึงมองไปรอบๆ และพบว่าเซ็นเซอร์อุณหภูมิ/ความดัน/ความชื้น BME280 ของ Bosch มีชื่อเสียงในด้านความแม่นยำที่ดีมาก (https://www.kandrsmith.org/RJS/Misc/Hygrometers/ca…) ดังนั้นในคำแนะนำนี้ เราจะเชื่อมต่อ Bosch BME280 กับ Raspberry PI Model 2 และทำให้ข้อมูลพร้อมใช้งานสำหรับ Apple HomeKit ผ่าน Homebridge
ขั้นตอนที่ 1: รวบรวมชิ้นส่วนที่คุณต้องการ
สำหรับอะไหล่ ให้ไปที่ร้านค้าอะไหล่ที่คุณชื่นชอบและซื้อ
-
1PCS GY-BME280 3.3 เครื่องวัดระยะสูงความดันบรรยากาศ BME280 sensor module
มีรูปแบบกระดานฝ่าวงล้อมมากมายเหล่านี้ออกมี วงจรที่ฉันใช้นั้นใช้บอร์ดฝ่าวงล้อม GY-BME/P280 แต่จะทำงานร่วมกับผู้อื่นได้เช่นกัน
- สายต่อ DuPont 50 ซม. 5 พินตัวเมียถึงตัวเมีย
ฉันมี RaspberryPI อยู่แล้ว ฉันก็เลยไม่ต้องซื้อมัน
สำหรับเคสสำหรับ BME280 ฉันใช้ที่ใส่การ์ดหน่วยความจำ SD แบบเก่าที่ฉันใช้อยู่ คุณอาจต้องการมองไปรอบ ๆ และดูว่าคุณจะพบอะไรที่คล้ายคลึงกัน
ขั้นตอนที่ 2: การเดินสายไฟเซนเซอร์
ในการเชื่อมต่อเซ็นเซอร์ เราจะใช้ปลายด้านหนึ่งของสายเคเบิลดูปองท์ตัวเมีย/ตัวเมีย 5 พินเพื่อเชื่อมต่อกับ RaspberryPI และปลายอีกด้านหนึ่งกับเซ็นเซอร์ สิ่งนี้จะต้องมีการบัดกรี;-)
- ตัดสายเคเบิลดูปองท์ตัวเมีย/ตัวเมีย 5 พินประมาณครึ่งหนึ่ง แล้วเราจะใช้ปลายด้านหนึ่งสำหรับการเชื่อมต่อกับเซ็นเซอร์ ปลายอีกด้านเป็นอะไหล่และสามารถใช้เป็นเซ็นเซอร์ตัวที่สองได้
- เล็มปลายลวดที่ตัดแล้วประมาณ 3 มม. แล้วกรีดปลายลวด
- ตามแผนผังที่แนบมานี้ ให้บัดกรีลวดเข้ากับจุดเชื่อมต่อที่เหมาะสมบน BME280
- ตัวเชื่อมต่อดูปองท์ (RPI) พิน 1 (3.3 VCC) เชื่อมต่อกับพิน 1 - (VCC) บนเซ็นเซอร์
- ตัวเชื่อมต่อดูปองท์ (RPI) พิน 2 (SDA1) เชื่อมต่อกับพิน 4 - (SDA) บนเซ็นเซอร์
- ตัวเชื่อมต่อดูปองท์ (RPI) พิน 3 (SCL1) เชื่อมต่อกับพิน 4 - (SCL) บนเซ็นเซอร์
- ไม่ได้ใช้ขั้วต่อ Dupont (RPI) Pin 4 (GPIO4) และควรตัดลวดที่ปลายขั้วต่อดูปองท์
- ตัวเชื่อมต่อดูปองท์ (RPI) พิน 5 (GND) เชื่อมต่อกับพิน 4 - (GND) บนเซ็นเซอร์
พิน 5 (CSB) และ 6 (SDO) ไม่ได้ใช้ที่ปลายเซ็นเซอร์
ขั้นตอนที่ 3: เชื่อมต่อเซ็นเซอร์กับ RaspberryPI
หากต้องการเชื่อมต่อเซ็นเซอร์กับ RaspberryPI โปรดปิด PI ของคุณ และต่อขั้วต่อดูปองท์เข้ากับขั้วต่อ GPIO 40 พิน โดยเรียงแถวกันดังนี้ ซึ่งจะตรงกับด้านซ้ายของส่วนหัว 40 พิน โดยเริ่มต้นที่ด้านบน
1. การเชื่อมต่อเซ็นเซอร์
- ตัวเชื่อมต่อ Dupont Pin 1 (3.3 VCC) เชื่อมต่อกับ RPI Pin 1
- ตัวเชื่อมต่อ Dupont Pin 2 (SDA1) เชื่อมต่อกับ RPI Pin 3
- ตัวเชื่อมต่อ Dupont Pin 3 (SCL1) เชื่อมต่อกับ RPI Pin 5
- ตัวเชื่อมต่อ Dupont Pin 4 (GPIO4) เชื่อมต่อกับ RPI Pin 7
- ตัวเชื่อมต่อ Dupont Pin 5 (GND) เชื่อมต่อกับ RPI Pin 9
2. เปิด RaspberryPI. ของคุณ
ขั้นตอนที่ 4: กำหนดค่า RaspberryPI ของคุณเพื่อเชื่อมต่อกับ Sensor
สำหรับขั้นตอนเหล่านี้ เราจำเป็นต้องเปิด RaspberryPI และคุณต้องลงชื่อเข้าใช้
1. ดูว่าคุณสามารถเห็นเซ็นเซอร์ผ่านบัส i2c ได้หรือไม่
sudo i2cdetect -y 1
และผลลัพธ์ควรมีลักษณะดังนี้ ส่วนสำคัญของผลลัพธ์นี้คือ 76 ในแถว 70: นี่คือเซ็นเซอร์ของคุณ
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 --
ในกรณีที่คุณไม่ได้รับคำสั่งหรือข้อผิดพลาดอื่น ๆ โปรดทำตามขั้นตอนที่นี่
Adafruit - การกำหนดค่า I2C
สำหรับ RaspberryPI ทั้งหมดของฉัน ฉันจำเป็นต้องทำตามขั้นตอนเหล่านี้
2. เพิ่มการอนุญาตในบัญชีที่คุณจะใช้โฮมบริดจ์เพื่อเชื่อมต่อกับบัส i2c บน RaspberryPI ทำสิ่งนี้ในฐานะผู้ใช้ที่คุณจะใช้โฮมบริดจ์
sudo adduser $USER i2c
ขั้นตอนที่ 5: ติดตั้งปลั๊กอิน Homebridge-bme280
ฉันจะถือว่าคุณได้ติดตั้งโฮมบริดจ์และทำงานบน RaspberryPI แล้ว และหากคุณไม่มีคำแนะนำมากมายบนอินเทอร์เน็ตเพื่อเริ่มต้นใช้งาน RaspberryPI
1. ติดตั้ง homebridge-bme280 ด้วยคำสั่ง
sudo npm install -g NorthernMan54/homebridge-bme280 --unsafe-perm
หากล้มเหลวด้วยข้อผิดพลาดนี้
น. ข้อผิดพลาด! รหัส 128npm ผิดพลาด! คำสั่งล้มเหลว: /usr/bin/git clone -q git://github.com/NorthernMan54/homebridge-bme280.git /var/root/.npm/_cacache/tmp/git-clone-7237d51c npm ERR! ร้ายแรง: ไม่สามารถสร้างไดเรกทอรีชั้นนำของ '/var/root/.npm/_cacache/tmp/git-clone-7237d51c': การอนุญาตถูกปฏิเสธ npm ERR!
ลองนี่สิ
ซูโด ซู -
npm install -g NorthernMan54/homebridge-bme280 --unsafe-perm
2. สร้างไฟล์ config.json ของคุณใน ~/.homebridge ดังนี้:
{
"สะพาน": {
"ชื่อ": "โฮมบริดจ์",
"ชื่อผู้ใช้": "CC:22:3D:E3:CE:30",
"พอร์ต": 51826,
"หมุด": "031-45-154"
},
"description": "นี่คือไฟล์การกำหนดค่าตัวอย่างที่มีอุปกรณ์เสริมปลอมหนึ่งชิ้นและแพลตฟอร์มปลอมหนึ่งชิ้น คุณสามารถใช้ไฟล์นี้เป็นเทมเพลตสำหรับสร้างไฟล์การกำหนดค่าของคุณเองซึ่งมีอุปกรณ์ที่คุณเป็นเจ้าของจริง",
"เครื่องประดับ": [
{
"อุปกรณ์เสริม": "BME280",
"ชื่อ": "เซนเซอร์",
"name_temperature": "อุณหภูมิ",
"name_humidity": "ความชื้น",
"ตัวเลือก": {
"i2cBusNo": 1,
"i2cAddress": "0x76"
}
}
],
"แพลตฟอร์ม": [
]
}
3. เริ่มโฮมบริดจ์ เอาต์พุตควรมีลักษณะดังนี้
[2559-11-12, 6:25:29 น.] ปลั๊กอินที่โหลดแล้ว: homebridge-bme280[2559-11-12, 6:25:29 น.] กำลังลงทะเบียนอุปกรณ์เสริม 'homebridge-bme280. BME280' [2559-11-12, 6:25:29 น.] --- [2559-11-12 6:25:30 น.] โหลด config.json พร้อมอุปกรณ์เสริม 1 รายการและแพลตฟอร์ม 0 รายการ [2559-11-12 6:25:30 น.] --- [2559-11-12 6:25:30 น.] กำลังโหลด 0 แพลตฟอร์ม… [2559-11-12 6:25:30 น.] กำลังโหลด อุปกรณ์เสริม 1 รายการ… [2559-11-12 6:25:30 น.] [เซ็นเซอร์] กำลังเริ่มต้นอุปกรณ์เสริม BME280… [2559-11-12 6:25:30 น.] [เซ็นเซอร์] ตัวเลือกเซ็นเซอร์ BME280: {"i2cBusNo": 1, "i2cAddress":118} พบรหัสชิป BME280 0x60 บนที่อยู่บัส i2c-1 0x76 [2559-11-12, 6:25:31 น.] [เซ็นเซอร์] การเริ่มต้น BME280 สำเร็จ [2559-11-12, 6:25 น.:31 AM] [Sensor] data(temp) = { "temperature_C": 18.23, "humidity": 39.1710189421353, "pressure_hPa": 1016.8910377944043 } สแกนโค้ดนี้ด้วยแอป HomeKit บนอุปกรณ์ iOS เพื่อจับคู่กับ Homebridge: ^
4. จับคู่อินสแตนซ์โฮมบริดจ์ของคุณกับ iPhone หากจำเป็น
5. เพลิดเพลิน
โปรดทราบว่าเซ็นเซอร์ความกดอากาศจะมองเห็นได้เฉพาะในแอพ homekit ของบุคคลที่สาม ไม่ใช่ใน "Home"
6. เครดิต
- ขอบคุณ Robert X. Seger สำหรับปลั๊กอิน homebridge-bme280
- ขอบคุณ Skylar Stein สำหรับ node.js bme280-sensor module
- Adafruit สำหรับเผยแพร่คู่มือการตั้งค่า I2C