• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于Thread的IPv6智能家居解決方案

      2018-09-07 02:31:50,,,
      關(guān)鍵詞:協(xié)處理器路由器智能家居

      ,,,

      (華中科技大學(xué) 自動(dòng)化學(xué)院,武漢 430074)

      引 言

      隨著科學(xué)技術(shù)水平的不斷提高,人們?cè)絹?lái)越追求高質(zhì)量、快節(jié)奏、便捷舒適的生活方式,智能家居產(chǎn)業(yè)由此興起,成為未來(lái)家居領(lǐng)域發(fā)展的必然趨勢(shì)。無(wú)線通信技術(shù)是智能家居的關(guān)鍵技術(shù),目前,智能家居領(lǐng)域應(yīng)用的無(wú)線技術(shù)種類(lèi)繁多,主流包括WiFi、藍(lán)牙、ZigBee、Z-Wave等。而隨著物聯(lián)網(wǎng)技術(shù)的進(jìn)一步發(fā)展,越來(lái)越多的無(wú)線通信標(biāo)準(zhǔn)被應(yīng)用于智能家居,以滿(mǎn)足復(fù)雜的實(shí)際需求。

      Thread是一種新興的無(wú)線網(wǎng)絡(luò)通信標(biāo)準(zhǔn)。2014年,Google旗下智能家居公司Nest主導(dǎo)創(chuàng)立了Thread聯(lián)盟(Thread Group)。2015年7月,該聯(lián)盟正式發(fā)布Thread 1.0標(biāo)準(zhǔn),Thread的設(shè)計(jì)主要面向家庭網(wǎng)絡(luò),具備低功耗、易于使用、安全可靠等優(yōu)勢(shì)。目前,Silicon Labs、Nordic等公司已經(jīng)推出Thread網(wǎng)絡(luò)解決方案,Nordic nRF52840多協(xié)議SoC已通過(guò)Thread認(rèn)證。在未來(lái)幾年,基于Thread的無(wú)線通信產(chǎn)品和應(yīng)用將會(huì)得到迅速的發(fā)展和普及。

      1 Thread簡(jiǎn)介

      1.1 主要技術(shù)特點(diǎn)

      Thread將WPAN技術(shù)和IPv6技術(shù)緊密結(jié)合,是一種基于IPv6的無(wú)線mesh網(wǎng)絡(luò)標(biāo)準(zhǔn),協(xié)議棧架構(gòu)如圖1所示。

      圖1 Thread協(xié)議棧架構(gòu)

      Thread屬于網(wǎng)絡(luò)層協(xié)議,基于IEEE 802.15.4的物理層和MAC層,以支持其低功耗特性。物理介質(zhì)有限的傳輸能力決定了Thread目前只適用于傳輸速率不高的場(chǎng)合,最高速率為250 kbps。通過(guò)6LoWPAN適配層支持IPv6網(wǎng)絡(luò)層,使得Thread設(shè)備能夠像互聯(lián)網(wǎng)上任何一個(gè)聯(lián)網(wǎng)設(shè)備一樣,直接通過(guò)IP尋址實(shí)現(xiàn)主機(jī)間通信。

      Thread網(wǎng)絡(luò)中有多種設(shè)備類(lèi)型,主要包括邊界路由器(Border Router, BR)、路由器(Router)以及終端設(shè)備(End Device)。

      Thread的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示。

      圖2 Thread網(wǎng)絡(luò)拓?fù)鋱D

      邊界路由器(BR)是一種具有連接Thread網(wǎng)絡(luò)和外部網(wǎng)絡(luò)(通常是互聯(lián)網(wǎng))功能的特殊路由器,負(fù)責(zé)在內(nèi)外網(wǎng)絡(luò)之間路由和轉(zhuǎn)發(fā)IPv6包。

      路由器(Router)負(fù)責(zé)在Thread網(wǎng)絡(luò)內(nèi)部路由轉(zhuǎn)發(fā)IPv6包,是mesh網(wǎng)絡(luò)中的關(guān)鍵設(shè)備。通常,創(chuàng)建網(wǎng)絡(luò)的第一個(gè)路由器被指定為L(zhǎng)eader。Leader具備一定網(wǎng)絡(luò)管理和決策能力,如響應(yīng)路由器請(qǐng)求、管理路由器ID分配等。路由器一般不支持低功耗模式,始終處于正常工作狀態(tài),因此會(huì)消耗更多的電量。

      網(wǎng)絡(luò)中大多數(shù)的設(shè)備都將作為終端設(shè)備(End Device)運(yùn)行。由于它們沒(méi)有路由轉(zhuǎn)發(fā)能力,啟動(dòng)之后必須尋找一個(gè)最合適的路由器作為自己的父節(jié)點(diǎn)(Parents),始終通過(guò)父節(jié)點(diǎn)路由轉(zhuǎn)發(fā)數(shù)據(jù)包。為了降低功耗,終端設(shè)備大多數(shù)時(shí)間處于睡眠狀態(tài),從而大大延長(zhǎng)電池壽命。

      還有一類(lèi)本身具備路由能力的設(shè)備,但由于某些條件限制,如網(wǎng)絡(luò)中路由器數(shù)量達(dá)到了上限(32個(gè)),暫時(shí)作為終端設(shè)備運(yùn)行的特殊節(jié)點(diǎn) (Router-Eligible End Devices, REED)。在必要時(shí),它們能主動(dòng)向Leader發(fā)出申請(qǐng),轉(zhuǎn)換為路由器設(shè)備。

      Thread的技術(shù)特點(diǎn)突出,尤其在操作便捷性、網(wǎng)絡(luò)魯棒性、安全性,以及支持IPv6的優(yōu)勢(shì),更加適用于智能家居、智能樓宇等應(yīng)用場(chǎng)景。

      此外,Thread淡化了與其他無(wú)線標(biāo)準(zhǔn)的對(duì)立性,更具開(kāi)放性、包容性。Thread沒(méi)有定義應(yīng)用層,側(cè)重于能讓廣泛物聯(lián)網(wǎng)解決方案互通的網(wǎng)絡(luò)層設(shè)計(jì),可為不同的應(yīng)用層協(xié)議協(xié)同工作提供網(wǎng)絡(luò)層支持。開(kāi)放性和包容性將幫助Thread快速發(fā)展壯大,提升影響力。

      1.2 OpenThread簡(jiǎn)介

      OpenThread是Thread協(xié)議目前唯一的開(kāi)源實(shí)現(xiàn)。2016年,由谷歌Nest主導(dǎo),在Github發(fā)起OpenThread項(xiàng)目,代碼完全開(kāi)源。采用C/C++語(yǔ)言開(kāi)發(fā),為開(kāi)發(fā)者提供獨(dú)立于硬件和操作系統(tǒng)的API接口,協(xié)議棧架構(gòu)如圖3所示。

      圖3 OpenThread協(xié)議棧

      OpenThread提供平臺(tái)抽象層,大大降低了移植難度。項(xiàng)目組建議移植平臺(tái)至少應(yīng)該具備的硬件資源包括IEEE 802.15.4 2.4 GHz射頻模組、精度可達(dá)毫秒級(jí)的定時(shí)器、非易失性存儲(chǔ)器(以保存網(wǎng)絡(luò)配置信息),以及真隨機(jī)數(shù)產(chǎn)生器(True Random Number Generator,TRNG)。此外,官方還提供了Thread網(wǎng)絡(luò)解決方案的參考設(shè)計(jì),以及OpenThread邊界路由器(OpenThread Border Router,OTBR)的實(shí)現(xiàn)。

      2 基于IPv6的智能家居混合網(wǎng)絡(luò)解決方案

      2.1 系統(tǒng)架構(gòu)

      在智能家居的應(yīng)用場(chǎng)景中,網(wǎng)絡(luò)設(shè)備的功能多樣,不同的設(shè)備對(duì)網(wǎng)絡(luò)傳輸速率和通信質(zhì)量有著不同的要求。實(shí)際上,不可能用單一的網(wǎng)絡(luò)技術(shù)就實(shí)現(xiàn)所有設(shè)備的互聯(lián),多種無(wú)線技術(shù)相互融合、優(yōu)劣互補(bǔ),才能滿(mǎn)足復(fù)雜多樣的設(shè)備聯(lián)網(wǎng)需求。

      WiFi是當(dāng)今使用最廣的一種無(wú)線通信技術(shù),傳輸距離長(zhǎng)、速率高,但對(duì)于嵌入式設(shè)備來(lái)說(shuō)功耗太大、組網(wǎng)能力太弱,更適用于PC、智能手機(jī)等設(shè)備的聯(lián)網(wǎng)。Thread網(wǎng)絡(luò)傳輸速率有限,更適合用于數(shù)量較多,但傳輸數(shù)據(jù)量小、傳輸速率低的傳感設(shè)備以及部分家電的聯(lián)網(wǎng)。因此,本文結(jié)合WiFi、Thread等多種IP網(wǎng)絡(luò)技術(shù),實(shí)現(xiàn)WiFi網(wǎng)絡(luò)、Thread網(wǎng)絡(luò)和互聯(lián)網(wǎng)基于IPv6層互聯(lián)的智能家居混合網(wǎng)絡(luò)。網(wǎng)絡(luò)系統(tǒng)架構(gòu)如圖4所示。

      圖4 基于IPv6的智能家居混合網(wǎng)絡(luò)系統(tǒng)架構(gòu)

      網(wǎng)絡(luò)系統(tǒng)的核心是一個(gè)多協(xié)議棧家庭路由器,負(fù)責(zé)連接家庭網(wǎng)絡(luò)與遠(yuǎn)程互聯(lián)網(wǎng)。本文基于樹(shù)莓派3代B型(Raspberry Pi 3B)和OpenWRT(LEDE分支)路由器操作系統(tǒng)實(shí)現(xiàn)家庭路由器。樹(shù)莓派3B板載了一個(gè)無(wú)線網(wǎng)卡和多個(gè)USB接口,但只有一個(gè)以太網(wǎng)口,可通過(guò)USB口擴(kuò)展更多的以太網(wǎng)接口。本文使用的是CE-LINK的USB2.0轉(zhuǎn)百兆網(wǎng)卡,該產(chǎn)品集成RTL8152芯片,接口類(lèi)型為RJ45網(wǎng)口。LEDE軟件源中已有該芯片的驅(qū)動(dòng)程序,通過(guò)opkg命令安裝相應(yīng)驅(qū)動(dòng)即可使用。

      安裝OpenWRT之后,還需要對(duì)路由器做相應(yīng)的配置。如圖4所示,配置以太網(wǎng)口0作為外網(wǎng)口,將該網(wǎng)口的地址配置為從互聯(lián)網(wǎng)服務(wù)提供商(Internet Service Provider, ISP)獲得的全球唯一IPv6單播地址(Global Unicast Address, GUA),即可訪問(wèn)IPv6公網(wǎng);配置無(wú)線網(wǎng)卡為無(wú)線AP建立WiFi網(wǎng)絡(luò),對(duì)通信速率要求較高的網(wǎng)絡(luò)設(shè)備(如手機(jī)、PC),可通過(guò)WiFi連入家庭網(wǎng)絡(luò);以太網(wǎng)口1連接Thread路由器,通過(guò)它連接Thread網(wǎng)絡(luò)和家庭網(wǎng)絡(luò)。無(wú)線網(wǎng)口和以太網(wǎng)口1都屬于路由器內(nèi)網(wǎng)口,可通過(guò)創(chuàng)建一個(gè)虛擬網(wǎng)橋相互連接,使用DHCPv6方式為家庭路由器的各個(gè)內(nèi)網(wǎng)口自動(dòng)配置IPv6地址。

      Thread路由器具備路由轉(zhuǎn)發(fā)功能和IPv6地址配置機(jī)制,連入家庭網(wǎng)絡(luò)之后,Thread網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都能夠獲取到IPv6全球唯一的單播地址(GUA),或者是IPv6本地唯一單播地址(Unique Local IPv6 Unicast Address, ULA),ULA地址只能用于本地局域網(wǎng)通信,具有固定前綴FD00::/8,功能類(lèi)似于IPv4局域網(wǎng)地址192.168.x.x。而使用GUA地址,Thread網(wǎng)絡(luò)設(shè)備可以直接和互聯(lián)網(wǎng)中的IPv6主機(jī)進(jìn)行雙向通信。

      由于Thread網(wǎng)絡(luò)中IPv6地址配置方式為無(wú)狀態(tài)地址自動(dòng)配置(Stateless Address Auto-Configuration, SLAAC),Thread節(jié)點(diǎn)利用一個(gè)可用的64位地址前綴和64位的接口ID,可自動(dòng)生成IPv6地址,無(wú)需用戶(hù)配置。假如Thread路由器從家庭路由器中分配得到的GUA地址為2000:1234:7c34:4::1/62,它將檢測(cè)到該地址(前綴位數(shù)必須少于64位),并為T(mén)hread網(wǎng)絡(luò)繼續(xù)劃分出64位的子網(wǎng)前綴,如2000:1234:7c34:5::1/64,并將該前綴在Thread網(wǎng)絡(luò)中廣播。Thread網(wǎng)絡(luò)設(shè)備即可利用該地址前綴自動(dòng)生成一個(gè)GUA地址。

      2.2 Thread網(wǎng)絡(luò)解決方案

      2.2.1 硬件設(shè)計(jì)

      Thread網(wǎng)絡(luò)解決方案的硬件總體架構(gòu)如圖5所示。

      圖5 Thread網(wǎng)絡(luò)解決方案硬件架構(gòu)圖

      Thread節(jié)點(diǎn)和網(wǎng)絡(luò)協(xié)處理器(Network Co-Processer, NCP)都采用主控外接射頻模塊的雙芯片方案。主控芯片采用NXP的K64芯片(或是其他支持ARM Mbed OS的硬件平臺(tái)),通過(guò)SPI串行總線連接MRF24J40MA射頻集成模塊,由其內(nèi)置的MRF24J40射頻芯片提供物理層和MAC層支持。

      MRF24J40MA是符合2.4 GHz IEEE標(biāo)準(zhǔn)802.15.4的集成模塊,集成晶振、內(nèi)置穩(wěn)壓器、匹配電路和PCB天線。該模塊基于Microchip的MRF24J40 IEEE 802.15.4 2.4 GHz 射頻收發(fā)芯片,通過(guò)四線制SPI接口與主控制器通信。采用該模塊可免去大量的RF、天線設(shè)計(jì),以及合規(guī)性測(cè)試工作,上手簡(jiǎn)單,可大大縮短產(chǎn)品開(kāi)發(fā)時(shí)間。MRF24J40MA射頻模塊如圖6所示。

      圖6 MRF24J40MA射頻模塊

      邊界路由器同樣采樣樹(shù)莓派3B搭建原型,通過(guò)USB接口連接網(wǎng)絡(luò)協(xié)處理器,通過(guò)板載以太網(wǎng)口連接家庭路由器,無(wú)需額外擴(kuò)展網(wǎng)絡(luò)接口。

      2.2.2 軟件設(shè)計(jì)

      Thread節(jié)點(diǎn)和網(wǎng)絡(luò)協(xié)處理器的軟件設(shè)計(jì)基于ARM Mbed軟件開(kāi)發(fā)平臺(tái),應(yīng)用其開(kāi)源嵌入式實(shí)時(shí)操作系統(tǒng)CMSIS-RTOS(即ARM Mbed OS),移植OpenThread協(xié)議棧和MRF24J40MA射頻模塊驅(qū)動(dòng)程序。

      ARM Mbed OS是ARM公司專(zhuān)為基于ARM Cortex-M處理器所設(shè)計(jì)的開(kāi)源嵌入式實(shí)時(shí)操作系統(tǒng),可運(yùn)行在所有Cortex-M系列的產(chǎn)品上,配置靈活、可裁剪,最小內(nèi)存需求低至8 KB。選用Mbed OS的最主要原因是其具有強(qiáng)大的跨平臺(tái)特性以及強(qiáng)大的開(kāi)發(fā)者生態(tài)。Mbed OS目前支持60多家經(jīng)過(guò)認(rèn)證的硬件方案,包括100多種開(kāi)發(fā)板和400多個(gè)元件庫(kù),涵蓋了市面上主流的芯片廠商;Mbed開(kāi)發(fā)者社區(qū)擁有數(shù)量龐大的注冊(cè)用戶(hù),通過(guò)社區(qū)、Github等開(kāi)源平臺(tái)共享源代碼。借助Mbed OS開(kāi)發(fā)者可以利用社區(qū)資源快速地開(kāi)發(fā)產(chǎn)品原型,并可直接運(yùn)行在不同的硬件平臺(tái)上,避免了因更換硬件導(dǎo)致大量的移植和開(kāi)發(fā)工作。

      除了包含RTOS,Mbed OS還集成了物聯(lián)網(wǎng)設(shè)備開(kāi)發(fā)所需要的各種組件,涵蓋設(shè)備安全、設(shè)備管理、通信、端云互聯(lián)的功能組件,如各類(lèi)網(wǎng)絡(luò)協(xié)議、文件系統(tǒng)、事件管理框架,幫助開(kāi)發(fā)者從嵌入式終端到云端再到用戶(hù)端快速構(gòu)建IoT應(yīng)用。

      本文主要做了兩方面工作:首先移植MRF24J40MA射頻驅(qū)動(dòng),以及OpenThread協(xié)議棧,適配Mbed OS;其次為OpenThread提供封裝程度更高、抽象性更好的C++類(lèi)及其接口(OpenThread Interface和UDP Socket),最大程度屏蔽底層細(xì)節(jié),方便開(kāi)發(fā)者進(jìn)行二次開(kāi)發(fā)。完成OpenThread協(xié)議棧移植后,ARM Mbed OS架構(gòu)如圖7所示。

      圖7 OpenThread+ARM Mbed OS架構(gòu)圖

      Thread路由器由網(wǎng)絡(luò)協(xié)處理器(NCP)和邊界路由器(BR)組成。網(wǎng)絡(luò)協(xié)處理器負(fù)責(zé)在Thread網(wǎng)絡(luò)和邊界路由器之間傳遞數(shù)據(jù),提供Thread網(wǎng)絡(luò)連接性。網(wǎng)絡(luò)協(xié)處理器與Thread節(jié)點(diǎn)具有完全相同的硬件結(jié)構(gòu),可由OpenThread的宏定義配置其節(jié)點(diǎn)類(lèi)型是作為網(wǎng)絡(luò)協(xié)處理器還是Thread節(jié)點(diǎn)運(yùn)行。邊界路由器(BR)可基于Nordic官方提供的邊界路由器(Nordic Thread Border Router, NBR)解決方案進(jìn)行二次開(kāi)發(fā)。NBR的軟件架構(gòu)示意圖如圖8所示。

      圖8 邊界路由器軟件架構(gòu)示意圖

      NBR是基于OpenWRT開(kāi)發(fā)的路由器系統(tǒng),內(nèi)置LuCI配置面板,以及nat64、dns、wpantund等網(wǎng)絡(luò)組件,可通過(guò)WiFi、Ethernet連接到家庭路由器,并提供DHCP和DHCPv6服務(wù),是互聯(lián)網(wǎng)與Thread網(wǎng)絡(luò)之間IPv6數(shù)據(jù)包中轉(zhuǎn)站。wpantund是NBR的關(guān)鍵組件,由OpenThread項(xiàng)目組開(kāi)發(fā),它集成了spinel、Dbus、wpanctl等功能組件,為NCP提供一個(gè)虛擬的本地IPv6網(wǎng)絡(luò)接口。spinel組件實(shí)現(xiàn)了spinel協(xié)議,用于和網(wǎng)絡(luò)協(xié)處理器基于串口或者SPI通信;Dbus的作用是連接spinel和邊界路由器中的其他組件;wpanctl提供了對(duì)wpantund的各種命令行控制指令,涵蓋組網(wǎng)、配置、查看網(wǎng)絡(luò)參數(shù)和網(wǎng)絡(luò)狀態(tài)等功能,可幫助開(kāi)發(fā)者快速配置和調(diào)試Thread網(wǎng)絡(luò)。

      結(jié) 語(yǔ)

      黃祥才(碩士研究生),研究方向?yàn)榍度胧较到y(tǒng)、物聯(lián)網(wǎng)、人工智能;張志偉(碩士研究生),研究方向?yàn)榍度胧较到y(tǒng)、IPv6網(wǎng)絡(luò);彭意兵(碩士研究生),研究方向?yàn)榍度胧较到y(tǒng)安全;何頂新(副教授),研究方向?yàn)橛?jì)算機(jī)控制技術(shù)、嵌入式系統(tǒng)等。

      猜你喜歡
      協(xié)處理器路由器智能家居
      買(mǎi)千兆路由器看接口參數(shù)
      基于HBase分布式數(shù)據(jù)庫(kù)海量數(shù)據(jù)序列存儲(chǔ)優(yōu)化
      基于HBase分布式數(shù)據(jù)庫(kù)海量數(shù)據(jù)序列存儲(chǔ)優(yōu)化
      基于Zigbee的無(wú)線通信技術(shù)在智能家居中的應(yīng)用
      電子制作(2018年1期)2018-04-04 01:48:28
      HBase分布式二級(jí)索引通用方案研究
      關(guān)于智能家居真正需求的探討
      你所不知道的WIFI路由器使用方法?
      智能家居更貼心
      基于LD3320的智能家居控制
      河南科技(2014年7期)2014-02-27 14:11:13
      無(wú)線路由器輻射可忽略
      三门县| 金湖县| 清原| 台前县| 上林县| 浦江县| 宣威市| 衡南县| 徐闻县| 五华县| 瑞安市| 鹿邑县| 蓝田县| 出国| 济源市| 三台县| 高尔夫| 朝阳市| 资中县| 新宾| 沙洋县| 汕尾市| 新乐市| 临江市| 泗洪县| 新密市| 会同县| 邵阳县| 丰顺县| 玛多县| 哈密市| 都安| 元谋县| 龙陵县| 丹寨县| 习水县| 灌阳县| 平邑县| 全南县| 阿尔山市| 邵东县|