999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的無線傳感器網絡代碼更新系統設計

2018-01-09 13:22:48錢歡施偉斌
軟件導刊 2017年12期

錢歡+施偉斌

摘要:隨著Android設備普及率日益上升及廣泛應用,將Android設備作為物聯網終端已成為發展趨勢。為了彌補PC端在更新無線傳感器網絡代碼時移動不便的缺點,結合Android平臺與無線傳感器網絡技術,設計一種在Android設備端利用藍牙通信遠程控制代碼分發的無線傳感器網絡代碼更新系統。傳感器節點基于存儲空間較小的CC2430芯片,使用輕量級操作系統TinyOS作為分發協議的開發環境,使得系統占用硬件資源少。實驗證明,利用藍牙技術與無線傳感器網絡分發技術可較好地實現網絡節點的代碼更新。該系統能方便快速地實現整個網絡的代碼更新,可推廣到實際應用中。

關鍵詞:無線傳感器網絡;Android;TinyOS;CC2430

DOIDOI:10.11907/rjdk.171977

中圖分類號:TP319

文獻標識碼:A 文章編號:1672-7800(2017)012-0125-03

Abstract:Within creasing market share and application of Android device and rise of IoT, a code update system is designed for wireless sensor network based on Android developing technology, in which a Android device can be operated to update the code of nodes.The CC2430 based sensor node, of which the flash space is small, is developed with light weight operating system TinyOS for code distribution in order to consume less hardware resources. The experiment shows the system can conveniently and quickly implement the function of code update, which could be promoted to more practical application.

Key Words:wireless sensor network; Android; TinyOS; CC2430

0 引言

隨著通信技術、嵌入式技術、傳感器技術的迅速發展與日趨成熟,具備通信能力、計算能力及感知能力的微型傳感器節點開始在世界范圍內涌現。數目眾多的傳感器節點協同工作,隨機分布于監測區域周遭環境,通過自組織的無線通信方式構成傳感器網絡(Wireless Sensor Network, WSN)[1]。WSN技術廣泛應用于智能家居、智能穿戴設備、環境監測、醫療衛生以及城市交通等領域[2]。WSN節點部署完畢后經常需要增加一些新功能或者修復軟件中存在的問題,需要對整個網絡進行代碼更新,通過人工方式手動地對所有節點編程,是一項非常耗時、耗力的工作,為此在WSN中需要一種有效的方法能夠通過無線方式對節點進行遠程更新[3]。文獻[2-7]均對無線傳感器網絡代碼更新技術進行了相關研究與改進。WSN接入互聯網的瓶頸是網關,將Android平臺引入WSN,可以利用Android平臺接入互聯網的接口實現WSN接入互聯網 [8]。無線傳感器網絡的網關節點通常采用232串口或USB接口上傳相關信息,本設計WSN網關節點通過藍牙模塊連接Android設備,利用藍牙技術與Android設備進行信息交互,有效避開了網關設計中的軟硬件屏障,既可以方便實現任一種無線傳感器網絡終端數據接入互聯網,又可以方便遠程對無線傳感器網絡進行代碼更新。

1 系統設計

遠程代碼更新系統以硬件可以劃分為3個部分:上位機、網關節點、傳感器節點。此系統上位機采用Android平臺, 網關節點與傳感器節點的核心芯片均采用TI公司生產的微控制類型的CC2430芯片,且網關節點佩戴了藍牙通信模塊,用于與Android設備進行通信[11]。本設計采用內置128kB型號的芯片,以便能夠存放多個版本的應用程序。基于此硬件平臺,節點程序選用加州大學伯克利分校設計的TinyOS操作系統進行程序設計[9]。編譯器首先將NesC文件翻譯為C語言文件,再利用交叉編譯器對C語言文件進行編譯鏈接,最終得到iHex(IntelHex)文件,將iHex文件利用互聯網通過Android平臺下載至CC2430后即可運行。

TinyOS操作系統自帶兩種分發協議:Trickle協議[10]與Deluge協議,本設計結合這兩種協議實現代碼分發。 Trickle數據分發協議適用于少量數據的分發,代碼更新系統中需要有數據對網絡進行控制,控制字的數據量一般較小,使用該協議可以達到較為理想的效果。傳輸整個程序代碼,需要利用Deluge代碼分發協議的分頁技術完成,保證完整數據的傳輸工作。

為了能實現代碼的遠程更新,需要對3部分進行逐一設計,最終使得代碼能完整地從上位機傳至網關節點,再從網關節點分發至整個網絡。代碼更新過程如圖1所示: 在上位機上可以分發待更新程序,通過藍牙串口燒寫至網關節點;上位機通過藍牙串口可以向網關節點發送分發指令,網關節點收到指令后,將指令消息廣播至整個網絡;節點1、2利用分發協議先接收到完整程序,啟用新版本程序;節點3從節點2接收新版本程序,并重啟更新。

上位機軟件使用Java語言編程,上位機程序共需要完成兩部分功能,首先將iHex文件發送至網關節點,其次需要給網關節點發送控制命令,控制整個網絡的分發狀態。

