溯源電子秤是食品質量安全追溯系統的重要一環。文章針對一種新型溯源電子秤的網絡數據傳輸進行了研 究,提出了一種WiFi網絡數據傳輸方案,解決了 WiFi局域網節點數目少、數據傳輸受公網制約等問題;并對該方案進行 了實驗驗證。實驗結果表明,該方案是可行的,能夠滿足食品質量溯源需求,并具有一定的推廣價值。
0.引言
由于對食品安全問題的擔憂,各國對食品安全都 非常重視,美國、歐盟、日本已經建立了各自較為完善 的食品質量安全追溯監管體系,我國食品質量安全 追溯系統起步較晚,但也在逐步嘗試建立起來。目 前國內外對基于RFID的追溯系統和肉菜追溯源 系統方面進行了不少研究和實現。食品質量安全追 溯系統中,溯源電子秤屬于其銷售環節,國內的溯源電 子秤已經在肉類蔬菜追溯系統中有了應用先例。
目前,一種融合了以太網有線技術和ZigBee、 WiFi無線技術的新型溯源電子秤正在發展起來,它既 可以使用在超市,也能在難以監管的農貿市場發揮作 用。當多臺溯源電子秤組成網絡時,采用以太網有線 方式存在布線不方便、可移動性差的缺點,而采用無線 方式則能夠很好地解決這個問題。ZigBee技術是一 種近距離、低復雜度、低功耗、低速率能自組網的無線 通信技術,在傳感器網絡中有較多應用,它的缺點 是數據傳輸速率較低,網絡節點多時存在數據沖突和 傳輸不穩定。相比ZigBee技術,WiFi技術不僅數據 傳輸速率大,而且WiFi無線網卡和路由器由于封裝 了 TCP/IP協議,可靠性更高,更適合新型溯源電子秤 組網。
新型溯源電子秤的WiFi網絡有其應用特殊性。 其WiFi局域網不受公網(外部Internet)制約,具有一 定自組網特性,網絡拓展性較強,滿足WiFi節點較多 情況下的數據可靠、穩定傳輸,能夠應用在如農貿市場 等環境,網絡具有較強適應性。
1.系統硬件結構
射頻標簽的食品信息;移動支付模塊和IC卡支付 模塊既起到支付作用,又能讀取消費者個人信息(包括 用戶代碼、聯系方式等)觸摸顯示屏能進行電子臺賬 處理并進行相關顯示;小票打印機能打印消費憑證; ARM處理器模塊包括ARM處理芯片S3C6410及其 外圍電路,能夠移植運行linux系統及其相關軟件,存 儲海量數據;WiFi無線USB網卡與ARM處理器模 塊的USB接口相連,并能夠通過WiFi網絡和上層服 務器進行雙向通訊。
2.系統網絡拓撲圖
2.1WiFi 技術
目前大多數WiFi路由器支持IEEE802. 11b/g/n 這三種標準,無線傳輸速率為11?600 Mbps,可工作 在2. 4 GHz的免費頻段。WiFi可工作在2種基本服 務集(Basic Service Set,BSS)模式,獨立型基礎服務集(圖2)和基礎結構型基本服務集(圖3)。獨立型基礎 服務集,無線終端無需使用無線接入點AP(AcceSS Point)可直接通信,多個終端可組成一個獨立的基礎 服務集。基礎結構型基本服務集,無線終端可通過一 個或多個無線AP連接通信,該模式下若連接公網,不 橋接多個路由器的情況下,網絡IP地址數不超過 255。
2.2溯源電子秤網絡拓撲圖
本系統的新型溯源電子秤網絡拓撲結構如圖4所 示,該拓撲結構是WiFi基礎結構型基本服務集的拓 展。該拓撲圖中,各個市場都有一個WiFi局域網(圖 4中僅列出2個市場),局域網的服務器能夠通過公網 連接至上層監管平臺,接受上層監管平臺的監管。
WiFi局域網硬件由局域網服務器、中心路由器、 無線AP、新型溯源電子秤構成,其功能分別如下:
(1)局域網服務器:存儲容量足夠大,必須有雙網 卡,雙網卡可以都是有線網卡或者一個有線網卡和一 個無線網卡。一條有線網卡通過以太網線接WiFi中 心路由器收集整個局域網溯源電子秤的數據,并在局 域網服務器里進行處理、存儲至數據庫,另一個有線網 卡或者無線網卡接入公網與上層監管平臺相連。
(2)中心路由器:通過該WiFi路由器可以橋接無 線AP,也可以直接以無線方式連接溯源電子秤,建立起溯源電子秤和局域網服務器雙向通訊。
(3)無線AP:它和中心路由器進行橋接,可以根 據網絡大小進行數量擴展,通過它建立起溯源電子秤 和中心路由器通信,它相當于中繼器作用。
(4)新型溯源電子秤:其USB接口與WiFi無線 USB網卡相連。WiFi無線USB網卡能夠接收新型 溯源電子秤數據并通過無線AP或者中心路由器將數 據發往
WiFi局域網服務器,也能接收上層監管平臺 或者WiFi局域網服務器發來的數據。
上層監管平臺位于企業或者政府相關監管部門, 權限各有不同,政府權限最高,其次是相關企業,用來 監管各個市場的交易情況。
本系統由一個中心路由器和無線AP、一定數量的 新型溯源電子秤構成一種BSS,如圖4中的BSS1,而無 線AP和一定數量的溯源電子秤構成另一種BSS,如圖 4中BSS2和BSS3,兩種BSS構成了一個分布式系統。 每個 BSS 擁有自己獨有的 SSID(Service Set Identifier, 服務集標識),各個BSS的SSID信號相互覆蓋,使各個 新型溯源電子秤能接收兩個或兩個以上的SSID信號, 確保某個無線AP節點出現故障或者信號強度過弱的 情況下,新型溯源電子秤WFi無線網卡能夠切換到其 他無線AP或者中心路由器,與其相連形成新的BSS,達 到自組網效果,增強系統的魯棒性。
系統的WiFi局域網服務器采用雙網卡,從硬件 上相對隔離了 WiFi局域網和公網,從軟件上通過公 網共享WiFi局域網服務器的數據庫中的數據又達到 聯網的功能。硬件的相對隔離,進一步方便了修改 WiFi局域網的子網掩碼來擴大網絡IP地址數,從而 達到了擴大溯源電子秤節點數的目的。
3.系統軟件設計
3. 1新型溯源電子秤數據傳輸的幀格式
新型溯源電子秤數據傳輸的幀格式主要有兩種: 一種是商戶對食品進行入庫登記上傳的數據幀,如圖 5;另一種是消費者購買食品結算后上傳到局域網服務 器的數據幀格式,如圖6。由于商戶入庫登記在前,系 統已經有了所有食品信息,消費者購買的食品信息只 要保證能和系統中入庫登記的食品信息可以匹配識別 就行,因此消費者的數據幀格式在字節段3比商戶的 數據幀要短,內容要少。WiFi無線網卡與ARM處理 器通過USB 口相連進行數據傳輸時,存在數據丟失或 者錯誤可能,因此在數據傳輸的幀格式中增加了 16位 CRC校驗字節來校驗數據的正確性。
3.2系統的socket流程圖 3.2.1系統的 socket選用socket 即套接字,是一種網絡進程通信機制^用的socket有兩種,流式套接字和數據報套接字。流 式套接字是一種面向連接的socket,用于面向連接的 TCP服務應用;數據報套接字是一種無連接的sock-et,針對無連接的UDP服務應用。前者數據傳輸可靠 性高,后者數據傳輸效率高,但存在數據丟失、錯誤的 可能。TCP還采用了超時重傳和捎帶確認機制來保 證數據傳輸完全正確,因此,在溯源電子秤與局域網服 務器通信,以及局域網服務器和上層監管平臺通信時 都采用TCP傳輸方式。
3. 2. 2 socket 流程圖的設計
對于溯源電子秤,進行 socket 編程之前,需要做 linux相關移植。首先,選用一款較穩定的 linux內核 版本 linux3. 4. 2,使用 Busybox1. 21. 0 制作 linux3. 4. 2所需的cramfs和yafs根文件系統。在PC機的開 發環境下對該內核進行相應的配置,添加與ARM處 理器S3C6410有關文件和溯源電子秤所需的所有模 塊,如RFID模塊、觸摸屏模塊等,添加了 Ralink公司 的WiFi無線網卡RI3070的配置和驅動等;然后,利 用交叉編譯工具鏈armlinux-gcc4. 3. 2重新編譯,將 生成的鏡像文件zlmage移植到溯源電子秤上,并利用 文件掛載的方法掛載自啟動根文件系統。最后,使用 QT5. 2. 1軟件進行界面開發和 socket 編 程 。
溯源電子秤與局域網服務器通信時,溯源電子秤 是客戶端,局域網服務器是服務器端。 socket 通信前, 溯源電子秤的WiFi無線網卡需要關聯至WiFi局域 網的中心路由器或者無線AP的SSID,關聯條件如 下:接收信號強度>-85 dBm,反向錯幀率<10%,反 向重傳率<20%。若沒達到關聯條件,則溯源電子秤 切換到其他無線AP。利用linux系統的iwconfig指 令判斷是否已經關聯到無線AP,如果有就等待TCP 連接,若沒有就搜索其他無線AP,直到搜索到信號較 強且MAC地址屬于WiFi局域網中的無線AP的 SSID為止,然后執行iwconfig ra0 essid SSID指令關 聯該AP,進入丁CP請求連接。該溯源電子秤的 sock-et 流 程 圖 如 圖 7 , 服 務 器 端 socket 如 圖 8 。
局域網服務器和上層監管平臺 socket 通信時,局 域網服務器是客戶端 ,socket 流程圖如圖9,而上層監 管平臺是服務器 ,sockect 流程圖和圖8 —樣。
4.實驗結果及分析
以一個WFi局域網和一個上層監控平臺建立網絡 通信。其網絡拓撲圖如圖10,該網絡中的三個溯源電子 秤節點分別是NODE1、NODE2、NODE3,溯源電子秤中 的WFi無線網卡采用Ralink公司的WFi無線網卡 R丁3070。中心路由器采用深訓市普聯技術有限公司的 TL-WR882N型號路由器,其有線傳輸速率最大為 100 Mbps,無線傳輸速率最大為150 Mbps。限于實驗 條件,WiFi局域網服務器采用的是惠普Compaq515筆 記本模擬,該筆記本具備有線網卡和無線網卡,其中有 線網卡通過以太網線與中心路由器LAN 口相連,無線 網卡以WFi無線方式與上層監管平臺(聯想 lenovo E420筆記本電腦)相連,外接Internet(公網)。
溯源電子秤節點、無線AP、中心路由器、WiFi局 域網服務器和上層監管平臺的IP地址設置以及SSID 如圖10所示。中心路由器、無線AP1、溯源電子秤和 WiFi局域網服務器有線網卡的子網掩碼都為 255.255.0.0,確保上述設備都在同一網段內。子網掩 碼的這種配置,可以使WiFi局域網IP地址數理論值 達到65 000,滿足溯源電子秤網絡需求。
WiFi局域網中無線AP與中心路由器間、溯源電 子秤與其最近無線AP間的距離不超過200 m,中心路 由器和兩個無線AP信號進行一定程度的相互覆蓋。
布置在類似于農貿市場的環境進行模擬,且溯源電子 秤的WiFi信號較好。
使用丁 CP&UDP工具,在WiFi局域網服務器上 創建TCP服務器,WiFi局域網服務器IP地址設為 192. 168. 1. 200,端口號為8088,在上層監管平臺上創 建另一個TCP服務器,地址設為192. 168. 191.1,端口 號為7070。同時在溯源電子秤上創建相關TCP客戶 端。圖11是在WiFi局域網服務器上得到的該工具 測試成功的網絡圖。
從該圖可以證實,本方案能夠實現溯源電子秤通 過相關無線路由器或者無線AP與WiFi局域網服務 器進行通信以及WiFi局域網服務器與上層監管平臺 通信。
在每個溯源電子秤上向該WiFi局域網服務器同 時上傳一個8. 76 MB(70. 08 Mbit)的文件,通過WiFi 網絡測試軟件得到W i F i局域網服務器接收溯源電子 秤數據的傳輸速率,并用 matlab 軟件畫出采集到的傳 輸速率動態曲線圖,如圖12。
從圖12可知,WiFi局域網服務器接收到了 NODE1、NODE2、NODE3的溯源電子秤數據,平均 速率分別為 3. 92 Mbit/s、2. 91 Mbit/s、2. 76 Mbit/s (其中1 Mbit=l 024 kbit),可見,數據傳輸相對穩定。 經測試,關閉其中一個無線AP節點,溯源電子秤的 WiFi成功地進行了切換且IP地址未改變,溯源電子 秤依然能夠較穩定地傳輸數據。
WiFi局域網服務器有線網卡為自適應網卡,最大 帶寬能達到100 Mbit,假設一個WiFi局域網溯源電子 秤為400臺,且所有的溯源電子秤同時進行數據傳輸, 則平均分配到每個溯源電子秤的帶寬最大可達 250 kbit。經統計計算,一種食品的品牌名、生產廠 家、生產日期、有效期、產地等所有字節相加一般不超 過200 B(1 600 bit),則一個消費者若一次購買100種 不同食品,經過溯源電子秤數據處理后,字節總量不超 過20 KB(160 kbit),低于250 kbit帶寬,因此消費者的 數據不到0.8 3即可傳完。實際當中所有溯源電子秤 同時在用的情況極少,消費者也很少一次購買100種 不同食品,因此分配到正在使用的溯源電子秤的帶寬 要遠大于250 kbit,滿足實際需求。
5總結
本文提出了一種基于WiFi網絡的數據傳輸方 案,該方案將WiFi網絡作為局域網使用,而局域網服 務器使用雙網卡,與公網相對分離開來,解決了 WiFi 局域網IP地址與公網IP地址可能沖突的問題以及公 網出現斷網時影響W i F i局域網數據傳輸的問題,同 時擴大了 WiFi節點數。經實驗驗證,該方案是可行 的,能夠應用在實際項目中,具有一定的市場推廣和應 用價值。