張子木
(北京工業(yè)大學(xué) 軟件學(xué)院,北京 100124)
物聯(lián)網(wǎng)接入技術(shù)研究與系統(tǒng)設(shè)計(jì)
張子木
(北京工業(yè)大學(xué) 軟件學(xué)院,北京100124)
以物聯(lián)網(wǎng)技術(shù)為核心,通過(guò)對(duì)Arduino技術(shù)和物聯(lián)網(wǎng)接入技術(shù)的研究,提出了一種物聯(lián)網(wǎng)接入技術(shù)方案,并完成了系統(tǒng)的軟硬件設(shè)計(jì)。該物聯(lián)網(wǎng)接入系統(tǒng)可以在不更改原有設(shè)備的前提下,實(shí)時(shí)的將無(wú)法自主聯(lián)網(wǎng)的感知設(shè)備采集到的信息發(fā)送至互聯(lián)網(wǎng)。與采用FPGA技術(shù)的物聯(lián)網(wǎng)接入系統(tǒng)相比,具有開發(fā)周期短,開發(fā)成本低,靈活性強(qiáng)等特點(diǎn),具有實(shí)際應(yīng)用價(jià)值。
物聯(lián)網(wǎng);Arduino;接入技術(shù);數(shù)據(jù)傳輸
物聯(lián)網(wǎng)是由多種技術(shù)融合而成的新型技術(shù)體系[1],它在互聯(lián)網(wǎng)的基礎(chǔ)上,將任何時(shí)間、任何地點(diǎn)人與人之間的溝通和連接,擴(kuò)展到任何時(shí)間、任何地點(diǎn)人與物、物與物之間的交互和連接。物聯(lián)網(wǎng)技術(shù)可廣泛應(yīng)用于智能電網(wǎng)、應(yīng)急管理與公共安全、城市管理、城市智能交通、生態(tài)環(huán)境、資源監(jiān)督、醫(yī)療衛(wèi)生、智能家居、精準(zhǔn)農(nóng)業(yè)、智能物流與產(chǎn)品溯源等重要領(lǐng)域,以更加精細(xì)和動(dòng)態(tài)的方式管理生產(chǎn)和生活,提高資源利用率和生產(chǎn)水平,改善人與自然間的關(guān)系[2]。
在物聯(lián)網(wǎng)技術(shù)飛速發(fā)展的今天,物聯(lián)網(wǎng)接入技術(shù)在物聯(lián)網(wǎng)時(shí)代扮演著非常重要的角色。但是時(shí)至今日,還沒(méi)有形成的統(tǒng)一的概念、技術(shù)標(biāo)準(zhǔn)、體系結(jié)構(gòu)等。物聯(lián)網(wǎng)的接入方式是多種多樣的,物聯(lián)網(wǎng)接入技術(shù)是將多種接入方式整合起來(lái),統(tǒng)一互聯(lián)到接入網(wǎng)絡(luò)的關(guān)鍵技術(shù),在不更改原有設(shè)備的前提下,實(shí)現(xiàn)將無(wú)法自主聯(lián)網(wǎng)的設(shè)備與公共網(wǎng)絡(luò)的連接,同時(shí)完成控制、管理、轉(zhuǎn)發(fā)和編解碼等功能,解決物聯(lián)網(wǎng)接入控制處理在通用性、靈活性等方面存在的不足。物聯(lián)網(wǎng)接入系統(tǒng)也因此應(yīng)運(yùn)而生,圖1為物聯(lián)網(wǎng)接入應(yīng)用系統(tǒng)架構(gòu)圖[3]。
為了實(shí)現(xiàn)從感知網(wǎng)到互聯(lián)網(wǎng)的接入。本文在做了需求分析的基礎(chǔ)上,提出并設(shè)計(jì)了一種基于Arduino的物聯(lián)網(wǎng)接入技術(shù)方案。該系統(tǒng)能夠?qū)崟r(shí)的將感知設(shè)備采集到的信息發(fā)送到互聯(lián)網(wǎng)。
圖1 物聯(lián)網(wǎng)接入應(yīng)用系統(tǒng)架構(gòu)圖Fig.1 The internet of things system architecture diagram
盡管在不同的應(yīng)用場(chǎng)景下物聯(lián)網(wǎng)接入系統(tǒng)的某些功能需求也許會(huì)不同,但是整體上,物聯(lián)網(wǎng)接入系統(tǒng)應(yīng)當(dāng)具有以下特征。
具有豐富的數(shù)據(jù)接口。這里的數(shù)據(jù)接口包括硬件總線接口和網(wǎng)絡(luò)接口。物聯(lián)網(wǎng)主要使用專用測(cè)量設(shè)備、傳感器、RFID技術(shù)、多媒體信息采集等技術(shù)進(jìn)行數(shù)據(jù)采集,采集的數(shù)據(jù)包括視頻、音頻、傳感器數(shù)據(jù)、控制信號(hào)等,不同的信息采集方式使用的硬件總線接口是多種多樣的,甚至同一個(gè)傳感網(wǎng)內(nèi)的不同網(wǎng)絡(luò)實(shí)體使用的接口也可能不同。接入系統(tǒng)要接收感知網(wǎng)中設(shè)備采集到的數(shù)據(jù)必然需要多種不同的硬件接口。而網(wǎng)絡(luò)接口則對(duì)應(yīng)著網(wǎng)絡(luò)通訊技術(shù),將采集到的信息發(fā)送到不同的網(wǎng)絡(luò)中當(dāng)然也就需要不同的網(wǎng)絡(luò)接口。固然可以根據(jù)不同的應(yīng)用場(chǎng)景來(lái)配置不同的數(shù)據(jù)接口,但為了可以擁有廣泛的接入性和通用性,物聯(lián)網(wǎng)接入系統(tǒng)應(yīng)提供以下幾種數(shù)據(jù)接口。1)SPI(串行外設(shè)總線)接口;2)IIC接口;3)USB接口;4)UART(通用異步收發(fā)傳輸器)接口;5)RS485接口;6)RJ45接口;7)GPIO接口。
具有協(xié)議轉(zhuǎn)換能力。由于物聯(lián)網(wǎng)接入系統(tǒng)在物聯(lián)網(wǎng)的布局中處于感知網(wǎng)絡(luò)和接入網(wǎng)絡(luò)之間,因此需要完成感知網(wǎng)絡(luò)到接入網(wǎng)絡(luò)之間的協(xié)議轉(zhuǎn)換,保證不同的網(wǎng)絡(luò)協(xié)議能夠封裝成統(tǒng)一的數(shù)據(jù)和信令。處于不同應(yīng)用場(chǎng)景的接入系統(tǒng)只需完成感知網(wǎng)絡(luò)通訊協(xié)議到這一特定的通訊協(xié)議轉(zhuǎn)換即可。
對(duì)感知網(wǎng)中的網(wǎng)絡(luò)實(shí)體進(jìn)行管理和控制也是必不可少的。當(dāng)接入系統(tǒng)接收到上層命令時(shí),它可以對(duì)命令進(jìn)行識(shí)別,進(jìn)而根據(jù)命令對(duì)網(wǎng)絡(luò)實(shí)體進(jìn)行相應(yīng)操作,例如遠(yuǎn)程喚醒、控制、診斷、升級(jí)和維護(hù)等。這樣上層應(yīng)用便可通過(guò)接入系統(tǒng)管理控制感知網(wǎng)中的網(wǎng)絡(luò)實(shí)體。
該物聯(lián)網(wǎng)接入系統(tǒng)的結(jié)構(gòu)圖如圖2所示。物聯(lián)網(wǎng)接入系統(tǒng)由信息采集接口單元、信息接入處理單元、通訊單元3部分組成。
信息采集接口單元包含物聯(lián)網(wǎng)接入需求分析中提到的硬件總線接口。物聯(lián)網(wǎng)接入系統(tǒng)通過(guò)這些數(shù)據(jù)接口與感知設(shè)備相連接,根據(jù)不同接口所約定的通訊協(xié)議標(biāo)準(zhǔn)實(shí)時(shí)接收感知設(shè)備所采集的數(shù)據(jù)信息,并將采集到的信息傳輸?shù)叫畔⒔尤胩幚韱卧?/p>
信息接入處理單元為所述系統(tǒng)的控制處理核心,與信息采集接口單元和通訊單元相連接,包括采集接口協(xié)議模塊、嵌入式微處理器模塊、數(shù)據(jù)緩存模塊和通訊協(xié)議模塊。采集接口協(xié)議模塊包含信息采集接口單元中對(duì)應(yīng)接口的通訊協(xié)議,嵌入式微處理器模塊完成數(shù)據(jù)的處理,數(shù)據(jù)緩存模塊實(shí)現(xiàn)數(shù)據(jù)的緩存,通訊協(xié)議模塊包含通訊單元中對(duì)應(yīng)模塊的通訊協(xié)議。信息接入處理單元根據(jù)接入的數(shù)據(jù)信息格式的不同,以及應(yīng)用系統(tǒng)的需要,對(duì)接收的數(shù)據(jù)信息進(jìn)行數(shù)模轉(zhuǎn)換、壓縮編碼、數(shù)據(jù)包封裝、緩存及處理等不同操作。
通訊單元包括有線通訊單元和無(wú)線通訊單元。有線通訊單元的實(shí)現(xiàn)方案是以太網(wǎng)接入電路,無(wú)線通訊單元由GSM、3G、Wi-Fi、ZigBee、藍(lán)牙等無(wú)線通訊手段實(shí)現(xiàn)。通訊單元根據(jù)不同的通訊機(jī)制,將接收到的數(shù)據(jù)封裝對(duì)應(yīng)的無(wú)/有線通訊協(xié)議格式的數(shù)據(jù)包,將其發(fā)送到傳輸網(wǎng)絡(luò)中。
圖2 物聯(lián)網(wǎng)接入系統(tǒng)結(jié)構(gòu)圖Fig.2 The internet of things access system structure diagram
2.1硬件系統(tǒng)實(shí)現(xiàn)
結(jié)合對(duì)物聯(lián)網(wǎng)接入需求的分析,本文選擇了Intel Galileo (Gen2)開發(fā)板來(lái)實(shí)現(xiàn)物聯(lián)網(wǎng)接入系統(tǒng)模型。Galileo是Intel發(fā)布的采用X86架構(gòu)的Arduino開發(fā)板。它搭載了quark處理器,主頻達(dá)到400 MHz,同時(shí)具有256M RAM,512K SRAM,8M閃存,可以運(yùn)行嵌入式操作系統(tǒng),這使得在Arduino上進(jìn)行視頻傳輸成為可能。由于Arduino的軟硬件系統(tǒng)都具有高度的模塊化,而且完全開源,很多電子廠商和元器件制造商按此標(biāo)準(zhǔn)為Arduino制作了專屬的擴(kuò)展板,極大的豐富了數(shù)據(jù)接口的類型。同時(shí)很多愛(ài)好者也在致力于為Arduino制作元器件驅(qū)動(dòng)庫(kù),進(jìn)一步方便其使用,極大的減少了開發(fā)者的冗余工作量。這使得Arduino能擴(kuò)展豐富的接口,根據(jù)現(xiàn)場(chǎng)應(yīng)用需求快速設(shè)計(jì)實(shí)現(xiàn)個(gè)性化系統(tǒng),在提高設(shè)備效率和通用性的同時(shí),減少系統(tǒng)成本和體積[4-5]。
Galileo擁有多種外部接口,包括RJ-45接口、SPI接口、IIC接口、USB接口、UART接口、PCI-E接口、GPIO接口等,這樣只需要為其擴(kuò)展RS485接口,增加無(wú)線通訊模塊即可。Wi-Fi模塊使用Intel迅馳Wireless-N 135實(shí)現(xiàn),RS485接口使用RS485擴(kuò)展板實(shí)現(xiàn)。設(shè)備參考圖如圖3所示。具體功能模塊對(duì)應(yīng)實(shí)現(xiàn)方案如表1所示。
2.2系統(tǒng)軟件設(shè)計(jì)
配置攝像頭驅(qū)動(dòng)并移植嵌入式 Linux系統(tǒng)[6]。標(biāo)準(zhǔn)Linux內(nèi)核內(nèi)容繁復(fù),在某些場(chǎng)合應(yīng)用時(shí),對(duì)于有限的資源會(huì)顯得十分復(fù)雜和浪費(fèi),因此應(yīng)當(dāng)針對(duì)不同的應(yīng)用需求和目標(biāo)平臺(tái)對(duì) Linux內(nèi)核進(jìn)行適當(dāng)?shù)牟眉?、配置、編譯以得到映像文件,進(jìn)行系統(tǒng)的移植。Intel官方網(wǎng)站為Galileo提供了Yocto定制版的Linux,以及Linux內(nèi)核源文件可供使用和裁剪,由于Yocto定制版Linux并未直接配置攝像頭驅(qū)動(dòng),因此需要配置UVC攝像頭驅(qū)動(dòng),重新編譯內(nèi)核源文件。由于移植嵌入式操作系統(tǒng)是本系統(tǒng)所需要做的準(zhǔn)備工作,這部分不加過(guò)多的贅述。
數(shù)據(jù)信息處理軟件設(shè)計(jì)。該部分主要涉及數(shù)據(jù)信息處理相關(guān)的程序開發(fā),包括通訊協(xié)議模塊實(shí)現(xiàn),以及設(shè)備驅(qū)動(dòng)、數(shù)據(jù)包接收與解析、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)發(fā)送等程序設(shè)計(jì),實(shí)現(xiàn)數(shù)據(jù)格式轉(zhuǎn)換、通訊協(xié)議轉(zhuǎn)換、采集數(shù)據(jù)的實(shí)時(shí)傳輸。以將模擬傳感器數(shù)據(jù)經(jīng)由Wi-Fi傳輸?shù)椒?wù)器為例,其具體的數(shù)據(jù)處理發(fā)送流程圖如圖4所示。
圖3 設(shè)備參考圖Fig.3 The Internet of things access system reference chart
表1 功能模塊對(duì)應(yīng)實(shí)現(xiàn)方案表Tab.1 Implementation scheme of function module
圖4 數(shù)據(jù)處理發(fā)送流程圖Fig.4 Data processing and transmission flow chart
數(shù)據(jù)流程分為以下7步:
步驟1:初始化,設(shè)置通訊頻率、本地地址和服務(wù)器地址。
步驟2:檢測(cè)Wi-Fi模塊是否可用,可用進(jìn)入步驟3;不可用提示W(wǎng)i-Fi模塊不可用。
步驟3:接入系統(tǒng)通過(guò)Wi-Fi模塊主動(dòng)嘗試連接到目標(biāo)網(wǎng)絡(luò),若連接成功,提示連接成功,輸出目標(biāo)網(wǎng)絡(luò)狀態(tài)信息,進(jìn)入步驟4;若連接失敗,一定時(shí)間后重復(fù)步驟3,并提示正在嘗試連接。
步驟4:接入系統(tǒng)請(qǐng)求連入服務(wù)器,成功進(jìn)入步驟5;失敗提示無(wú)法連接到服務(wù)器。
步驟5:判斷距離上次發(fā)送數(shù)據(jù)包時(shí)間是否大于發(fā)送時(shí)間間隔,超過(guò)時(shí)間間隔則讀取傳感器數(shù)據(jù),進(jìn)入步驟6;小于時(shí)間間隔則重復(fù)步驟5。
步驟6:將傳感器產(chǎn)生的模擬信號(hào)經(jīng)數(shù)據(jù)處理模塊處理,轉(zhuǎn)換為可用的數(shù)據(jù),進(jìn)入步驟7。
步驟7:將數(shù)據(jù)封裝處理后經(jīng)過(guò)通訊模塊發(fā)送到服務(wù)器,服務(wù)器端將數(shù)據(jù)保存,重復(fù)步驟5。
測(cè)試環(huán)境建立如下,以輸出模擬信號(hào)的TMP36溫度傳感器為例作為感知系統(tǒng),Yeelink云平臺(tái)為服務(wù)器,將感知系統(tǒng)通過(guò)硬件接口與物聯(lián)網(wǎng)接入系統(tǒng)相連接。系統(tǒng)上電后,各模塊工作正常,可以通過(guò)串口查看到系統(tǒng)響應(yīng)的變化過(guò)程,并在Yeelink平臺(tái)上查看到感知系統(tǒng)采集的數(shù)據(jù)記錄。圖5 為Yeelink平臺(tái)接收到的經(jīng)過(guò)處理后的TMP36傳感器采集的數(shù)據(jù)曲線。
圖5 Yeelink平臺(tái)上生成的數(shù)據(jù)曲線Fig.5 The data curve which Yeelink platform generated
該物聯(lián)網(wǎng)接入系統(tǒng)能夠?qū)崟r(shí)的將感知設(shè)備采集到的信息發(fā)送到互聯(lián)網(wǎng),與采用FPGA技術(shù)的物聯(lián)網(wǎng)接入設(shè)備相比,可以降低開發(fā)成本,縮短開發(fā)周期,更具有靈活性。這也驗(yàn)證Arduino技術(shù)在物聯(lián)網(wǎng)接入領(lǐng)域的實(shí)用性,達(dá)到了設(shè)計(jì)要求。
[1]劉強(qiáng),崔莉,陳海明.物聯(lián)網(wǎng)關(guān)鍵技術(shù)與應(yīng)用[J].計(jì)算機(jī)科學(xué),2010,37(6):1-4,10.
[2]侯義斌,黃樟欽,劉宏珍,等.一種基于FPGA的物聯(lián)網(wǎng)接入設(shè)備[P].中國(guó)專利:CN201120511259.4,2012-12-05
[3]鄭樹泉,韓元杰,張泉.物聯(lián)網(wǎng)架構(gòu)與應(yīng)用[J].軟件產(chǎn)業(yè)與工程,2010(6):27-30,48.
[4]楊繼志,郭敬.Arduino的互動(dòng)產(chǎn)品平臺(tái)創(chuàng)新設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012(4):39-41.
[5]郭譚娜,焦艷冰.基于AVR單片機(jī)的Arduino控制器應(yīng)用淺析[J].?dāng)?shù)字技術(shù)與應(yīng)用,2013(2):4.
[6]黃睿邦,湯榮江,李文亮.Linux下基于Video4Linux的USB攝像頭視頻采集實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī),2009(6):182-185.
Study on the access technology for internet of things and its system implementation schemes
ZHANG Zi-mu
(School of Software Engineering,Beijing University of Technology,Beijing 100124,China)
Taking Internet of things(IOT)technology as the core,through the study on Arduino technology and the access technology for IOT,this paper gives the design scheme of access system in IOT.This system can real-time transmission date to the internet which sensing device collected,without altering the original equipment.Compared with the access system in IOT based on FPGA technology,this system more flexible,and it shorten the development cycle,reduce the development cost,has practical value.
IOT;Arduino;access technology;data transmission
TN919
A
1674-6236(2016)02-0157-04
2015-03-03稿件編號(hào):201503039
張子木(1989—),男,山東莘縣人,碩士研究生。研究方向:嵌入式軟件與物聯(lián)網(wǎng)。