應君裕,郭 鵬,沈 誠,王 宇,劉 斌,章一萍
(湖北華中電力科技開發有限責任公司,湖北 武漢 430000)
物聯網技術的快速發展使得其在數據采集系統中得到了廣泛的應用,有效克服了傳統采集系統存在的問題。物聯網技術具備了自主感知、高效實時傳輸、智能數據分析等優點。但存在不足,如當設備資源有限且功耗要求高的情況下如何實現高效的數據采集和傳輸是一個難題;數據安全和隱私保護問題亟待解決;如何智能化分析和利用采集數據提供更精準的決策支持?;诖?在對相關技術分析基礎上設計高效的數據采集和傳輸方案,保護數據安全和隱私,并采用人工智能技術進行數據挖掘。
其屬于專用計算機系統,但是比普通計算機系統要求高。其基于計算機技術,可以對硬件、軟件進行裁剪,應用于應用系統,滿足不同應用場景對功能、成本、能耗等方面的需求。由硬件、操作系統、應用程序所構成,其中硬件負責提供計算和控制功能,操作系統負責管理系統資源和提供運行環境,應用程序根據具體需求開發軟件,完成特殊定制的功能和任務[1]。
物聯網是借助溫度傳感器、RFID技術、激光掃描儀等信息傳感設備來檢索監控對象及被連接對象的相關信息,并進行信息關聯,構建一個物-物、物-人、物-網連通,可以識別與管控目標的整體網絡。物聯網的架構由感知層、網絡層、應用層組成。感應層負責識別和采集信息。網絡層負責將采集到的數據傳輸到互聯網上。應用層則是基于物聯網數據進行分析和應用,對物體狀態監測、預測和控制。核心技術是射頻識別技術和傳感技術,射頻識別(RFID)技術實現對物體的標識和跟蹤,傳感技術對物體的參數和環境信息進行實時監測和采集[2]。
物聯網系統硬件整體結構如圖1所示。
圖1 硬件平臺節點的結構圖
由圖1可知,中央處理器是物聯網硬件平臺的最核心部件,選擇韓國三星公司生產的S3C2240R微處理器,實現內存和閃存管理。S3C2240R微處理器可以與物聯網硬件平臺所有功能模塊建立聯系,實現不同功能模塊的不同功能。物聯網硬件平臺包含無線傳輸模塊、顯示與操作模塊、GPS模塊、射頻(RFID)模塊、電源模塊等。中央處理器無線傳輸通過無線傳輸模塊中的無線網卡來實現,相關信息通過顯示與操作模塊中的觸屏展示與觸屏操作來實現。GPS模塊、射頻(RFID)模塊、條碼模塊分布于外接模塊,與中央微處理器連接,實現其功能。聚合物電池與芯片均分布于電源模塊,為中央微處理器提供電源,使其能夠正常運行[3]。
供電模塊為系統提供動力,將電源轉換成各模塊所需的電壓和電流,考慮功率和電流匹配。在物聯網信息采集系統中,使用5、3.3和1.25 V直流電壓供電。采用8.4 V鋰聚合物電池通過220 V交流電源適配器充電,并通過3級電源轉換為不同電壓[4]。第1級將8.4 V轉換為5 V,使用LM2596-5.0芯片給總線和觸摸屏供電;第2級將5 V轉換為3.3 V,使用AS2815AR-3.3芯片給外圍電路供電;第3級將3.3 V轉換為1.25 V,使用MAX8860EUA18芯片給微處理器供電。
無線網卡在物聯網中有著舉足輕重的作用,選擇EDIMAX公司生產的EW-7711HPn無線網卡,在設計中按照802.11 b/g通信標準進行安置,具體的運用過程中頻率在2.4 GHz[5]。
本系統采用高精度模塊,作用是讀取導航衛星數據,同時模式化操作后再以特定格式輸出。該模塊的特點是兼備全雙工串行接口,可直接連接到微處理器,無需轉換。
物聯網采集系統平臺選取S3C2440處理器,能夠操控各類模式的嵌入式系統。嵌入式系統相關信息如圖2所示。
圖2 嵌入式系統相關信息示意圖
WindowsCE、Vx'Works成本比較高,限制了其使用,μC/OS-II太過精簡,不適合應用[6]。嵌入式Linux具有代碼開放、擁有超強網絡功能、內核穩定等優勢,因此選擇嵌入式Linux作為終端操作系統。
Linux的特點是其在編譯器的支持下能夠移植。如果一種架構得到諸如gc此類具備多種功能的編譯工具的支持,Linux才可以運行在該硬件架構上的二進制代碼。通常因為資源限制,把含有gcc編譯器的GNUI具鏈安置在PC機上。Linux系統中并沒有編譯器,采用PC機將代碼下載到開發板上就可以進行操作[7]。應用交叉工具鏈進行嵌入式應用程序的開發需要搭建交叉編譯環境。
通常將PC機叫宿主機,開發板叫目標機。前者在系統中的作用是開發、編譯應用程序,完成的映像文件運用NFS掛載或FTP下載至開發板上運行。如果想展現目標板上的內容,同時對這些內容開展操作、控制等相關流程,可以在串口線的支持下,運用像Windows下的SecureCRT、Linux下的minicom等來完成。
嵌入式系統主要由4部分構成,如圖3所示。
圖3 嵌入式系統的軟件構成及相關信息
在Flash 存儲器中,嵌入式Linux系統的分區結構,具體如圖4所示。
圖4 嵌入式Linux系統的分區結構圖
按照系統中Mini2440開發板所需硬件的實際情況,對系統中的軟件My-Boot在架構設計進行部署,通常情況下列成2部分,第1階段的工作重心是S3C2004處理內部的核心初始化,具體如圖5所示;
圖5 內核初始化架構設計圖
S3C2440處理器內部的核心初始化影響整個系統[8]。使用程序主要有ARM匯編、ARM指令、ARM偽指令等。在研究同時,按照其啟動流程圖、開發板原理圖,芯片手冊等來編寫第1階段的Bootloader。第2階段設計程序主要目標就是要搞好Mini2440開發板外圍的硬件操作。運用C與匯編混合編程,按照mini2440開發版的芯片手冊和原理圖,以及其設計流程圖展開編寫工作,具體的設計如圖6所示。
圖6 板載硬件初始化架構設計圖
圖7 物聯網拓撲結構示意圖
My-Boot的工作流程:
(1)結束My-Boot的程序編寫;
(2)運用My-Boot.lds來鏈接相應的可執行程序;
(3)編寫對應的Makefile;
(4)做好這些程序編寫,還得在虛擬機中的RHEL9中make一下;
(5)下載至mini2440開發板中[9]。
4.1.1整體結構
演示系統的功能,包括組網性能、數據采集等。演示系統由一臺服務器(節點1)和多個終端節點(節點2、3、4等)組成[10],網絡拓撲如7圖所示。
4.1.2演示環境搭建
進行信息采集要在系統操作終端節點上設置一個數據發送程序傳輸和接受相關數據,需在服務器端安裝并運行一個程序,用來服務數據發送和網絡管理。為達到一定的傳輸距離,終端節點應該采取無線路由器,完成數據的轉發功能。
物聯網系統演示網絡搭建完成后,進行系統功能演示[11]。
4.2.1網絡整體性能演示
網絡拓撲圖用來展示服務器和終端節點之間的網絡關系,系統演示的網絡拓撲圖如圖8所示。
圖8 系統演示的網絡拓撲圖
圖8代表某一次演示過程中某一時間內的網絡拓撲關系,并沒有代表某實際位置,黑色點代表一般的終端節點[12]。如果其中的節點位置發生變化,則網絡結構同樣不可避免的發生變化。
4.2.2信息采集系統的功能演示
因為篇幅限制,本文只對條碼掃描、射頻識別數據采集與存儲進行演示,展示物聯網系統的功能演示[13-15]。具體操作過程中,任何終端皆能夠開展RFID和條形碼數據的采集,把數據存儲在本地數據庫中,然后運用無線自組織網絡,在網管系統的控制下把數據發送到服務器端。匯總的數據通過服務器界面進行查看,包括:①每個終端入庫;②全部終端節點入庫[16-17]。
對嵌入式物聯網的采集系統智能采集系統進行分析,闡述了嵌入式與物聯網關鍵技術、采集系統硬件整體結構等,并圍繞著本系統的硬件和軟件平臺的搭建進行了詳細的分析與研究,設計了供電、無線通信、GPS連接等模塊,搭建了交叉編譯環境,系統引導代碼My-Boot的編寫設計,Linux內核的移植,Linux根文件系統的移植;對物聯網信息采集系統演示網絡搭建與信息采集系統的功能演示,為嵌入式物聯網智能技術的發展和應用奠定了理論基礎。