張子木
(北京工業大學 軟件學院,北京 100124)
物聯網接入技術研究與系統設計
張子木
(北京工業大學 軟件學院,北京100124)
以物聯網技術為核心,通過對Arduino技術和物聯網接入技術的研究,提出了一種物聯網接入技術方案,并完成了系統的軟硬件設計。該物聯網接入系統可以在不更改原有設備的前提下,實時的將無法自主聯網的感知設備采集到的信息發送至互聯網。與采用FPGA技術的物聯網接入系統相比,具有開發周期短,開發成本低,靈活性強等特點,具有實際應用價值。
物聯網;Arduino;接入技術;數據傳輸
物聯網是由多種技術融合而成的新型技術體系[1],它在互聯網的基礎上,將任何時間、任何地點人與人之間的溝通和連接,擴展到任何時間、任何地點人與物、物與物之間的交互和連接。物聯網技術可廣泛應用于智能電網、應急管理與公共安全、城市管理、城市智能交通、生態環境、資源監督、醫療衛生、智能家居、精準農業、智能物流與產品溯源等重要領域,以更加精細和動態的方式管理生產和生活,提高資源利用率和生產水平,改善人與自然間的關系[2]。
在物聯網技術飛速發展的今天,物聯網接入技術在物聯網時代扮演著非常重要的角色。但是時至今日,還沒有形成的統一的概念、技術標準、體系結構等。物聯網的接入方式是多種多樣的,物聯網接入技術是將多種接入方式整合起來,統一互聯到接入網絡的關鍵技術,在不更改原有設備的前提下,實現將無法自主聯網的設備與公共網絡的連接,同時完成控制、管理、轉發和編解碼等功能,解決物聯網接入控制處理在通用性、靈活性等方面存在的不足。物聯網接入系統也因此應運而生,圖1為物聯網接入應用系統架構圖[3]。
為了實現從感知網到互聯網的接入。本文在做了需求分析的基礎上,提出并設計了一種基于Arduino的物聯網接入技術方案。該系統能夠實時的將感知設備采集到的信息發送到互聯網。

圖1 物聯網接入應用系統架構圖Fig.1 The internet of things system architecture diagram
盡管在不同的應用場景下物聯網接入系統的某些功能需求也許會不同,但是整體上,物聯網接入系統應當具有以下特征。
具有豐富的數據接口。這里的數據接口包括硬件總線接口和網絡接口。物聯網主要使用專用測量設備、傳感器、RFID技術、多媒體信息采集等技術進行數據采集,采集的數據包括視頻、音頻、傳感器數據、控制信號等,不同的信息采集方式使用的硬件總線接口是多種多樣的,甚至同一個傳感網內的不同網絡實體使用的接口也可能不同。接入系統要接收感知網中設備采集到的數據必然需要多種不同的硬件接口。而網絡接口則對應著網絡通訊技術,將采集到的信息發送到不同的網絡中當然也就需要不同的網絡接口。固然可以根據不同的應用場景來配置不同的數據接口,但為了可以擁有廣泛的接入性和通用性,物聯網接入系統應提供以下幾種數據接口。1)SPI(串行外設總線)接口;2)IIC接口;3)USB接口;4)UART(通用異步收發傳輸器)接口;5)RS485接口;6)RJ45接口;7)GPIO接口。
具有協議轉換能力。由于物聯網接入系統在物聯網的布局中處于感知網絡和接入網絡之間,因此需要完成感知網絡到接入網絡之間的協議轉換,保證不同的網絡協議能夠封裝成統一的數據和信令。處于不同應用場景的接入系統只需完成感知網絡通訊協議到這一特定的通訊協議轉換即可。
對感知網中的網絡實體進行管理和控制也是必不可少的。當接入系統接收到上層命令時,它可以對命令進行識別,進而根據命令對網絡實體進行相應操作,例如遠程喚醒、控制、診斷、升級和維護等。這樣上層應用便可通過接入系統管理控制感知網中的網絡實體。
該物聯網接入系統的結構圖如圖2所示。物聯網接入系統由信息采集接口單元、信息接入處理單元、通訊單元3部分組成。
信息采集接口單元包含物聯網接入需求分析中提到的硬件總線接口。物聯網接入系統通過這些數據接口與感知設備相連接,根據不同接口所約定的通訊協議標準實時接收感知設備所采集的數據信息,并將采集到的信息傳輸到信息接入處理單元。
信息接入處理單元為所述系統的控制處理核心,與信息采集接口單元和通訊單元相連接,包括采集接口協議模塊、嵌入式微處理器模塊、數據緩存模塊和通訊協議模塊。采集接口協議模塊包含信息采集接口單元中對應接口的通訊協議,嵌入式微處理器模塊完成數據的處理,數據緩存模塊實現數據的緩存,通訊協議模塊包含通訊單元中對應模塊的通訊協議。信息接入處理單元根據接入的數據信息格式的不同,以及應用系統的需要,對接收的數據信息進行數模轉換、壓縮編碼、數據包封裝、緩存及處理等不同操作。
通訊單元包括有線通訊單元和無線通訊單元。有線通訊單元的實現方案是以太網接入電路,無線通訊單元由GSM、3G、Wi-Fi、ZigBee、藍牙等無線通訊手段實現。通訊單元根據不同的通訊機制,將接收到的數據封裝對應的無/有線通訊協議格式的數據包,將其發送到傳輸網絡中。

