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

基于ESP8266的Mesh網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2017-12-02 00:25:05萬深展念平
軟件導(dǎo)刊 2017年11期
關(guān)鍵詞:互聯(lián)網(wǎng)

萬深展 念平

摘要:隨著物聯(lián)網(wǎng)的發(fā)展,設(shè)計(jì)具有低成本、低功耗、易擴(kuò)展的無線傳感網(wǎng)絡(luò)越來越迫切,基于Linux Web服務(wù)器的高集成Mesh無線傳感網(wǎng)絡(luò)系統(tǒng)應(yīng)運(yùn)而生。對(duì)基于IEEE802.11協(xié)議的低功耗WiFi芯片—ESP8266作為Mesh網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行了研究?;贛esh網(wǎng)絡(luò)的無線傳感系統(tǒng)分為三層,底層是傳感器網(wǎng)絡(luò)層,負(fù)責(zé)收集傳感數(shù)據(jù);中間層是Mesh無線網(wǎng)絡(luò)層,利用Mesh網(wǎng)絡(luò)強(qiáng)健的穩(wěn)定性傳輸數(shù)據(jù);高層是服務(wù)器層,主要對(duì)整個(gè)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行處理和存儲(chǔ)。平臺(tái)集成了Linux Web服務(wù)器、數(shù)據(jù)庫和PHP運(yùn)行環(huán)境,使用無線WiFi網(wǎng)絡(luò)提供各種互聯(lián)網(wǎng)接入技術(shù)。經(jīng)測(cè)試,該系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、組網(wǎng)快捷、數(shù)據(jù)傳輸可靠性高等優(yōu)點(diǎn)。

關(guān)鍵詞關(guān)鍵詞:無線傳感;Mesh網(wǎng)絡(luò);ESP8266;Web服務(wù)器;互聯(lián)網(wǎng)

DOIDOI:10.11907/rjdk.172441

中圖分類號(hào):TP319

文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2017)011008103

0引言

物聯(lián)網(wǎng)是一個(gè)流行的網(wǎng)絡(luò)原型,為嵌入式提供了廣泛的應(yīng)用。隨著物聯(lián)網(wǎng)的發(fā)展,無線傳感網(wǎng)絡(luò)得到迅速發(fā)展。WMN是近年發(fā)展起來的先進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),具有低成本、高傳輸速度、大運(yùn)用范圍、維護(hù)方便等特點(diǎn),成為未來通信發(fā)展的新方向[1]。搭配不同傳感網(wǎng)絡(luò)的Mesh無線網(wǎng)絡(luò)系統(tǒng)擁有極廣泛的工業(yè)應(yīng)用,能提供穩(wěn)定的內(nèi)部通信網(wǎng)絡(luò)及數(shù)據(jù)控制。Linux作為開源操作系統(tǒng),強(qiáng)大的嵌入式Linux Web服務(wù)器擁有開發(fā)成本低、功耗低、高性能和高可靠性等優(yōu)勢(shì)[2]。

無線傳感網(wǎng)絡(luò)的數(shù)據(jù)通信主要通過WiFi在網(wǎng)絡(luò)節(jié)點(diǎn)中進(jìn)行,每個(gè)節(jié)點(diǎn)由ESP8266無線模塊構(gòu)成。而Arduino嵌入式系統(tǒng)作為網(wǎng)絡(luò)通信的主要服務(wù)器,通過WiFi無線通信設(shè)備節(jié)點(diǎn)協(xié)議為各節(jié)點(diǎn)分配流量和提供數(shù)據(jù)傳輸,定期收集數(shù)據(jù)發(fā)送到MySQL數(shù)據(jù)庫。服務(wù)器可以分析和顯示接收到的數(shù)據(jù)并采取相應(yīng)措施。Arduino還提供一個(gè)以太網(wǎng)接口,接入互聯(lián)網(wǎng)服務(wù)器工作,用戶能通過瀏覽器遠(yuǎn)程觀察傳感器數(shù)據(jù)和控制整個(gè)無線傳感器網(wǎng)絡(luò)。

1系統(tǒng)設(shè)計(jì)

無線Mesh網(wǎng)絡(luò),也稱為無線網(wǎng)狀網(wǎng)絡(luò),是一種新型的分布式無線寬帶接入技術(shù)。無線Mesh路由器和終端設(shè)備組成了無線網(wǎng)格多跳網(wǎng)絡(luò)[3]。無線網(wǎng)狀網(wǎng)絡(luò)的目標(biāo)是讓任意一個(gè)節(jié)點(diǎn)不僅能接受信號(hào),還能發(fā)送信號(hào),無線Mesh接入點(diǎn)既能實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),又能作為橋接器連接其它有限網(wǎng)狀網(wǎng)絡(luò)。無線網(wǎng)狀網(wǎng)絡(luò)的多跳連接將成為解決“最后一英里”瓶頸問題的關(guān)鍵技術(shù)[4]。

