国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

DIY遠程監控室內溫度設備(tiny6410+ds18b20+yeelink+curl)

2024-06-28 13:28:13
字體:
來源:轉載
供稿:網友
DIY遠程監控室內溫度設備(tiny6410+ds18b20+yeelink+curl)

春節了,趁著假期的空閑時間,抽空搗鼓了下tiny6410開發板,發現這個東東塵封許久,很長時間沒用過了。貌似最近物聯網大熱,谷歌收購Nest,其設計的恒溫器能夠智能調節和遠程控制房間的溫度,UI和設計理念都非常棒。物聯網是什么東東,這個百度、google一下就能得到很多說法或概念,但到底是什么呢,這個我想還是DIY一個簡單的東東來體驗一下吧。

一、目的 DIY一個可以簡易的遠程監控室內溫度設備,實現通過web/android/ios/微信進行查看家中溫度的電子設備。(最終的效果相當不錯,雖然簡單,只要家中未斷電斷網,就可以用隨時隨地掌握家中的溫度變化,做到遙知冷暖,很新鮮啊,提供個鏈接,歡迎大家圍觀:http://www.yeelink.net/devices/7376)二、軟硬件環境 硬件:tiny6410+ds18b20+有線網絡 or USB wifi 軟件:linux+QT/curl/crontab/shell/YeeLink服務(云存儲、各種接入方式web/android/ios/微信甚至微博、郵件及相關社交網絡分享,這點很贊)三、ds18b20驅動及應用見參考資料5,這個有前人的經驗總結,就不展開說,源碼如下:ds18b20.rar四、curl移植到tiny64101、移植openssl到tiny6410。下載openssl-1.0.0l.tar.gz解壓tar xzvfopenssl-1.0.0l.tar.gz配置編譯(Ubuntu中進行交叉編譯)
 1 #!/bin/sh 2 export LD_LIBARY_PATH=/opt/FriendlyARM/toolschain/4.5.1/lib/ 3 export CPPFLAGS=-I/opt/FriendlyARM/toolschain/4.5.1/include/ 4 export LDFLAGS=-L/opt/FriendlyARM/toolschain/4.5.1/lib/ 5 export CC=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc 6  7 cd openssl-1.0.0l 8 ./config no-asm --PRefix=/home/share/tool/tiny6410/openssl os/compiler:/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc 9 make10 make install

2、移植curl到tiny6410。(依賴openssl)下載openssl-1.0.0l.tar.gz解壓tar xzvf curl-7.35.0.tar.gz配置編譯(ubuntu中進行交叉編譯)
 1 #!/bin/sh 2 export LD_LIBARY_PATH=/opt/FriendlyARM/toolschain/4.5.1/lib/ 3 export CPPFLAGS=-I/opt/FriendlyARM/toolschain/4.5.1/include/ 4 export LDFLAGS=-L/opt/FriendlyARM/toolschain/4.5.1/lib/ 5 export CC=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc 6  7 cd curl-7.35.0 8 ./configure --host=i686 --target=arm-linux --prefix=/home/share/tool/tiny6410/curl --with-ssl=/home/share/tool/tiny6410/openssl --with-random=/dev/urandom 9 make10 make install

五、yeelink環境 為了實現遠程監控功能,在此使用了yeelink基于物聯網應用免費的云存儲服務器及相關的客戶端(android/IOS/微信服務號/微博發布),作為一種物聯網應用,該平臺確實非常不錯。1、yeelink之注冊用戶、添加設備、添加傳感器、上傳數據、取回數據。詳情見官網http://www.yeelink.net/2、根據yeelink的api接口上傳數據。在tiny6410 linux系統上采用shell腳本調用curl工具來實現。
 1 #!/bin/sh 2  3 #在單引號中填入yeelink給你的API KEY 4 YL_ApiKey='xxxxxxxx' 5 YL_URL=http://api.yeelink.net/v1.0/device/7376/sensor/11615/datapoints 6 temp=$(/dev/shm/read_ds18b20) 7 echo $temp 8  9 upcmd="curl --request POST --data '{/"value/":$temp}' --header U-ApiKey:$YL_ApiKey --verbose $YL_URL"10 11 echo $upcmd|sh

六、busybox crontab使用1、在crontab服務中加入下面加紅的一行, 讓腳本每分鐘運行一次, 保存退出。*/1 * * * * /dev/shm/post_ds18b20_data_to_yeelink.sh2、開啟crond服務(tiny6410 linux+qt系統默認未開啟)。
 1 [root@FriendlyARM crontabs]# crond& 2 [root@FriendlyARM crontabs]# ps 3   PID USER       VSZ STAT COMMAND 4     1 root      2992 S    init 5     2 root         0 SW   [kthreadd] 6     3 root         0 SW   [ksoftirqd/0] 7     5 root         0 SW   [kworker/u:0] 8     6 root         0 SW<  [khelper] 9   346 root         0 SW   [sync_supers]10   348 root         0 SW   [bdi-default]11   349 root         0 SW<  [kblockd]12   359 root         0 SW   [khubd]13   455 root         0 SW<  [rpciod]14   456 root         0 SW   [kworker/0:1]15   464 root         0 SW   [khungtaskd]16   465 root         0 SW   [kswapd0]17   515 root         0 SW   [fsnotify_mark]18   517 root         0 SW<  [aio]19   527 root         0 SW<  [nfsiod]20   531 root         0 SW<  [crypto]21   615 root         0 SW   [mtdblock0]22   620 root         0 SW   [mtdblock1]23   625 root         0 SW   [mtdblock2]24   634 root         0 SW   [ubi_bgt0d]25   793 root         0 SW   [pvrusb2-context]26   866 root         0 SW   [kworker/u:2]27   915 root         0 SW   [ubifs_bgt0_0]28   917 root         0 SW   [mmcqd/0]29   948 root      2992 S    syslogd30   951 root      3312 S    /usr/sbin/inetd31   955 root      2028 S    /usr/sbin/boa32   958 root      1504 S    /usr/bin/led-player33   968 root     18480 S    /opt/Qtopia/bin/qpe34   969 root      2992 S    init35   970 root      2992 S    init36   971 root      2992 S    init37   973 root      2992 S    init38   979 root         0 SW   [kworker/0:2]39   980 root         0 SW   [flush-ubifs_0_0]40   987 root      8708 S <  /opt/Qtopia/bin/qss41   988 root     12552 S N  /opt/Qtopia/bin/quicklauncher42   990 root      3320 S    /usr/sbin/telnetd -i43   991 root      3316 S    -sh44 1025 root      3320 S    /usr/sbin/telnetd -i45 1026 root      3316 S    -sh46 1098 root      3312 S    crond47 1100 root      3316 R    ps48 [root@FriendlyARM crontabs]# 

七、實現效果1、網頁瀏覽效果2、android客戶端顯示效果3、下面提供了交叉編譯后的可執行文件(交叉工具鏈為:FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc)ds18b20_bin.rar使用說明:
 1 /** 2  * @file readme.txt 3  * @brief 基于tiny6410、ds18b20、curl的遠程溫度監測實現說明 4  * @details 5  * @version V1.0.0 6  * @author Richard.hmm 7  * @date 2014-2-4 8  */ 9 10 1、在tiny6410上安裝ds18b20驅動11 insmod ds18b20.ko12 13 2、拷貝curl到usr/bin/下14 cp curl /usr/bin/15 16 3、拷貝read_ds18b20和post_ds18b20_data_to_yeelink.sh到tiny6410的內存文件系統/dev/shm中17 cp read_ds18b20 /dev/shm/18 cp post_ds18b20_data_to_yeelink.sh /dev/shm/19 20 4、配置crontab21 [root@FriendlyARM crontabs]# crontab -e22 */1 * * * * /dev/shm/post_ds18b20_data_to_yeelink.sh  // 新增任務23 [root@FriendlyARM crontabs]# crond&  // 開啟crond

八、參考資料1、樹莓派玩家5分鐘內將樹莓派-USB攝像頭與Yeelink連接–最好玩的網頁監控器http://blog.yeelink.net/?p=4682、遠程監控樹莓派BT上傳/下載狀態http://bbs.yeelink.net/forum.php?mod=viewthread&tid=112&extra=page%3D23、如何使用busybox的cron實現計劃任務http://bbs.csdn.net/topics/1900172244、Linux下定時執行腳本http://www.blogjava.net/decode360/archive/2009/09/18/287743.html5、基于Tiny6410的ds18b20驅動http://blog.csdn.net/tandesir/article/details/7247558
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通州区| 浦县| 九龙县| 体育| 南平市| 克山县| 盐池县| 镇远县| 平湖市| 安溪县| 伊宁市| 定远县| 湖口县| 铅山县| 洞口县| 宜州市| 溧水县| 崇礼县| 进贤县| 凤冈县| 磐安县| 彰化县| 平阳县| 罗平县| 贵溪市| 京山县| 丹阳市| 乃东县| 沧源| 岱山县| 四平市| 嘉义市| 会东县| 昭通市| 新昌县| 南丹县| 甘泉县| 宜良县| 应城市| 石嘴山市| 沧州市|