資料介紹
描述
在本章中,我將解釋如何將BMP180 Bosch 傳感器連接到 RaspberryPi。這是我的家庭自動化項目的一部分。
BMP180 是 Bosch Sensortec 的新型數字氣壓傳感器,具有極高的性能,可應用于高級移動設備,例如智能手機、平板電腦和運動設備。它沿用了 BMP085 并帶來了許多改進,例如更小的尺寸和數字接口的擴展。
低至 3 μA 的超低功耗使 BMP180 成為移動設備節能領域的領導者。BMP180 還以其在電源電壓獨立性方面非常穩定的行為(性能)而著稱。
這些傳感器使用 I2C 總線進行通信。2C 翻譯成“Inter IC”。有時總線稱為 IIC 或 I2C 總線。
最顯著的特點包括:
- 只需要兩條公交線路
- 沒有嚴格的波特率要求,例如使用 RS232,主機生成一個總線時鐘
- 所有組件之間存在簡單的主/從關系
- 連接到總線的每個設備都可以通過唯一地址進行軟件尋址
- I2C 是一個真正的多主機總線,提供仲裁和沖突檢測
請注意,BMP180 有 4 個我們需要連接到 RaspberryPi 的引腳。首先找到以下引腳:RaspberryPi 上的 3v3(到 BMP180 上的 VIN)、SDA(到 BMP180 上的 SDA)、SCL(到 BMP180 上的 SCL)和接地(到 BMP180 上的 GND)。然后將這些引腳連接到 BMP180 板上的相應引腳。
接下來我們需要為 RaspberryPi 配置 I2C。為此,您首先需要進行一些安裝。確保 RaspberryPi 有網絡連接,然后找到 ip 地址。然后通過 SSH 連接并使用這些命令:
sudo su
sudo apt-get install python-smbus i2c-tools
使用以下命令檢查內核版本:
# uname -a
Linux musicbox 4.0.9+ #807 PREEMPT Fri Jul 24 15:14:04 BST 2015 armv6l GNU/Linux
如果內核版本高于 3.17 那么你需要編輯/boot/config.txt
并添加:
dtparam=i2c1=on
dtparam=i2c_arm=on
接下來我們需要安裝/激活內核模塊。修改 /etc/modules
文件并添加這兩行:
i2c-bcm2708
i2c-dev
如果 spi 和 i2c 模塊被列入黑名單,下次更新 ckeck。打開/etc/modprobe.d/raspi-blacklist.conf
并注釋以下行(如果存在),將#
其放在它們前面:
blacklist spi-bcm2708
blacklist i2c-bcm2708
全部做完。現在重啟
# sudo reboot
重啟后,再次通過 SSH 連接到 RaspberryPi 并檢查它是否可以讀取 BMP180 設備。
# ls /dev/i2c*
/dev/i2c-1
# sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- 39 -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77
請注意,如果ls /dev/i2c*
將返回,/dev/i2c-0
則對 i2cdetect 參數使用“0”。
我們可以看到列出了 2 個地址:0x77 和 0x39。可以在 0x77 地址訪問溫度、壓力和高度傳感器。可以在 0x39 地址訪問光傳感器。
接下來,我使用 Adafruit Python BMP 庫讀取傳感器(Light和BMP)。我寫了一個輸出傳感器信息的小腳本。
# cat read_sensor.py
#!/usr/bin/python
from libs.BMP085 import BMP085
import os
from libs.TSL2561 import TSL2561
# ===========================================================================
# Example Code
# ===========================================================================
# Init the TSL2561 sensor class (default address is 0x39)
Light = TSL2561(0x39)
# Initialise the BMP085 and use STANDARD mode (default value)
# bmp = BMP085(0x77, debug=True)
bmp = BMP085(0x77)
# To specify a different operating mode, uncomment one of the following:
# bmp = BMP085(0x77, 0) # ULTRALOWPOWER Mode
# bmp = BMP085(0x77, 1) # STANDARD Mode
# bmp = BMP085(0x77, 2) # HIRES Mode
# bmp = BMP085(0x77, 3) # ULTRAHIRES Mode
temp = bmp.readTemperature()
# Read the current barometric pressure level
pressure = bmp.readPressure()
# To calculate altitude based on an estimated mean sea level pressure
# (1013.25 hPa) call the function as follows, but this won't be very accurate
altitude = bmp.readAltitude()
# To specify a more accurate altitude, enter the correct mean sea level
# pressure level. For example, if the current pressure level is 1023.50 hPa
# enter 102350 since we include two decimal places in the integer value
# altitude = bmp.readAltitude(102350)
print "Temperature: %.2f C" % temp
print "Pressure: %.2f mmHg" % (pressure / (100.0 * 1.33322) )
print "Altitude: %.2f m" % altitude
print "Light: %d lux" % Light.readLux(0)
運行此腳本將為您提供以下信息:
root@musicbox:/opt/rcontroller/scripts/bmp_sensor# ./read_sensor.py
Temperature: 32.10 C
Pressure: 753.18 mmHg
Altitude: 75.96 m
Light: 0 lux
- RaspberryPi Pico CLion開發環境配置
- 動力環境監控系統在通信電源中的應用綜述 11次下載
- 基于ARM處理器的禽舍環境監控系統 31次下載
- 開閉所配電環境綜合監控管理系統設計方案 15次下載
- 車聯網環境中混合車流的車輛換道行為決策模型 14次下載
- 使用無線傳感網絡實現智能機房環境監控系統的設計資料說明 12次下載
- 如何使用ZigBee對環境監控網絡路由協議進行研究論文 10次下載
- 基于CAN總線的隧道環境監控系統的研究 5次下載
- 環境在線監控信息管理系統 0次下載
- 通信電源、機房環境集中監控系統優化和升級
- 基于GPRS的通信基站電源與環境監控裝置
- 基于MCGS的水產養殖多環境因子監控系統
- 室內環境監控系統模型試驗研究
- 一種抗惡劣環境的監控系統的設計與實現
- 基于SMS的環境監控系統設計與應用
- 基于啟明RA6M5的物聯網居家環境健康監控設備設計 703次閱讀
- 什么是動力環境監控系統 883次閱讀
- 可用于監控PC主板設計環境條件的芯片 786次閱讀
- 玩嗨OpenHarmony:基于OpenHarmony的智慧農業環境監控系統 1771次閱讀
- 家居環境遠程監控系統設計方案 1755次閱讀
- 基于Arduino與機智云的家居環境遠程監控系統 2260次閱讀
- 如何用RaspberryPi Pico來控制直流電機? 3969次閱讀
- 動力環境集中監控系統的可行性、主要技術及應用分析 5354次閱讀
- 圖像傳感器為視頻監控帶來了新趨勢 8.3w次閱讀
- 寬禁帶器件和仿真環境介紹 1457次閱讀
- 溫度傳感器TMP275的原理、工作方式及在環境監控中的應用分析 6077次閱讀
- 動力環境集中監控系統的架構、標準在3G綜合解決方案中的應用 1017次閱讀
- 樹莓派如何配置WiFi和藍牙 1.3w次閱讀
- 由下位機、傳輸網絡和上位機組成的環境監控系統的設計方案 1.4w次閱讀
- 智能配電:動力環境監控系統與智能值守的解析 7295次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多