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