DIY远程监控室内温度设备(tiny6410+ds18b20+yeelink+curl)
DIY远程监控室内温度设备(tiny6410+ds18b20+yeelink+curl)
春节了,趁着假期的空闲时间,抽空捣鼓了下tiny6410开发板,发现这个东东尘封许久,很长时间没用过了。貌似最近物联网大热,谷歌收购Nest,其设计的恒温器能够智能调节和远程控制房间的温度,UI和设计理念都非常棒。物联网是什么东东,这个百度、google一下就能得到很多说法或概念,但到底是什么呢,这个我想还是DIY一个简单的东东来体验一下吧。
一、目的 DIY一个可以简易的远程监控室内温度设备,实现通过web/android/ios/微信进行查看家中温度的电子设备 二、软硬件环境 硬件:tiny6410+ds18b20+有线网络 or USB wifi 软件:linux+QT/curl/crontab/shell/YeeLink服务(云存储、各种接入方式web/android/ios/微信甚至微博、邮件及相关社交网络分享,这点很赞) 三、ds18b20驱动及应用 见参考资料5,这个有前人的经验总结,就不展开说,源码如下: ds18b20.rar 四、curl移植到tiny6410 1、移植openssl到tiny6410。 下载openssl-1.0.0l.tar.gz 解压tar xzvf openssl-1.0.0l.tar.gz 配置编译(ubuntu中进行交叉编译) #!/bin/
export LD_LIBARY_PATH=/opt/FriendlyARM/toolschain/./lib/
export CPPFLAGS=-I/opt/FriendlyARM/toolschain/./include/
export LDFLAGS=-L/opt/FriendlyARM/toolschain/./lib/
export CC=/opt/FriendlyARM/toolschain/./bin/arm-linux-
cd openssl-.
./config no-asm --prefix=/home/share/tool/tiny6410/openssl os/compiler:/opt/FriendlyARM/toolschain/./bin/arm-linux-
2、移植curl到tiny6410。 下载openssl-1.0.0l.tar.gz 解压tar xzvf curl-7.35.0.tar.gz 配置编译(ubuntu中进行交叉编译)
#!/bin/
export LD_LIBARY_PATH=/opt/FriendlyARM/toolschain/./lib/
export CPPFLAGS=-I/opt/FriendlyARM/toolschain/./include/
export LDFLAGS=-L/opt/FriendlyARM/toolschain/./lib/
export CC=/opt/FriendlyARM/toolschain/./bin/arm-linux-
cd curl-.
./configure --host=i686 --target=arm-linux --prefix=/home/share/tool/tiny6410/curl --with-ssl=/home/share/tool/tiny6410/openssl --with-random=/dev/
五、yeelink环境 为了实现远程监控功能,在此使用了yeelink基于物联网应用免费的云存储服务器及相关的客户端(android/IOS/微信服务号/微博发布),作为一种物联网应用,该平台确实非常不错。 1、yeelink之注册用户、添加设备、添加传感器、上传数据、取回数据。详情见官网http://www.yeelink.net/ 2、根据yeelink的api接口上传数据。在tiny6410 linux系统上采用shell脚本调用curl工具来实现。
#!/bin/
YL_ApiKey=
YL_URL=http:
temp=$(/dev/shm/
upcmd=
$upcmd|
六、busybox crontab使用 1、在crontab服务中加入下面加红的一行, 让脚本每分钟运行一次, 保存退出。 2、开启crond服务(tiny6410 linux+qt系统默认未开启)。
[root@FriendlyARM crontabs]# crond&
[root@FriendlyARM crontabs]#
root root root SW [ksoftirqd/ root SW [kworker/u: root SW< root root SW [bdi- root SW< root root SW< root SW [kworker/: root root root root SW< root SW< root SW< root root root root root SW [pvrusb2- root SW [kworker/u: root root SW [mmcqd/ root root S /usr/sbin/ root S /usr/sbin/ root S /usr/bin/led- root S /opt/Qtopia/bin/ root root root root root SW [kworker/: root SW [flush- root S < /opt/Qtopia/bin/ root S N /opt/Qtopia/bin/ root S /usr/sbin/telnetd - root S -
root S /usr/sbin/telnetd - root S -
root root R
[root@FriendlyARM crontabs]#
七、实现效果 1、网页浏览效果 2、android客户端显示效果 3、 下面提供了交叉编译后的可执行文件(交叉工具链为:FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc) ds18b20_bin.rar 使用说明:
、拷贝curl到usr/bin/ curl /usr/bin/
、拷贝read_ds18b20和post_ds18b20_data_to_yeelink.sh到tiny6410的内存文件系统/dev/ read_ds18b20 /dev/shm/
post_ds18b20_data_to_yeelink. /dev/shm/
[root@FriendlyARM crontabs]# crontab - */ * * * * /dev/shm/post_ds18b20_data_to_yeelink.
[root@FriendlyARM crontabs]# crond&
八、参考资料 1、树莓派玩家5分钟内将树莓派-USB摄像头与Yeelink连接–最好玩的网页监控器 http://blog.yeelink.net/?p=468 2、远程监控树莓派BT上传/下载状态 http://bbs.yeelink.net/forum.php?mod=viewthread&tid=112&extra=page%3D2 3、如何使用busybox的cron实现计划任务 http://bbs.csdn.net/topics/190017224 4、Linux下定时执行脚本 http://www.blogjava.net/decode360/archive/2009/09/18/287743.html 5、基于Tiny6410的ds18b20驱动 http://blog.csdn.net/tandesir/article/details/7247558
评论暂时关闭