目前大多數(shù)無線傳感網(wǎng)絡(luò)都是基于紅外射頻和ZigBee,而基于WiFi無線網(wǎng)的傳感網(wǎng)絡(luò)費(fèi)用昂貴。基于RF的紅外射頻傳感網(wǎng)絡(luò)容易受到干擾,只適用于小范圍的傳感網(wǎng)絡(luò)使用。而ZigBee技術(shù)衰減快,抗干擾性差,兼容性低,無法實(shí)現(xiàn)大面積部署[5]。

本文系統(tǒng)基于IEEE802.11n無線協(xié)議,能夠提供比ZigBee更高的數(shù)據(jù)傳輸速度。整個(gè)無線傳感網(wǎng)絡(luò)系統(tǒng)分為3層,結(jié)構(gòu)如圖1所示。

圖1無線傳感系統(tǒng)層次結(jié)構(gòu)

本文采用低成本和高效節(jié)能的ESP8266開發(fā)無線傳感器網(wǎng)絡(luò)WiFi模塊。ESP8266模塊通過配置,能夠提供高性能、高集成性的WiFi數(shù)據(jù)傳輸。斷電邏輯算法和先進(jìn)的電源管理程式提供了一種高效節(jié)能的WiFi無線傳感器網(wǎng)絡(luò)。ESP8266在深度睡眠模式時(shí),RTC時(shí)鐘仍處于運(yùn)行狀態(tài),能耗極低,僅需不到1mA的電量就可保持連接到接入點(diǎn)[6]。

Mesh網(wǎng)絡(luò)層擁有自適應(yīng)、自動(dòng)修復(fù)功能,當(dāng)傳輸鏈路中某條路徑發(fā)生擁堵或斷開時(shí),能自動(dòng)選擇其它路徑進(jìn)行傳輸或在ESP8266內(nèi)短暫存儲(chǔ),避免了無線傳感器網(wǎng)絡(luò)傳輸過程中的帶寬擁擠問題,有效解決了無線傳感器網(wǎng)絡(luò)的延遲效應(yīng)。

服務(wù)器層使用基于Arduino的嵌入式Web Linux服務(wù)器,開源的Linux系統(tǒng)可為整個(gè)無線傳感網(wǎng)絡(luò)系統(tǒng)提供強(qiáng)有力的技術(shù)支持。ESP8266作為整個(gè)Mesh網(wǎng)絡(luò)的節(jié)點(diǎn),在節(jié)點(diǎn)與節(jié)點(diǎn)、用戶與節(jié)點(diǎn)以及節(jié)點(diǎn)與服務(wù)器中傳輸數(shù)據(jù),用戶可通過ESP8266對(duì)節(jié)點(diǎn)進(jìn)行控制。系統(tǒng)如果需要多點(diǎn)采集或者內(nèi)網(wǎng)傳輸,客戶端可直接由筆記本計(jì)算機(jī)構(gòu)建,即利用Web窗口來控制節(jié)點(diǎn)的傳輸、切換等工作。

客戶端能進(jìn)行遠(yuǎn)程Web頁面控制。例如DS1820溫度傳感器收集到的數(shù)據(jù),需要通過LED顯示,組件能夠在客戶端演示收集到的數(shù)據(jù),具體實(shí)現(xiàn)方法是:末端通過溫度傳感器在偏遠(yuǎn)地區(qū)收集數(shù)據(jù),與傳感器相連的Arduino模塊作為一個(gè)小型電腦,持續(xù)不斷地對(duì)傳感器進(jìn)行監(jiān)控和暫存采集到的數(shù)據(jù),并且發(fā)送到SQL數(shù)據(jù)庫中,從而組成一個(gè)輕量化的小型傳感系統(tǒng)。

2系統(tǒng)實(shí)現(xiàn)

2.1嵌入式Web服務(wù)器實(shí)現(xiàn)

嵌入式Web服務(wù)器技術(shù)是目前比較流行的物聯(lián)網(wǎng)工程技術(shù),常見的Web服務(wù)器有Httpd、Boa以及Thttpd等[7]。考慮到服務(wù)器需要支持CGI程序以及對(duì)數(shù)據(jù)進(jìn)行身份驗(yàn)證,本系統(tǒng)選用功能強(qiáng)大的嵌入式Web服務(wù)器Apache,數(shù)據(jù)庫則使用MySQL。

