亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ESP8266的Mesh網(wǎng)絡系統(tǒng)設計與實現(xiàn)

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

        萬深展 念平

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

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

        DOIDOI:10.11907/rjdk.172441

        中圖分類號:TP319

        文獻標識碼:A文章編號文章編號:16727800(2017)011008103

        0引言

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

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

        1系統(tǒng)設計

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

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

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

        圖1無線傳感系統(tǒng)層次結構

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

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

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

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

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

        2.1嵌入式Web服務器實現(xiàn)

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

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

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

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

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

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

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

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

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

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

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

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

        參考文獻參考文獻:

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

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

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

        [4]孫其博.物聯(lián)網(wǎng):概念、架構與關鍵技術研究綜述[J].北京郵電大學學報,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的無線控制電路設計[J].工業(yè)控制計算機,2017(1):4952.

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

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

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

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

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

        猜你喜歡
        互聯(lián)網(wǎng)
        互聯(lián)網(wǎng)+背景下數(shù)學試驗課程的探究式教學改革
        科技視界(2016年21期)2016-10-17 18:47:55
        基于“互聯(lián)網(wǎng)+”的京東自營物流配送效率分析
        科技視界(2016年21期)2016-10-17 18:37:15
        互聯(lián)網(wǎng)+醫(yī)療保健網(wǎng)的設計
        科技視界(2016年21期)2016-10-17 17:07:28
        試論網(wǎng)絡大環(huán)境下音樂作品的法律保護問題
        商(2016年27期)2016-10-17 06:43:49
        淺談大數(shù)據(jù)在出版業(yè)的應用
        今傳媒(2016年9期)2016-10-15 23:35:12
        淺析互聯(lián)網(wǎng)時代維基百科的生產(chǎn)模式
        今傳媒(2016年9期)2016-10-15 22:51:03
        “互聯(lián)網(wǎng)+”環(huán)境之下的著作權保護
        今傳媒(2016年9期)2016-10-15 22:15:57
        “互聯(lián)網(wǎng)+”對傳統(tǒng)圖書出版的影響和推動作用
        今傳媒(2016年9期)2016-10-15 22:09:11
        從“數(shù)據(jù)新聞”看當前互聯(lián)網(wǎng)新聞信息傳播生態(tài)
        今傳媒(2016年9期)2016-10-15 22:06:04
        互聯(lián)網(wǎng)背景下大學生創(chuàng)新創(chuàng)業(yè)訓練項目的實施
        考試周刊(2016年79期)2016-10-13 23:23:28
        国产综合久久久久影院| 国产激情无码一区二区| 岳毛多又紧做起爽| 热の国产AV| 国产人妖赵恩静在线视频| 国产精品黑丝美腿美臀| 黑人巨大精品欧美一区二区免费| 国产亚洲视频在线观看网址| 久久精品熟女不卡av高清| 亚洲国语对白在线观看| 亚洲国产精品日本无码网站| 青青久在线视频免费观看| 国产亚洲美女精品久久| 国产一区二区视频在线看| 欧洲熟妇色xxxx欧美老妇性| 国产自国产在线观看免费观看| 成人午夜福利视频后入| 精品爆乳一区二区三区无码av| 久久亚洲国产精品五月天| 少妇下面好紧好多水真爽| 午夜男女很黄的视频| 亚洲av无码一区二区二三区下载| 黄色网页在线观看一区二区三区| 久久国产成人午夜av免费影院| 屁屁影院ccyy备用地址| 国产尻逼视频| 国产精品丝袜美腿诱惑| 国产欧美日韩一区二区加勒比| 国模少妇一区二区三区| 黄色录像成人播放免费99网| 野花视频在线观看免费| 亚洲精品久久久久久久久久吃药| 一级做a爰片久久毛片| 一本久道在线视频播放| 色窝窝亚洲av网在线观看| 久久精品国产亚洲av麻| 久久亚洲精品成人AV无码网址 | 啦啦啦www播放日本观看| 国产91色在线|亚洲| 色婷婷久久综合中文久久一本| av色综合久久天堂av色综合在|