圖2 物聯網接入系統結構圖Fig.2 The internet of things access system structure diagram
2.1硬件系統實現
結合對物聯網接入需求的分析,本文選擇了Intel Galileo (Gen2)開發板來實現物聯網接入系統模型。Galileo是Intel發布的采用X86架構的Arduino開發板。它搭載了quark處理器,主頻達到400 MHz,同時具有256M RAM,512K SRAM,8M閃存,可以運行嵌入式操作系統,這使得在Arduino上進行視頻傳輸成為可能。由于Arduino的軟硬件系統都具有高度的模塊化,而且完全開源,很多電子廠商和元器件制造商按此標準為Arduino制作了專屬的擴展板,極大的豐富了數據接口的類型。同時很多愛好者也在致力于為Arduino制作元器件驅動庫,進一步方便其使用,極大的減少了開發者的冗余工作量。這使得Arduino能擴展豐富的接口,根據現場應用需求快速設計實現個性化系統,在提高設備效率和通用性的同時,減少系統成本和體積[4-5]。
Galileo擁有多種外部接口,包括RJ-45接口、SPI接口、IIC接口、USB接口、UART接口、PCI-E接口、GPIO接口等,這樣只需要為其擴展RS485接口,增加無線通訊模塊即可。Wi-Fi模塊使用Intel迅馳Wireless-N 135實現,RS485接口使用RS485擴展板實現。設備參考圖如圖3所示。具體功能模塊對應實現方案如表1所示。
2.2系統軟件設計
配置攝像頭驅動并移植嵌入式 Linux系統[6]。標準Linux內核內容繁復,在某些場合應用時,對于有限的資源會顯得十分復雜和浪費,因此應當針對不同的應用需求和目標平臺對 Linux內核進行適當的裁剪、配置、編譯以得到映像文件,進行系統的移植。Intel官方網站為Galileo提供了Yocto定制版的Linux,以及Linux內核源文件可供使用和裁剪,由于Yocto定制版Linux并未直接配置攝像頭驅動,因此需要配置UVC攝像頭驅動,重新編譯內核源文件。由于移植嵌入式操作系統是本系統所需要做的準備工作,這部分不加過多的贅述。
數據信息處理軟件設計。該部分主要涉及數據信息處理相關的程序開發,包括通訊協議模塊實現,以及設備驅動、數據包接收與解析、數據處理、數據存儲、數據發送等程序設計,實現數據格式轉換、通訊協議轉換、采集數據的實時傳輸。以將模擬傳感器數據經由Wi-Fi傳輸到服務器為例,其具體的數據處理發送流程圖如圖4所示。

圖3 設備參考圖Fig.3 The Internet of things access system reference chart

表1 功能模塊對應實現方案表Tab.1 Implementation scheme of function module

圖4 數據處理發送流程圖Fig.4 Data processing and transmission flow chart
數據流程分為以下7步:
步驟1:初始化,設置通訊頻率、本地地址和服務器地址。
步驟2:檢測Wi-Fi模塊是否可用,可用進入步驟3;不可用提示Wi-Fi模塊不可用。
步驟3:接入系統通過Wi-Fi模塊主動嘗試連接到目標網絡,若連接成功,提示連接成功,輸出目標網絡狀態信息,進入步驟4;若連接失敗,一定時間后重復步驟3,并提示正在嘗試連接。
步驟4:接入系統請求連入服務器,成功進入步驟5;失敗提示無法連接到服務器。
步驟5:判斷距離上次發送數據包時間是否大于發送時間間隔,超過時間間隔則讀取傳感器數據,進入步驟6;小于時間間隔則重復步驟5。
步驟6:將傳感器產生的模擬信號經數據處理模塊處理,轉換為可用的數據,進入步驟7。
步驟7:將數據封裝處理后經過通訊模塊發送到服務器,服務器端將數據保存,重復步驟5。
測試環境建立如下,以輸出模擬信號的TMP36溫度傳感器為例作為感知系統,Yeelink云平臺為服務器,將感知系統通過硬件接口與物聯網接入系統相連接。系統上電后,各模塊工作正常,可以通過串口查看到系統響應的變化過程,并在Yeelink平臺上查看到感知系統采集的數據記錄。圖5 為Yeelink平臺接收到的經過處理后的TMP36傳感器采集的數據曲線。

圖5 Yeelink平臺上生成的數據曲線Fig.5 The data curve which Yeelink platform generated
該物聯網接入系統能夠實時的將感知設備采集到的信息發送到互聯網,與采用FPGA技術的物聯網接入設備相比,可以降低開發成本,縮短開發周期,更具有靈活性。這也驗證Arduino技術在物聯網接入領域的實用性,達到了設計要求。
[1]劉強,崔莉,陳海明.物聯網關鍵技術與應用[J].計算機科學,2010,37(6):1-4,10.
[2]侯義斌,黃樟欽,劉宏珍,等.一種基于FPGA的物聯網接入設備[P].中國專利:CN201120511259.4,2012-12-05
[3]鄭樹泉,韓元杰,張泉.物聯網架構與應用[J].軟件產業與工程,2010(6):27-30,48.
[4]楊繼志,郭敬.Arduino的互動產品平臺創新設計[J].單片機與嵌入式系統應用,2012(4):39-41.
[5]郭譚娜,焦艷冰.基于AVR單片機的Arduino控制器應用淺析[J].數字技術與應用,2013(2):4.
[6]黃睿邦,湯榮江,李文亮.Linux下基于Video4Linux的USB攝像頭視頻采集實現[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稿件編號:201503039
張子木(1989—),男,山東莘縣人,碩士研究生。研究方向:嵌入式軟件與物聯網。