首先,下載Web服務(wù)器Apache源代碼。然后根據(jù)無線Mesh AP配置管理平臺(tái),對(duì)源碼的配置文件進(jìn)行修改。最后,對(duì)修改過的Apache服務(wù)器源代碼進(jìn)行編譯,燒錄進(jìn)Linux操作系統(tǒng)內(nèi)核。

在Apache服務(wù)器移植過程中,要對(duì)配置文件httpd.conf進(jìn)行正確修改。通過修改httpd.conf配置文件完成Apache服務(wù)器的配置后,還要對(duì)限制上傳文件內(nèi)存的宏進(jìn)行修改。默認(rèn)上傳文件大小不得超過1MB,根據(jù)實(shí)際需要修改為200MB比較合適。修改命令如下:

#define SINGLE_POST_LIMIT_DEFAULT 200*1024*1024/*1MB*/

修改完后對(duì)服務(wù)器源碼進(jìn)行編譯和下載調(diào)試。在終端中設(shè)置嵌入式開發(fā)板的IP地址,在瀏覽器中輸入IP地址就能打開Apache服務(wù)器指定好的無線Mesh AP管理平臺(tái)首頁。通過瀏覽器遠(yuǎn)程登錄嵌入式Web服務(wù)器即可對(duì)系統(tǒng)進(jìn)行監(jiān)控和管理。endprint

嵌入式開發(fā)板為Arduino uno嵌入式模塊,是一個(gè)微小、高效的微型嵌入式電腦主板。信用卡大小的微型電腦主板擁有著近乎完美的兼容性,能夠與許多平臺(tái)和設(shè)備完美結(jié)合[8]。本系統(tǒng)Arduino嵌入式模塊主要作為服務(wù)器基站,通過WiFi與作為通信節(jié)點(diǎn)的ESP8266連接,使用802.11無線協(xié)議。

2.2AODV路由協(xié)議移植

實(shí)際傳輸過程中存在連續(xù)損失和離散損失兩種情況。恒定常量的數(shù)據(jù)丟失無疑對(duì)魯棒性有較大影響。AODV的Mesh無線網(wǎng)絡(luò)框架的WiFi算法可以避免傳輸過程中連續(xù)的數(shù)據(jù)丟失。AODV是一個(gè)純粹的按需路由協(xié)議,不在路徑內(nèi)的節(jié)點(diǎn)不保存路由信息,也不參與路由表交換[9]。如果其中一個(gè)節(jié)點(diǎn)未能與服務(wù)器進(jìn)行數(shù)據(jù)通信,則發(fā)送失敗的數(shù)據(jù)將會(huì)發(fā)送給相鄰節(jié)點(diǎn),由相鄰節(jié)點(diǎn)發(fā)送此數(shù)據(jù)到服務(wù)器。在WiFi框架的實(shí)施算法中,通道數(shù)據(jù)是打包在一起一并發(fā)送到基站的[10]。

協(xié)議軟件的移植過程:先將AODVUU路由協(xié)議在PC機(jī)Linux系統(tǒng)上進(jìn)行編譯,調(diào)試通過后再使用交叉編譯器將其編譯為可在ARM開發(fā)板下運(yùn)行的可執(zhí)行文件。在配置內(nèi)核時(shí)必須選Network packet filtering中的Netfilter相關(guān)選項(xiàng),否則AODV無法運(yùn)行。配置完內(nèi)核后,重新進(jìn)行內(nèi)核編譯。AODVUU最終經(jīng)過交叉編譯后將生成內(nèi)核模塊文件kaodv.ko和用戶空間可執(zhí)行文件aodvd。再將重新編譯生成的內(nèi)核下載到開發(fā)板,并將AODVUU交叉編譯后的兩個(gè)文件放進(jìn)ARM開發(fā)板的文件系統(tǒng)中,加載kaodv.ko,執(zhí)行aodvd文件。

2.3ESP8266 Mesh網(wǎng)絡(luò)組網(wǎng)與實(shí)現(xiàn)

