资料介绍
描述
在本章中,我将解释如何将BMP180 Bosch 传感器连接到 RaspberryPi。这是我的家庭自动化项目的一部分。
BMP180 是 Bosch Sensortec 的新型数字气压传感器,具有极高的性能,可应用于高级移动设备,例如智能手机、平板电脑和运动设备。它沿用了 BMP085 并带来了许多改进,例如更小的尺寸和数字接口的扩展。
低至 3 μA 的超低功耗使 BMP180 成为移动设备节能领域的领导者。BMP180 还以其在电源电压独立性方面非常稳定的行为(性能)而著称。
这些传感器使用 I2C 总线进行通信。2C 翻译成“Inter IC”。有时总线称为 IIC 或 I²C 总线。
最显着的特点包括:
- 只需要两条公交线路
- 没有严格的波特率要求,例如使用 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次下载 | 免费
评论
查看更多