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