树莓派温度探测

树莓派上有众多好玩的扩展,这篇讲述了如何使用BMP180探测气压温度和高度。

基本配置

安装Python

1
$ sudo apt-get install python-dev

安装Python PIP

1
$ sudo apt-get install python-pip

安装GPIO库

1
$ sudo pip install rpi.gpio

安装I2C库和工具

1
2
$ sudo apt-get install python-smbus
$ sudo apt-get install i2c-tools

开启I2C支持

1
$ sudo raspi-config

选择Advanced Options -> I2C -> Enable -> YES,然后重启。
raspi-config view

手动加载I2C模块

编辑/etc/modules文件,末尾添加

1
2
i2c-bcm2708
i2c-dev

有些树莓派发型版本禁用了相关模块,打开/etc/modprobe.d/raspi-blacklist.conf,若有内容则把一下两行注释掉

1
2
#blacklist spi-bcm2708
#blacklist i2c-bcm2708

启动文件中开启I2C支持,编辑/boot/config.txt文件,添加下面两行

1
2
dtparam=i2c1=on
dtparam=i2c_arm=on

然后重启

1
$ sudo reboot

测试配置

重启后运行

1
$ sudo i2cdetect -y 1

若看到一下结果,就表明可以使用了~

1
2
3
4
5
6
7
8
9
10
[email protected]:~# sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

注如果是256M版本树莓派,则上述命令换为

1
$ sudo i2cdetect -y -a 0

硬件链接

引脚

我所实用的是博世BMP180气压、温度和高度探测器。树莓派与探测器按照一下引脚连接。

BMP180引脚 树莓派引脚 树莓派引脚编号
VCC 5V0 4
GND GND 6
SCL SCL1 5
SDA SDA1 3
3.3 - -

探测测试

完成连接后下载以下三个文件

放到树莓派的同一个目录下,并运行

1
# python temp_detect_sample.py

若运行成功可以看到一下结果

1
2
3
4
5
6
7
*********************
2015-08-09 10:01:44
Temperature: 32.30 C
Pressure: 1004.32 hPa
Altitude: 73.69
CpuTemperature : 42.8
*********************

然后根据自己需要修改temp_detect_sample.py文件即可。