由于Esp8266有相應(yīng)的SDK開發(fā)文檔以及Mesh組網(wǎng)的API接口,因此大大簡(jiǎn)化了開發(fā)步驟,直接調(diào)用相應(yīng)的API接口即可:①通過wifi_get_macaddr獲取模塊的MAC地址,其參數(shù)為if_index,返回值為true或者false,表示獲取mac地址失敗或者成功;②配置用戶數(shù)據(jù)包(buf)的內(nèi)容;③初始化目標(biāo)的mac地址(若mac地址為零則視為向所有網(wǎng)絡(luò)中的設(shè)備廣播數(shù)據(jù)包);④通過調(diào)用espconn_Mesh_create_packet函數(shù)創(chuàng)建一個(gè)數(shù)據(jù)包(由指針header指向這個(gè)數(shù)據(jù)包),其參數(shù)為dst_add、src_addr,表示接收到的mac地址和發(fā)送的目標(biāo)地址。其中header的信息包括dst_addrv、src_addr、option_list、packet Body等內(nèi)容;⑤通過調(diào)用espconn_Mesh_set_usr_data函數(shù),將用戶數(shù)據(jù)包中的內(nèi)容添加進(jìn)將要發(fā)送的數(shù)據(jù)包中,參數(shù)有head、_data、data_len等,分別表示包發(fā)送的地址、用戶緩存區(qū)一級(jí)數(shù)據(jù)長(zhǎng)度。返回值為ture或者false,設(shè)置成功或者失??;⑥通過調(diào)用espconn_Mesh_sent函數(shù)發(fā)送數(shù)據(jù)(數(shù)據(jù)發(fā)送完后需要用戶手動(dòng)釋放這個(gè)數(shù)據(jù)包的內(nèi)存)。部分代碼如下:

os_memset(buf,0,sizeof(buf));

os_sprintf(buf,”%s”,”{\”bacast\”:\””);

os_sprintf(buf+os_strlen(buf),MACSTR,MAC25TR(src));

os_menset(dst,0,sizeof(dst));//獲取MAC地址

header=(struct Mesh_header_format*)eapconn_Mesh_create_packet(

dst,src,false,true,m_proto_json,os_strlen(buf),false,0,F(xiàn)alse,0,false,00);//創(chuàng)建一個(gè)數(shù)據(jù)包

if(!espconn_Mesh_set_usr_data(header,buf,os_strlen(buf)))

{

MESH_DEMO_PRINT(“bcast set user data fail\\n”);

MESH_DEMO_FREE(header);

return;

}//設(shè)置用戶數(shù)據(jù)

If(eapconn_Mesh_sent(&g_ser_conn,(uint8_t*)header,header>len))

{

MESH_DEMO_PRINT(“bcast Mesh is busy\\n”);

espconn_Mesh_connect(&g_ser_conn);

MESH_DEMO_FREE(header);

return;

}//發(fā)送數(shù)據(jù)包

3結(jié)語

本文系統(tǒng)介紹了基于WiFi的Mesh無線傳感網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn),使用了基于Linux的arduino開發(fā)板和基于ESP8266無線模塊的Mesh無線網(wǎng)絡(luò)系統(tǒng)。該系統(tǒng)適用于實(shí)時(shí)無線傳感器監(jiān)測(cè)和遠(yuǎn)程控制傳感器網(wǎng)絡(luò),解決了無線局域網(wǎng)和基于射頻的傳感器網(wǎng)絡(luò)延遲、高成本以及技術(shù)門檻高等問題。基于WiFi的Mesh網(wǎng)絡(luò)不能解決無線傳感系統(tǒng)帶來的所有問題,但能夠避免任何類型的故障節(jié)點(diǎn)和服務(wù)器間的數(shù)據(jù)通信中斷以及流量擁堵等問題。

參考文獻(xiàn)參考文獻(xiàn):

[1]肖同松.無線傳感網(wǎng)絡(luò)綜述[J].中國(guó)科技信息,2008(23):105106.

[2]李曉陽.WiFi技術(shù)及其應(yīng)用與發(fā)展[J].信息技術(shù),2012(2):196198.

[3]楊峰.無線Mesh網(wǎng)絡(luò)綜述[J].數(shù)據(jù)通信,2009(1):1517

[4]孫其博.物聯(lián)網(wǎng):概念、架構(gòu)與關(guān)鍵技術(shù)研究綜述[J].北京郵電大學(xué)學(xué)報(bào),2010(3):39.

[5]ZENGHUA ZHAO,XUANXUAN WU, XIN ZHANG, et al. ZigBee vs. WiFi: understanding issues and measuring performances of their coexistence performance computing & communications conference,2014:1-8

[6]曹振民.基于ESP8266的無線控制電路設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2017(1):4952.

[7]JEREMY BENTHAM.嵌入式系統(tǒng)Web服務(wù)器:TCP/IP[M].陳向群,譯.北京:機(jī)械工業(yè)出版社,2003.

[8]MCROBERTS M.Arduino從基礎(chǔ)到實(shí)踐[M].楊繼志,譯.北京:電子工業(yè)出版社,2013.

[9]KIN KLEUNG.無線Mesh網(wǎng)絡(luò)架構(gòu)與協(xié)議[M]. 第1版.易燕,譯.北京:機(jī)械工業(yè)出版社, 2009.

