馮 旭
(無錫江南計算技術研究所,江蘇 無錫 214000)
冷鏈是指易腐食品從產地收購或捕撈之后,在產品加工、貯藏、運輸、分銷和零售、直到消費者手中,其各個環(huán)節(jié)始終處于產品所必需的低溫環(huán)境下,以保證食品質量安全,減少損耗的特殊供應鏈系統(tǒng)[1]。溫度是整個冷鏈運輸系統(tǒng)的關鍵控制點,對于運輸過程中溫度的控制和監(jiān)測是保證食品質量和安全的關鍵所在[2-5]。冷鏈溫度監(jiān)控是目前的研究熱點。馮旭等為解決羊肉冷鏈運輸過程中溫度信息難以實時監(jiān)測與調控等難題,采用ZigBee、高級精簡指令集計算機(advanded RISC machine,簡稱 ARM)等嵌入式技術設計一種基于模糊比例-積分-微分 (proportionintegral-derivative,簡稱PID)的羊肉冷鏈運輸溫控系統(tǒng)[6]。張凱等針對目前冷鏈物流運輸過程中食品和車輛的安全問題及實時性,設計了一種基于STM 32的車載監(jiān)測系統(tǒng)[7]。張錚等針對物聯網技術在冷鏈監(jiān)測應用中面臨的諸多障礙和挑戰(zhàn),如無線通信能耗、可靠性等,根據冷鏈監(jiān)測的特點、需求等,采用基于ARM Cortex-MO內核的超低功耗MCU和Sub-GHz無線通信方案,設計了一種新型低功耗無線監(jiān)測平臺[8]。王義勇為保證農產品冷鏈物流過程中的質量安全,提高冷鏈物流過程的透明度,降低物流損耗,對冷鏈產品進行有效的監(jiān)測,提出并開發(fā)了一種農產品冷鏈物流監(jiān)測平臺,實現了異常信息報警和監(jiān)測數據查看分析等功能[9]。王想等為了保證北美冬青鮮切枝冷鏈物流過程中的品質,提高冷鏈物流過程的可追溯性和透明度,以433 MHz為發(fā)射頻率,溫濕度和氣體環(huán)境為關鍵參數,設計了面向北美冬青鮮切枝冷鏈物流的無線實時監(jiān)測系統(tǒng)[10]。
通過對上述研究進行分析發(fā)現,目前對冷鏈物流的監(jiān)控研究主要集中在監(jiān)控系統(tǒng)的設計和開發(fā),很少有對采集的溫度數據中錯誤信息進行處理的研究。為此筆者根據冷鏈運輸過程中所采集的溫度數據的特點,設計了一種基于正太分布離群算法的冷鏈溫度監(jiān)控系統(tǒng),以期為冷鏈溫度監(jiān)測研究提供依據。
基于正態(tài)分布離群算法屬于基于統(tǒng)計離群算法的一種,適用于數據量大、一維的、數據集有確定的數學模型的情景。冷鏈物流運輸過程中采集的溫度具有數據量大、一維性、呈正態(tài)分布性等特點[11],將基于正態(tài)分布離群算法應用于冷鏈溫度監(jiān)測系統(tǒng)中是合理的。
基于正態(tài)分布離群的溫度數據檢測方法,首先為溫度數據構建基于正態(tài)分布的數學模型,然后通過該模型對采集的溫度數據進行檢測。明顯不符合正態(tài)分布模型的數據即可認為是離群點。檢驗不符合正態(tài)分布模型的數據主要有兩個步驟:①計算溫度數據的均值μ和標準差σ;②檢驗數據是否為離群點。
首先假設整個溫度數據都服從正態(tài)分布模型,然后利用極大似然估計函數計算均值μ和標準差σ。正態(tài)分布模型如公式(1)和(2)所示:
極大似然估計函數推導出的均值和標準差如公式(3)和(4)所示:
式中:xi為單個溫度數據;F為整個溫度數據集;μ為整個溫度數據的均值;σ為整個溫度數據的標準差。
首先根據公式(3)和(4)計算出的溫度數據的均值μ和溫度數據的標準差σ設定正常溫度數據的區(qū)間,然后遍歷整個溫度數據樣本,觀察其是否落在區(qū)間中,若落在區(qū)間則認為是正常的數據;若不在此區(qū)間中,則可認為是離群點,并將其從整個溫度樣本中剔除?;谡龖B(tài)分布離群的溫度數據檢測方法流程如圖1所示。
圖1 溫度數據檢測流程
根據系統(tǒng)設計要求,采用無線傳感器網絡技術,設計了一種基于正太分布離群算法的冷鏈溫度監(jiān)控系統(tǒng)。該系統(tǒng)主要由協調器模塊、終端信息采集模塊以及上位機數據顯示模塊3個部分組成,系統(tǒng)的總體框架如圖2所示。
協調節(jié)點主控模塊采用TI公司的CC2530芯片。該芯片內部集成了2.4 GHz標準射頻收發(fā)器和增強型51單片機,具有256 Kb的閃存容量,完全滿足溫度數據的采集與傳輸。CC2530芯片的具體性能參數如表1所示。
圖2 系統(tǒng)整體結構圖
表1 CC2530參數
協調節(jié)點的主要任務是負責接受終端節(jié)點發(fā)送的溫度數據,并將接受的數據通過RS485總線發(fā)送至上位機。上位機通過離群算法將接收到的溫度數據中的錯誤信息剔除并在顯示屏上顯示,從而達到監(jiān)控溫度的目的。協調節(jié)點硬件如圖3所示。
圖3 協調節(jié)點硬件
終端采集系統(tǒng)是整個溫度監(jiān)測系統(tǒng)的最基本組成單位,必須具備實時感知整個冷鏈運輸過程中車廂內溫度的功能。終端采集系統(tǒng)的主控模塊也是采用CC2530型芯片設計的,而溫度傳感器模塊采用的是DS18B20溫度傳感器。終端采集系統(tǒng)硬件如圖4所示。
圖4 終端采集系統(tǒng)硬件
DS18B20溫度傳感器采用單總線接口方式,其溫度檢測范圍為-55~125℃,編程為9~12位A/D轉換精度,溫度分辨率可達0.0625℃,且測得的溫度值以16位數字量的方式進行串行傳輸,因此,特別適合用于像冷鏈運輸這種對溫度有較高要求的監(jiān)測系統(tǒng)。
DS18B20數字溫度傳感器有2種接線方式,分別為使用外部電源VDD的接線方式和使用寄生電源的接線方式。當使用外部電源時,VDD端口接3.0~5.5 V電壓;當使用寄生電源時,VDD端口接地。2種接線方式分別如圖5所示。
圖5 數字溫度傳感器接線方式
本系統(tǒng)中將溫度傳感器DS18B20的DQ引腳與CC2530芯片相連,實現數據的傳輸;VDD引腳與CC2530芯片穩(wěn)壓電源相連接,穩(wěn)壓電源提供穩(wěn)定的+5V電壓,并且在數據線DQ上連接一個阻值為4.7 K的上拉電阻,實現對DS18B20溫度傳感器的供電;GND引腳則與CC2530芯片的GND共地。
系統(tǒng)軟件設計分為終端節(jié)點軟件設計和協調節(jié)點軟件設計。這兩部分都是基于Z-Stack2007協議棧設計開發(fā)的,主要實現協調節(jié)點與終端采集系統(tǒng)之間相互通信和DS18B20溫度傳感器的數據采集功能[12-13]。基于Z-Stack2007協議棧開發(fā)的終端節(jié)點和協調節(jié)點程序工作流程如圖6所示。
ZigBee網絡中終端采集系統(tǒng)主要負責溫度數據的采集及傳送,溫度數據通過DS18B20傳感器進行采集。由于DS18B20溫度傳感器對讀寫數據位的時序非常敏感,因此在使用時需對DS18B20溫度傳感器進行復位和拉高總線操作。
終端采集系統(tǒng)功能的實現主要在于數據采集函數編寫,而數據采集程序只需在Z-Stack2007協議棧的應用層進行開發(fā)。在應用層定義溫度采集任務,當有任務就緒時,調用相應的處理函數;無任務時,系統(tǒng)進入休眠以降低功耗。終端采集節(jié)點工作流程如圖7所示。
圖6 終端節(jié)點與協調節(jié)點工作流程
圖7 終端采集系統(tǒng)工作流程圖
ZigBee網絡中協調器節(jié)點主要負責ZigBee網絡的組建、數據接收。協調器節(jié)點開始運行后與終端節(jié)點一樣,先進行初始化,包括初始化寄存器、堆棧、系統(tǒng)時鐘等,然后通過修改Z-Stack2007協議棧的相關層來實現網絡的組建。具體過程為:首先,在APP層發(fā)起網絡組建的請求,NWK層收到請求后向MAC層發(fā)送信道掃描命令,MAC層掃描信道后將可用信道發(fā)送給NWK層;其次,根據信道掃描結果,確定協調器節(jié)點PAN ID為其分配地址,并設置MAC層的相關參數;最后,啟動已組建的網絡。Zig-Bee網絡建立之后,協調節(jié)點就可以接收終端采集系統(tǒng)傳送來的數據。協調節(jié)點工作流程如圖8所示。
由于條件限制,實驗難以在冷藏車廂內進行,因此本實驗采用新飛BC-60型冰箱來模擬冷藏車廂。BC-60型冰箱的參數如表2所示。
表2 BC-60型冰箱性能參數
圖8 協調器節(jié)點工作流程圖
BC-60型冰箱為2層的結構,因此本實驗只在冰箱上下層各布置一個節(jié)點進行溫度的采集,節(jié)點布置方式如圖9所示。
圖9 節(jié)點布置方式
實驗共設置2個采集節(jié)點,節(jié)點數據采集周期為6 s,兩個采集節(jié)點分別采集了611個溫度數據。由于上層采集節(jié)點靠近冷凍室,溫度比下層低,因此,本實驗以2組溫度數據的平均值作為最終的溫度數據。處理后的溫度數據的直方圖如圖10所示。
從圖10中可以看出,采集的數據大多集中在9~10℃之間。通過對數據的各項參數的計算分析可知,本實驗采集的溫度數據的均值μ為9.538 1℃,方差σ為0.340 1,均值μ的置信區(qū)間為9.511 1~9.565 2℃,方差σ的置信區(qū)間為0.322 0~0.360 3,置信度設置為0.95,實驗數據基本符合正態(tài)分布的數學模型。
圖11為溫度數據同概率密度函數的擬合圖。通過比較擬合概率密度函數曲線和實際數據函數曲線可以發(fā)現,本實驗采集的溫度數據總體上符合正太分布。數據中9℃的頻率較高,這可能是傳感器自身的缺陷導致的。
圖10 直方圖
圖11 溫度數據的擬合圖
溫度數據的均值μ為9.5381℃,方差σ為0.340 1,因此正常的溫度數據區(qū)間為[8.517 8,10.558 4],所有不在此區(qū)間內的數據都視為不正常的數據。
通過觀察實驗數據可知,不正常數據為5個8.3℃、2個8.4℃、1個8.5℃、3個 10.6℃,其余均在[8.517 8,10.558 4]區(qū)間范圍內,基于正太分布離群算法剔除不正常數據的正確率達到了100%。
冷鏈物流是當今的一個研究熱點,國內外很多專家學者對冷鏈監(jiān)控系統(tǒng)做了大量研究,但鮮有對所采集數據中的錯誤信息進行處理的研究。冷鏈運輸過程中采集的溫度數據是一維的、呈正太分布,且數據量巨大。根據這些特點筆者采用BC-60型冰箱對冷鏈運輸過程中車廂內的環(huán)境進行模擬,對Zig-Bee終端采集的溫度數據進行處理,基于正態(tài)分布離群算法對采集的溫度數據中不正常的數據進行剔除,剔除不正常數據的準確性達到了100%。