丁振華 陳富浩 馬尚昌
(1.浙江省氣象局機(jī)關(guān)服務(wù)中心,浙江 杭州 310000;2.成都信息工程大學(xué),四川 成都 610225;3.中國氣象局大氣探測重點(diǎn)開放實(shí)驗(yàn)室,四川 成都 610225)
地面氣象要素傳感器類型多種多樣,不同類型的氣象要素傳感器具有多種不同的輸出信號類型,不同的輸出信號類型又需要采集器設(shè)有多種端口與之對應(yīng),這會出現(xiàn)設(shè)計出來的采集器結(jié)構(gòu)復(fù)雜、體積偏大等問題。有線的設(shè)計方式使得數(shù)據(jù)發(fā)送方式單一,不具備多種選擇性,不能滿足將來自動氣象站采集終端的功能和技術(shù)需求[1]。我國地域遼闊,地勢條件錯綜復(fù)雜,很多偏遠(yuǎn)地區(qū)和環(huán)境惡劣的山區(qū)氣象數(shù)據(jù)采集存在諸多不便。本文設(shè)計的多模式無線氣象數(shù)據(jù)采集終端可以很好地解決上述問題,并能根據(jù)氣象站的地理環(huán)境來選用合適的數(shù)據(jù)采集傳輸模式。比如,在數(shù)據(jù)可近距離通信的地區(qū),選擇以節(jié)點(diǎn)形式通過6LoWPAN(IPv6)模式進(jìn)行數(shù)據(jù)的無線采集[2];在遠(yuǎn)距離無線通信網(wǎng)絡(luò)可覆蓋的地區(qū),選擇以終端形式通過4G網(wǎng)絡(luò)模式進(jìn)行數(shù)據(jù)的無線采集;在我國偏遠(yuǎn)山區(qū)無線通信網(wǎng)絡(luò)無法覆蓋的地區(qū)或通信網(wǎng)絡(luò)易受自然災(zāi)害損壞的地區(qū),選擇利用北斗一代衛(wèi)星獨(dú)特的雙向短報文技術(shù)進(jìn)行數(shù)據(jù)的無線采集[3]。物聯(lián)網(wǎng)技術(shù)與氣象數(shù)據(jù)采集相結(jié)合是未來智慧氣象的一種新形態(tài)和發(fā)展趨勢[1],這將有利于解決氣象數(shù)據(jù)傳輸中存在的問題。
本文基于ARM體系結(jié)構(gòu)Cortex-M3內(nèi)核的嵌入式平臺進(jìn)行設(shè)計,嵌入式微控制器采用TI公司的CC2538處理器?;诙鄠鞲衅餍盘栐O(shè)計出靈活多用的調(diào)理電路,采用高精度的ADC芯片實(shí)現(xiàn)數(shù)據(jù)的高精度采集;外擴(kuò)Flash存儲芯片實(shí)現(xiàn)觀測數(shù)據(jù)長時間存儲,并支持6LoWPAN、4G以及北斗等多種數(shù)據(jù)通信方式[4]。軟件開發(fā)基于Contiki操作系統(tǒng)采用交互進(jìn)程設(shè)計模式,使接入的氣象要素傳感器數(shù)據(jù)能被實(shí)時采集、處理、存儲、發(fā)送。設(shè)計的多模式無線氣象數(shù)據(jù)采集終端與邊界路由節(jié)點(diǎn)都是基于CC2538微控制器系統(tǒng)平臺與Contiki軟件系統(tǒng)平臺來實(shí)現(xiàn)的,軟件系統(tǒng)平臺支持的6LoWPAN能實(shí)現(xiàn)與IPv6直接通信,能很好地滿足多個傳感器節(jié)點(diǎn)的數(shù)據(jù)訪問與控制需求,這為氣象觀測布置多個氣象數(shù)據(jù)采集節(jié)點(diǎn)打下基礎(chǔ)。多模式無線氣象數(shù)據(jù)采集系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
圖1 多模式無線氣象數(shù)據(jù)采集系統(tǒng)總體結(jié)構(gòu)框圖
多模式無線氣象數(shù)據(jù)采集終端硬件系統(tǒng)在終端硬件設(shè)計中,采集終端采用核心板加底板的設(shè)計模式,將微控制器與采集電路設(shè)計成小型化核心板,將部分硬件電路設(shè)計到底板,以便將來擴(kuò)充底板電路時不需要重新設(shè)計核心電路板,可直接根據(jù)設(shè)計好的核心板進(jìn)行底板的擴(kuò)充設(shè)計,大大節(jié)約了設(shè)計成本。該次硬件終端采用ARM Cortex-M3內(nèi)核的CC2538SF53作為MCU,該芯片集成了工作頻率為2.4 GHz的RF射頻收發(fā)器。在省電模式下,供電電流僅需0.4 μA,并且擁有高達(dá)32 MHz的時鐘頻率,完全能滿足氣象數(shù)據(jù)采集終端低功耗、小體積、低成本與高性能的硬件設(shè)計需求[5]。多模式無線氣象數(shù)據(jù)采集系統(tǒng)硬件總體框圖如圖2所示。
圖2 多模式無線氣象數(shù)據(jù)采集系統(tǒng)硬件總體框圖
系統(tǒng)軟件設(shè)計分兩個部分:多模式無線氣象數(shù)據(jù)采集終端的軟件設(shè)計和邊界路由節(jié)點(diǎn)的軟件設(shè)計。兩個部分的軟件設(shè)計都是采用虛擬機(jī)+Instant Ubuntu作為開發(fā)平臺,基于Contiki操作系統(tǒng)進(jìn)行開發(fā)設(shè)計,其中Contiki軟件設(shè)計以應(yīng)用層軟件為主,包含了部分驅(qū)動程序的設(shè)計。多模式無線氣象數(shù)據(jù)采集終端的軟件設(shè)計,能通過PC端上位機(jī)發(fā)送指令來實(shí)現(xiàn)對觀測場常規(guī)氣象要素傳感器信號的數(shù)據(jù)采集、處理、存儲及發(fā)送[6]。邊界路由節(jié)點(diǎn)的軟件設(shè)計實(shí)現(xiàn)了與采集終端在接入互聯(lián)網(wǎng)時,無需復(fù)雜的應(yīng)用層網(wǎng)關(guān)就能自由組網(wǎng)成功,以實(shí)現(xiàn)采集數(shù)據(jù)及指令的無線發(fā)送與接收。
多模式無線氣象數(shù)據(jù)采集終端主要功能是通過對地面常規(guī)氣象要素傳感器信號的數(shù)據(jù)采集,最終實(shí)現(xiàn)常規(guī)氣象要素傳感器信號(電壓、電阻、頻率、數(shù)字等)的數(shù)據(jù)采集、處理、存儲及配合PC端上位機(jī)指令配置,實(shí)現(xiàn)數(shù)據(jù)的無線收發(fā)。多模式無線氣象數(shù)據(jù)采集終端軟件設(shè)計采用的是交互進(jìn)程的設(shè)計模式,包括主進(jìn)程與時間進(jìn)程。終端軟件主進(jìn)程流程圖如圖3所示,系統(tǒng)首先進(jìn)行一系列初始化,然后進(jìn)行UDP網(wǎng)絡(luò)注冊,接著綁定用戶端口和連接服務(wù)器。首次執(zhí)行需設(shè)置初始時間,此時程序會跳轉(zhuǎn)至?xí)r間進(jìn)程,設(shè)置系統(tǒng)時間與實(shí)時時間一致,設(shè)置成功后退出該進(jìn)程,然后終端節(jié)點(diǎn)等待與邊界路由節(jié)點(diǎn)組網(wǎng),若成功組網(wǎng),通過串口助手可以打印出“Got a RPL Route”字符串。此時系統(tǒng)也會對連接4G模塊與北斗模塊的串口進(jìn)行初始化,可根據(jù)實(shí)際采集環(huán)境需要,選擇是否連接4G模塊或者北斗模塊,進(jìn)行數(shù)據(jù)的遠(yuǎn)距離傳輸。最后通過PC端向采集終端發(fā)送配置指令,獲取對應(yīng)的氣象要素數(shù)據(jù),若終端獲取指令成功,則響應(yīng)對應(yīng)的指令事件。
圖3 終端軟件主進(jìn)程流程圖
本文設(shè)計的多模式無線氣象數(shù)據(jù)采集終端在運(yùn)行過程中每次只能對一種氣象要素傳感器數(shù)據(jù)進(jìn)行采集、存儲及發(fā)送。氣象要素傳感器通道的選擇,通過PC端上位機(jī)發(fā)送指令到采集終端,采集終端接收到的指令與系統(tǒng)軟件中設(shè)定好的標(biāo)志位進(jìn)行匹配,會自動選擇用戶所要采集的氣象要素傳感器通道。系統(tǒng)數(shù)據(jù)采集處理軟件流程圖如圖4所示,系統(tǒng)軟件可以選擇的傳感器通道有溫度傳感器、濕度傳感器、風(fēng)向傳感器、風(fēng)速傳感器、雨量傳感器及氣壓傳感器通道。
圖4 系統(tǒng)數(shù)據(jù)采集處理軟件流程圖
邊界路由節(jié)點(diǎn)是連接氣象數(shù)據(jù)采集終端和互聯(lián)網(wǎng)的中間橋梁,主要實(shí)現(xiàn)兩者之間數(shù)據(jù)和指令的傳送與接收,以及終端的自由組網(wǎng),它是實(shí)現(xiàn)采集終端6LoWPAN無線通信的最重要部分。首先將該節(jié)點(diǎn)設(shè)置為邊界路由節(jié)點(diǎn),自啟動DHCP(動態(tài)主機(jī)配置協(xié)議)進(jìn)程,通過DHCP獲取互聯(lián)網(wǎng)端的IPv4地址[7]。采集終端是分配的IPv6地址,需調(diào)用Ip64函數(shù)模塊與Ip64_WebServer函數(shù)模塊進(jìn)行網(wǎng)絡(luò)協(xié)議互通轉(zhuǎn)換[8]。函數(shù)初始化成功后等待事件的到來,該事件包括指令收發(fā)和數(shù)據(jù)收發(fā),事件到來后將調(diào)用UDP_Socket_Sendto函數(shù)發(fā)送至預(yù)先設(shè)置好的目的IP終端[4]。邊界路由節(jié)點(diǎn)軟件流程圖如圖5所示。
圖5 邊界路由節(jié)點(diǎn)軟件流程圖
本文結(jié)合我國未來地面氣象觀測業(yè)務(wù)系統(tǒng)需求,基于CC2538芯片與Contiki操作系統(tǒng),設(shè)計了多模式無線氣象數(shù)據(jù)采集系統(tǒng)。通過采用核心板加底板的硬件設(shè)計模式,實(shí)現(xiàn)對溫度、濕度、風(fēng)向、風(fēng)速、雨量、氣壓等多種氣象要素數(shù)據(jù)的自動采集、處理、存儲及多種方式的無線通信。軟件系統(tǒng)平臺支持的6LoWPAN能實(shí)現(xiàn)與IPv6直接通信,能很好地滿足多個傳感器節(jié)點(diǎn)的數(shù)據(jù)訪問與控制需求,這為氣象觀測布設(shè)多個氣象數(shù)據(jù)采集節(jié)點(diǎn)打下了較好的基礎(chǔ)。