網關節點使用nesC編程,負責接收上位機發送的新版本程序,接收上位機發送的控制命令,作出相應的響應,解析上位機發送新版本程序的命令,負責將新版本程序分發至各個傳感器節點。

傳感器節點的程序又分為2個部分,前者是運行程序部分。啟動引導部分負責各版本之間的切換工作,在分發過程中,程序會對版本啟動信息進行修改,在啟動過程中讀取啟動信息,跳轉到特定版本的運行程序。后者包含正常的采集數據或其它節點功能程序,還包含分發協議。在運行過程中,節點功能程序與分發協議互不干擾。

1.1 上位機

上位機軟件是Android平臺應用,在Androidstudio開發環境下編寫,主要功能是與網關節點的藍牙模塊進行通信[12]。Android藍牙相關的類與接口位于Android.bluetooth包中,Android的應用程序框架提供了訪問藍牙功能的APIs。應用程序界面可以分為藍牙設備連接、接收區和發送區3個部分。 選擇相應iHex程序文件,在發送區會列出所選擇的文件,點擊發送將文件發送至網關節點。更新文件發送完畢后,使用發送命令進行代碼分發控制??刂泼钚枰O置命令字、分發版本ID以及分發版本大小,各參數按照順序逐一發送。

1.2 網關節點

網關節點使用hc-06藍牙通信模塊與Android設備進行通信,而網關節點與藍牙通信模塊通過UART通信。網關節點與傳感器節點均采用NesC語言進行編程,網關節點負責與上位機通過串口進行通信,將新版本代碼臨時存放到Flash內,由上位機發送控制命令后,將存儲的新版本代碼通過分發協議分發至各個節點。

在網關節點啟動后,首先開啟串口通信功能,等待上位機發送數據或指令。Flash及串口管理模塊將會響應上位機指令,接收每一串數據的流程如圖2所示,接收到數據后該模塊判斷是數據還是指令,字符‘:代表數據,字符‘c代表命令,然后轉入對應狀態。若接收到的是‘:,進入讀取數據信息狀態,數據信息包括數據長度、地址類型以及數據類型,從串口讀取一個字符代表數據長度,接著讀取兩個字符代表數據地址,再讀取一個字符代表數據類型,以上讀取的數據順序與iHex文件的格式相對應。之后進入讀取數據狀態,以接收到的數據長度接收要下載的代碼數據,并且接收一個字符的校驗碼,通過校驗后利用Flash模塊,寫入串口接收到的對應地址位置。在網關節點中,將從上位機接收到的程序臨時放置到0x18000開始至0x1FFF0(映射地址)的位置,即放入Flash中的Bank3中。當完成Flash寫操作時,向上位機發送反饋,等待接收下一條數據。同時將接收狀態恢復為初始狀態。

若從串口接收到了控制命令字符,則進入接收控制命令狀態。接收命令字,命令字包含3個信息:待分發數據的版本信息、待分發數據的大小、控制字??刂谱种邪?個功能:分發新程序、停止分發、重啟網關節點。

若接收到重啟指令,則調用重啟模塊提供的功能。重啟模塊實現了軟復位功能,利用看門狗超時自動復位的原理,設置一個超時時間極短的看門狗,調用while(1)循環,不對看門狗進行喂食,到了超時時間芯片會自動復位。

若接收到分發或停止指令,首先利用Trickle協議分發控制命令。在分發命令的情況下,調用完畢Trickle模塊后,網關節點進入分發模式。在停止分發指令下,則停止分發功能,暫停一切維護和分發操作。

1.3 傳感器節點

節點核心cc2430內置128kB片內Flash,本設計充分利用該Flash實現代碼更新系統。為了實現代碼更新,將Flash的4個Bank發分為兩大部分,如圖3所示,Bank0作為Bootloader,用于引導啟動,每當節點啟動時,首先運行Bootloader程序,利用Bootloader程序引導跳轉到正確的運行程序。引導程序讀取存放于0x6FF0地址上的引導信息,從引導信息中得到運行版本所在Bank,根據版本信息對寄存器進行設置,并引導節點跳轉到相應的版本。Bank1~3作為各個版本的存放位置,每個Bank可存放一個版本的內容,可同時存在3個不同版本的程序。

2 代碼更新測試實驗

實驗采用一個網關節點、多個傳感器節點。傳感器節點分布在網關節點周圍。分發代碼的大小為28.25kB,傳感器節點數量從1個逐步增加至16個。網關節點通過上位機接收指令,進行分發。圖4表示分發至不同數量節點所需使用的時間。當更新一個節點時需使用的時間為143s,隨著節點數量的增多,分發時間略有下降,時間穩定在120s左右。由于傳感器節點發送請求的等待時間是隨機的,當節點數量增多時,總體請求時間會相對縮短,從而

使分發速度變得更快。

當傳感器節點數量增加到11個后,分發速度顯著下降。由于無線信道的穩定性比有線傳輸差,當節點增多時,丟包的可能性增大,即重傳的次數增多,導致分發速度下降。

3 結語

