陳亞陽
(龍海市質(zhì)量計量檢驗檢測所,福建 漳州 363100)
當前,食品企業(yè)對內(nèi)部生產(chǎn)銷售原始記錄大多采用書面形式,造成人工成本增加,影響數(shù)據(jù)的及時性和客觀性,給食品安全監(jiān)管的科學性和高效性造成一定的影響?;赯igBee技術(shù)的計量數(shù)據(jù)采集是充分結(jié)合食品企業(yè)生產(chǎn)銷售各個環(huán)節(jié)中原始記錄的核心點——計量,通過ZigBee技術(shù),把各個計量關鍵點無線聯(lián)接起來,建立由傳感器采集終端、路由器端、協(xié)調(diào)器端以及PC端組成的計量數(shù)據(jù)采集系統(tǒng),形成企業(yè)臺帳自動記錄。
ZigBee與Bluetooth、Wi-Fi、IrDA等都是目前比較常見的短距離傳輸?shù)臒o線網(wǎng)絡協(xié)議,相比于其他短線網(wǎng)絡,ZigBee具有低速率、低功耗、低成本、易架設的特點,支持主從模式和點對點模式,支持大量節(jié)點和多種網(wǎng)絡拓撲,同時支持2.4GHz、915MHz、868MHz頻段,傳輸可靠性高,廣泛應用于物聯(lián)網(wǎng)及智能家居等領域。
ZigBee協(xié)議從下到上分別為物理層(PHY)、媒體訪問控制層(MAC)、傳輸層(TL)、網(wǎng)絡層(NWK)、應用層(APL)等。其中PHY和MAC遵循IEEE 802.15.4標準的規(guī)定,在此基礎上,ZigBee聯(lián)盟定義了網(wǎng)絡層 (NWK)和應用層(APL),如圖1所示。
圖1 IEEE與ZigBee Alliance分工
ZigBee網(wǎng)絡中設備可定義三種角色,即協(xié)調(diào)器(ZC)、路由器(ZR)和終端節(jié)點(ZED),其中,ZC負責發(fā)起并維護一個無線網(wǎng)絡,識別網(wǎng)絡中的設備加入網(wǎng)絡;ZR支撐網(wǎng)絡鏈路結(jié)構(gòu),完成數(shù)據(jù)包的轉(zhuǎn)發(fā);ZED節(jié)點是網(wǎng)絡的感知者和執(zhí)行者,負責數(shù)據(jù)采集和可執(zhí)行的網(wǎng)絡動作。
根據(jù)ZigBee協(xié)議以及適用特性,各大廠家紛紛開發(fā)了ZigBee芯片,并圍繞該芯片技術(shù)推出了適用各種端口的外圍電路,即為“ZigBee模塊”,主要由微控制器模塊、存儲器、無線收發(fā)模塊、電源模塊和其它外設功能模塊組成。文中采用的ZigBee模塊是由TI公司生產(chǎn)的CC2530F256。
2.1.1 計量數(shù)據(jù)采集系統(tǒng)框架設計
基于ZigBee技術(shù)的計量數(shù)據(jù)采集系統(tǒng),如圖2所示,由硬件和軟件組成。硬件包括:電子秤4臺、CC2530模塊6塊、PC主機1臺;軟件包括:IAR編譯軟件、仿真器SmartRF04EB(或CC Debugger)、數(shù)據(jù)采集開發(fā)軟件LabWindows/CVI(或Visual C++)、SSCOM3.2串口調(diào)試軟件、串口驅(qū)動程序。
圖2 基于ZigBee技術(shù)的計量數(shù)據(jù)采集系統(tǒng)
2.1.2 工作原理
把CC2530模塊安裝在需要的位置后,用IAR軟件編譯程序,分別定義協(xié)調(diào)器(ZC)、路由器(ZR)和終端節(jié)點(ZED)三個角色,并通過仿真器SmartRF04EB(或CC Debugger)燒寫到CC2530模塊上,ZED與計量器具接連后,對計量稱重實時數(shù)據(jù)以無線傳輸模式中轉(zhuǎn)至ZR(如果距離不大,不需要設置),由ZR無線傳輸給ZC,ZC與PC以RS232連接方式進行數(shù)據(jù)通信,在上位機的軟件上(通過LabWindows/CVI或Visual C++開發(fā))進行數(shù)據(jù)匯集歸納分析,形成進料、配料、投料及出料等環(huán)節(jié)的電子臺帳。
2.2.1 網(wǎng)絡節(jié)點電路模塊設計
2.2.1.1 終端節(jié)點與傳感器的電路連接
電子秤稱重模板一般采用HX711模塊。在連接時,HX711稱重傳感器對應CC2530開發(fā)板的電路接口為:VOC接 3.3V,SCK接P0.6,DT接P0.6,GND接 GND。
2.2.1.2 協(xié)調(diào)器節(jié)點與PC的電路連接
CC2530協(xié)調(diào)器有兩個串行通信接口USART0和USART1,為TTL電平,而PC機的串行通信接口是RS-232電平接口,兩者的電氣規(guī)范不一致,需要借助接口芯片進行電平轉(zhuǎn)換,然后實現(xiàn)兩者之間的數(shù)據(jù)通信。現(xiàn)在大部分PC機與外部數(shù)據(jù)對接時都采用USB接口,因此,可以選用C8051F320單片機作為USB的控制芯片,其結(jié)構(gòu)圖如圖3所示。
圖3 USB接口與PC機對接
2.3.1 軟件安裝
安 裝 IAR7.60、LabWindows/CVI或 Visual C++、SmartRF Flash Programme及串口調(diào)試助手軟件以及SmartRF04EB(或CC Debugger)仿真器驅(qū)動程序和USB轉(zhuǎn)串口驅(qū)動程序。
2.3.2 網(wǎng)絡節(jié)點角色定義
從IAR軟件中打開工程SampleApp.eww,在Workspace下拉框中選擇不同的角色。
(1)編譯協(xié)調(diào)器節(jié)點
連接第一個CC2530模塊。在 Workspace 下拉框中選擇“CoordinatorEB”,在工程名上點右鍵,選擇”Rebuild All”(第一次一定要用“Rebuild All”,后面再修改代碼只用“Make”即可),編譯正確后下載到CC2530協(xié)調(diào)器節(jié)點上。
(2)編譯終端節(jié)點
連接第二個CC2530模塊。在Workspace下拉框中選擇“EndDeviceEB”,方法如上。編譯正確后,作為終端節(jié)點下載到該板上。
(3)編譯路由器節(jié)點
連接第三個CC2530模塊。在Workspace下拉框中選擇“RouterEB-Pro”,方法同上。
2.3.3 數(shù)據(jù)采集軟件開發(fā)
2.3.3.1 LabWindows/CVI簡介
LabWindows/CVI軟件在編寫規(guī)范上基本與C語言一致,其工程文件格式為(*.prj),包含了源程序文件(*.c)、文件頭(*.h)和用戶界面文件(*.uir)。
2.3.3.2 LabWindows/CVI開發(fā)步驟
(1)確定數(shù)據(jù)采集框架。包括人機界面、軟件框架和面板中控件的回調(diào)函數(shù)等。
(2)設計人機界面。在編輯窗口設計人機界面,包括控件的選擇及放置、回調(diào)函數(shù)的設置等。
(3)編寫程序的源代碼。在人機界面編輯完成后,點擊菜單下的代碼,生成全部代碼,程序會自動生成軟件的主程序和回調(diào)函數(shù)的整體框架,設計人員只需向其中添加相應的代碼即可。
(4)軟件的調(diào)試運行。完成代碼的編寫后,點擊菜單欄運行下的調(diào)試選項或者直接點擊調(diào)試快捷鍵,對編寫的軟件進行調(diào)試修改。
2.4.1 測試工具
SSCOM3.2串口調(diào)試軟件。
2.4.2 對協(xié)調(diào)器、路由器進行串口測試
通過SSCOM3.2串口調(diào)試軟件對協(xié)調(diào)器進行串口測試。在SSCOM3.2軟件中選擇相應的端口COM1,并設置參數(shù),波特率為38400,數(shù)據(jù)位為8,停止位為1,奇偶校驗方式為None,數(shù)據(jù)流控制方式為None。若在軟件前兩行中出現(xiàn)Starting ZPS和Stack started,則說明協(xié)議棧初始化成功。
對路由器串口調(diào)試方法同上。路由器搜尋網(wǎng)絡成功時,會顯示:Scan Channel:15 Channel Mask:00008000 與 Node rejoined network with Addr 0xb95兩條記錄。
2.4.3 通信測試
將協(xié)調(diào)器和路由器組號設置成0×0002,終端設備組號設成 0×0003。
連接串口,可以觀察到只有0×0002的兩個設備相互發(fā)送信息(注:此處略去各節(jié)點發(fā)送及接收的代碼)(見圖4)。
圖4 協(xié)調(diào)器、路由器、終端節(jié)點調(diào)試
2.4.4 軟件調(diào)試
打開數(shù)據(jù)采集軟件界面,選擇USB端口,然后進行測試,如圖5所示。
圖5 軟件主界面
目前,應用ZigBee對計量數(shù)據(jù)進行無線采集的技術(shù)較為成熟,應用領域也越來越廣泛,在食品行業(yè)中推廣使用計量數(shù)據(jù)采集系統(tǒng)將對食品企業(yè)的管理效率產(chǎn)生明顯的提升作用,也會帶動食品行業(yè)向數(shù)字化管理邁向重要的一步,從而積極推進食品安全溯源體系的健全和完善。