实现家庭室内温度远程监测只是智能家居的初步阶段。目的是在下班前发现家庭温度过高时,可以提前5-10分钟用手机发送指令打开空调冷却(如何通过手机发送指令控制空调)。
1、树莓派(Raspberry Pi)一个 2、DS18B一个20温度传感器(淘宝5元左右) 3、4.7kΩ电阻一个 或 DS18B一个20模块(作者用,淘宝1.一个5元,其实是店家帮忙焊接电阻,接线稍微好一点)。 四、三条杜邦线(双头母)

1.首先升级内核(可以忽略,但如果版本老了,可能会影响设备的读取)
1 2 |
|
修改配置:
1 |
|
手动添加到最后一行,保存并重启树莓派。
1 |
|
根据官方说法,2015-02-16之后Raspbain为了防止版本GPIO使用新的冲突dt策略,查看 /boot/overlay/readme
2.确认设备是否生效
1 2 3 4 |
|
显示结果:
1 2 3 |
|
28-00000494cb79是作者的外部温度传感器设备,但并非每个客户端都显示相同,这是传感器的序列号。
3、查看当前温度
1 2 |
|
显示结果:
1 2 |
|
第二行的t=23000是当前温度值,除以1000,即当前温度为23000/10000=23摄氏度。
文件存储://home/pi/temperature.py 内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
当命令行运行时,可以得到结果值: python /home/pi/temperature.py
yeelink是国内知名的免费物联网数据平台,国外有COSM(https://cosm.com)。 申请yeelink帐户、添加设备和传感器API跳过这篇文章,请自己学习。
根据yeelink API我们需要提供一份文本文件,内容是一段JSON,如下:
1 2 3 4 |
|
1、修改python,将温度值用JSON格式保存到一个文本文件,全部如下:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
python将温度值写入:/home/pi/datafile.txt
2、新增yeelink.sh脚本 文件位置:/home/pi/yeelink.sh 内容如下:
1 2 |
|
将U-ApiKey:XXXXXXXXXXXXXXXX替换为自已账户的API Key。 后面的URL也需要替换为自己申请的传感器URL。
3、添加到计划任务
1 2 3 4 5 6 |
|
完了!我的温度传感器数据展示页面:http://www.yeelink.net/devices/1969
参考文档: http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/temperature/ http://blog.turningdigital.com/2012/09/raspberry-pi-ds18b20-temperature-sensor-rrdtool/ http://webshed.org/wiki/RaspberryPI_DS1820
趣小组 - 趣小组