本文設計了一種由Android移動端控制分發的無線傳感器網絡代碼更新系統,網關節點通過藍牙模塊與移動設備連接進行數據通信,打破了傳統無線傳感器網絡代碼更新系統中串口或USB接口等有線通信方式對網關節點布置的限制,符合今后無線傳感器網絡網關節點更加智能、便攜的發展方向。傳感器節點選用 CC2430硬件平臺,在TinyOS軟件平臺中進行分發協議的開發,可較好地使用于單跳網絡,并可支持多跳網絡的更新,能保證節點完成代碼更新功能。

參考文獻:

[1] ESTRIN D, GOVINDAN R, HEIDEMANN J, et al. Next century challenges:scalable coordination in sensor networks[C]. ACM/IEEE International Conference on Mobile Computing and Networking, 2001:263-270.

[2] 李麗娜.無線傳感器網絡代碼更新技術研究[D].哈爾濱:哈爾濱工業大學, 2006.

[3] 張國萍.無線傳感器網絡在線代碼分發最新研究進展[J].浙江理工大學學報,2015,33(2):219-227.

[4] 任萬春,馬廷淮,劉琦.一種基于多播分發樹的無線傳感器網絡代碼分發協議[J].傳感器與微系統,2014,33(11):149-152.

[5] 侯彤.無線傳感器網絡空中加載技術的研究[D].西安:西安電子科技大學, 2011.

[6] 吳濤,施偉斌,張磊.基于CC2430的代碼更新系統設計[J].電子科技,2017,30(1):123-125.

[7] 王海勇,楊庚,許建,等.一種低能耗的代碼分發協議[J].計算機工程,2012,38(23):84-87.

[8] 喬雷.基于Android和藍牙串口的WSN網關的設計和實現[D].西安:西安工業大學,2013.

[9] UNIVERSITY OF CALIFORNIA AT BERKELEY. TinyOS document [EB/OL]. http://tinyos.stanford.edu/tinyos-wiki/index.php/TinyOS_Tutorials.

[10] PHILIP L, NEIL P, SCOTT S, et al. Trickle: a self-regulating algorithm for code propagation and maintenance in wireless sensor networks[R]. Technical report, California: Universityof California at Berkeley, 2003.

[11] 肖蓉.基于Android平臺的無線傳感器網絡與蜂窩網絡網關系統設計與實現[D].上海:華東師范大學,2012.

[12] 張元亮. Android開發應用實戰詳解[M].北京:中國鐵道出版社,2011.

(責任編輯:何 麗)

主站蜘蛛池模板: 欧美在线导航| 欧美色丁香| 人妻丝袜无码视频| 成人另类稀缺在线观看| 四虎成人免费毛片| 热九九精品| 日a本亚洲中文在线观看| 无码'专区第一页| 天天爽免费视频| 日本欧美视频在线观看| 四虎永久在线精品影院| 婷婷色丁香综合激情| av尤物免费在线观看| 99人体免费视频| 97se亚洲综合在线| 福利小视频在线播放| 亚洲一级毛片| 狼友av永久网站免费观看| 成人毛片免费观看| 免费播放毛片| 91精品福利自产拍在线观看| 试看120秒男女啪啪免费| 欧美激情,国产精品| 亚洲,国产,日韩,综合一区| 日韩无码视频专区| 亚洲永久免费网站| 狠狠色成人综合首页| 国产精品任我爽爆在线播放6080| 国产亚洲精品资源在线26u| 欧美综合一区二区三区| 精品久久久久久成人AV| 国产一级一级毛片永久| 色噜噜在线观看| 亚洲欧美综合精品久久成人网| 日韩精品欧美国产在线| 亚洲午夜综合网| 免费无码AV片在线观看国产| 波多野结衣二区| 亚洲中字无码AV电影在线观看| 乱码国产乱码精品精在线播放| 99国产精品一区二区| 欧美日韩一区二区在线播放| 久久成人国产精品免费软件 | 在线观看av永久| 欧美精品在线观看视频| 亚洲欧洲美色一区二区三区| 久久99国产综合精品1| 伊人成人在线视频| 国产菊爆视频在线观看| 中文成人无码国产亚洲| 欧美午夜网| 久久伊人久久亚洲综合| 亚洲午夜福利精品无码不卡 | 激情在线网| 欧美中文字幕在线二区| 熟妇丰满人妻av无码区| 又黄又爽视频好爽视频| 亚洲日韩精品综合在线一区二区| A级毛片无码久久精品免费| 午夜无码一区二区三区| 亚洲欧美一级一级a| 制服丝袜无码每日更新| 久草青青在线视频| 精品撒尿视频一区二区三区| 亚洲va在线∨a天堂va欧美va| 天天激情综合| 久久久久久午夜精品| 欧美一区国产| 精品国产美女福到在线直播| 国产情侣一区| 香蕉国产精品视频| 午夜日本永久乱码免费播放片| vvvv98国产成人综合青青| 色吊丝av中文字幕| aⅴ免费在线观看| 久久久波多野结衣av一区二区| 91黄视频在线观看| 亚洲大学生视频在线播放| 成人在线观看不卡| 999国内精品视频免费| 国产精品自拍露脸视频| AV不卡在线永久免费观看|