[10]斯托林思.無線通信與網(wǎng)絡(luò)[M]. 第1版.何軍,譯.北京:清華大學(xué)出版社,2005.

責(zé)任編輯(責(zé)任編輯:杜能鋼)endprint

猜你喜歡
互聯(lián)網(wǎng)
互聯(lián)網(wǎng)+背景下數(shù)學(xué)試驗(yàn)課程的探究式教學(xué)改革
科技視界(2016年21期)2016-10-17 18:47:55
基于“互聯(lián)網(wǎng)+”的京東自營(yíng)物流配送效率分析
科技視界(2016年21期)2016-10-17 18:37:15
互聯(lián)網(wǎng)+醫(yī)療保健網(wǎng)的設(shè)計(jì)
科技視界(2016年21期)2016-10-17 17:07:28
試論網(wǎng)絡(luò)大環(huán)境下音樂作品的法律保護(hù)問題
商(2016年27期)2016-10-17 06:43:49
淺談大數(shù)據(jù)在出版業(yè)的應(yīng)用
今傳媒(2016年9期)2016-10-15 23:35:12
淺析互聯(lián)網(wǎng)時(shí)代維基百科的生產(chǎn)模式
今傳媒(2016年9期)2016-10-15 22:51:03
“互聯(lián)網(wǎng)+”環(huán)境之下的著作權(quán)保護(hù)
今傳媒(2016年9期)2016-10-15 22:15:57
“互聯(lián)網(wǎng)+”對(duì)傳統(tǒng)圖書出版的影響和推動(dòng)作用
今傳媒(2016年9期)2016-10-15 22:09:11
從“數(shù)據(jù)新聞”看當(dāng)前互聯(lián)網(wǎng)新聞信息傳播生態(tài)
今傳媒(2016年9期)2016-10-15 22:06:04
互聯(lián)網(wǎng)背景下大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目的實(shí)施
考試周刊(2016年79期)2016-10-13 23:23:28
主站蜘蛛池模板: 国产杨幂丝袜av在线播放| 色亚洲激情综合精品无码视频 | 九色视频在线免费观看| 久久久波多野结衣av一区二区| JIZZ亚洲国产| 国产日韩精品一区在线不卡| 国产成人精品亚洲77美色| 乱码国产乱码精品精在线播放| 亚洲天堂.com| 国产99视频精品免费视频7| 欧美色99| 亚洲成综合人影院在院播放| 亚洲综合片| 91香蕉视频下载网站| 亚洲第一成年人网站| 欧美国产日本高清不卡| 一本色道久久88综合日韩精品| 青青草综合网| 亚洲色图在线观看| 色久综合在线| 丁香婷婷综合激情| 精品福利视频网| 亚洲黄色成人| 欧美成人免费午夜全| 99re视频在线| 在线欧美日韩| 国产av一码二码三码无码| 国产精品三级专区| 国内黄色精品| 日韩无码黄色| 国产成人AV男人的天堂| 久久性视频| 欧美在线观看不卡| 99久久性生片| 国产激爽大片高清在线观看| 成人亚洲国产| 亚洲AV成人一区二区三区AV| 国产不卡在线看| 精品视频在线观看你懂的一区| 亚洲性日韩精品一区二区| 五月激情综合网| 欧美日韩在线成人| 色男人的天堂久久综合| 久久特级毛片| 国产精品免费p区| 亚洲欧美另类日本| 亚洲性视频网站| 手机永久AV在线播放| AV老司机AV天堂| 欧美在线视频不卡| 内射人妻无码色AV天堂| 视频一本大道香蕉久在线播放| 欧美一区二区三区欧美日韩亚洲 | 国产天天射| 免费激情网址| 99久久无色码中文字幕| 免费高清毛片| 天天综合网色中文字幕| 亚洲国产AV无码综合原创| 91麻豆精品国产91久久久久| 99精品在线视频观看| 亚洲成人播放| 久久国产精品无码hdav| 亚洲中文字幕23页在线| 国产主播喷水| 国产女人在线观看| 91色在线观看| 19国产精品麻豆免费观看| 丁香综合在线| 日韩精品欧美国产在线| 人禽伦免费交视频网页播放| 亚洲综合18p| 一级毛片在线播放| 露脸国产精品自产在线播| 亚洲欧美日韩动漫| 青青国产视频| 国产成年女人特黄特色毛片免 | 看国产一级毛片| 狠狠综合久久| 青青草综合网| 国产三级国产精品国产普男人 | 久久精品日日躁夜夜躁欧美|