jarry 发表于 2013-5-21 18:23:51

温度传感器 DS18B20,Dallas one wire 驱动 w1-sun4i

由于想用CB做一个户外项目,可能会在太阳直射下工作,温度会比较高,
想知道运行的环境温度,而A10没提供高精度的ADC,用不了热敏电阻来测温度。
所以选了一个Dallas 1 线温度传感器。

目前的LINUX内核里的W1-GPIO 驱动在A10上用不了。
找了一个人做的A13的W1-GPIO驱动,修改了之后编译通过并成功得到温度信息;

需要重新编译内核,并将 Device Drivers->Dallas's 1-wire support,
及下面的 GPIO 1-wire busmaster 及 Thermal family implementation 编译进内核,除Thermal之外不要用模块方式。

然后下载内本帖子里的代码,编译后会得到一个 w1-sun4i.ko, 及 script.fex 里的 设置成你自己的引脚,
然后装上新的内核及模块,启动CB,执行:
depmod
modprobe w1_therm
insmod w1-sun4i.ko

你就知道你的温度了。
另外,DS18B20 的IO口与VCC中间需接一个4.7K的上拉电阻。


jarry 发表于 2013-5-21 18:25:05

本帖最后由 jarry 于 2013-5-21 18:31 编辑

我后面改了驱动的话会放到 github 上,地址: https://github.com/jarryji/A10-Drivers

soloforce 发表于 2013-5-21 18:39:32

感谢jarry, 我也搞定了:)

root@CubieBox:/sys/bus/w1/devices/28-0000047de468# cat w1_slave
cf 01 4b 46 7f ff 01 10 5d : crc=5d YES
cf 01 4b 46 7f ff 01 10 5d t=28937

soloforce 发表于 2013-5-21 18:41:53

电路都焊好了,结果上电的时候老眼昏花居然把ds18b20的正负反接了,差点烧掉:curse:

jarry 发表于 2013-5-21 18:49:07

焊反了不会烧,只是会很烫:)

soloforce 发表于 2013-5-21 18:55:19

嗯,很烫,马上拔了,没烧掉;这个传感器还是挺好用的。:lol

siriux 发表于 2013-5-21 20:07:09

顶一个!

Cannikin 发表于 2013-5-21 20:46:23

超赞~!支持原创!!

cbandroid 发表于 2013-6-15 19:27:28

android系统上如何使用?

slackwareer 发表于 2013-8-3 13:00:12

上拉电阻哪里买的?正负极怎么接?
页: [1] 2
查看完整版本: 温度传感器 DS18B20,Dallas one wire 驱动 w1-sun4i