以自主研發的條碼溯源電子秤為信息采集基礎、以交易信息數據庫為管理核心、以手機掃描二維條碼為追溯 手段,構建了社區菜店交易管理與追溯系統框架。條碼溯源電子秤在集成相關模塊的基礎上,實現了產品稱量、身 份驗證、標簽打印和數據上傳等功能。在突破電子秤數據傳輸與解析技術、改進包含多條信息的手機掃描二維條 碼追溯識別技術的基礎上,實現了社區菜店交易管理與追溯系統。通過搭建模擬環境,對連接多臺電子秤的數據 傳輸穩定性、手機掃描二維條碼追溯進行了測試。結果表明,無論是實時傳輸方式還是集中傳輸方式,其傳輸成功 率均在99%以上;隨著標簽中產品數量的增加,不同像素的手機識別速度和識別成功率均存在不同程度的下降趨 勢,其中800萬像素的手機在識別速度上具有明顯優勢。
引言
“農民賣菜難”和“居民買菜貴”是目前農產品 流通與銷售中面臨的主要問題之。通過建立 社區菜店集中組織農產品進社區,對于減少流通環 節、降低流通成本、保障供應、增加便利都有積極作 用,是解決“賣難買難”的有效手段。
質量安全保障是社區菜店深入推廣中面臨的核 心問題,且社區菜店直接面向終端消費者,提供便利 的質量安全信息查詢方式也是提升社區菜店形象的 重要途徑。農產品追溯系統是促進生產信息透明 化,提高農產品質量安全,增加農產品市場競爭力的 重要措施3。隨著信息與裝備技術的不斷發展,結 合硬件設備進行信息采集和軟件系統進行信息管理 已成為增強追溯能力的有效手段。
與大型超市、農貿市場等經營管理方式不同,社 區菜店由于規模小、人員少、場地有限、流動性大,投 入服務器、計算機、條碼打印機等普通硬件設備進行 信息化管理與追溯存在著較大難度,因此迫切需要 占用空間小、操作簡便、成本低廉的一體化設備。本 研究以條碼溯源電子秤為核心,構建社區菜店交易 信息管理與追溯系統,實現交易信息采集、交易管理 分析、產品質量追溯等功能,探索可推廣應用的社區 菜店追溯模式。
1.整體架構
社區菜店交易信息管理與追溯系統以條碼溯源 電子秤為信息采集基礎,以交易信息數據庫為管理 核心,以手機掃描二維條碼為追溯手段。整體包括 3層結構,在社區菜店部署條碼溯源電子秤,根據店 面大小及交易量確定合適的電子秤數量,實現產品 稱量、追溯碼打印、交易身份驗證等功能,交易的質 量、價格及追溯碼信息通過WiFi/GPRS/3G等網絡 方式無線傳輸到社區菜店管理中心;在社區菜店管 理中心部署數據庫,將各交易門店上傳的數據進行 匯聚,開發交易管理系統,實現電子秤管理、交易門 店管理、交易信息統計等功能,并為追溯提供數據基 礎;在消費者端實現產品追溯,開發基于手機掃描二 維條碼的應用,可實現直接掃描追溯基本信息和手 機上網追溯詳細信息。其應用框架如圖1所示。
2.條碼溯源電子秤
2.1硬件結構
在充分考慮社區菜店經營規模小、網絡基礎條 件差、交易時間集中等特征,本文研發了集產品稱 量、身份識別、無線數據傳輸、追溯標簽打印于一體的條碼溯源電子秤。其硬件結構如圖2所示。
基于功耗低、性能穩定、擴展性強的原則,條碼 溯源電子秤采用模塊化的設計方案。以LPC1766 芯片為硬件核心,稱量單元采用梅特勒托利多 MT1401型稱量傳感器,配合使用電子秤專用的24位 A/D轉換芯片HX711 ; RFID模塊采用SLRC400 射頻芯片,通過串口與LPC1766進行通信;GPS定 位系統采用Gstar GS-216型GPS接收機模塊,該接 收器定位精度可以達到10 m; WiFi部分采用 BCM8000模塊作為構建實時通信系統的接入設備, 其滿足802. 11B/G標準,具備UART、SPI、USB等多 種通信接口,支持STA和AP兩種組網模式。
2.2設備功能
條碼溯源電子秤在集成相關模塊的基礎上,實 現了產品稱量、身份驗證、標簽打印和數據上傳等功 能。具體功能如下:
產品稱量:質量傳感器信號經A/D轉換生 成質量信息,用戶通過PLU (Price look up)預置商品 信息關聯產品單價,并自動計算商品總價,完成產品 稱量計價。電子秤PLU信息存儲在內部存儲芯片 當中,通過產品編碼與產品名稱相關聯。PLU信息 的設置通過更新存儲芯片中的數據完成。
身份驗證:用于交易操作者的驗證。每個 RFID卡具有唯一編碼,電子秤通過集成RFID讀寫模塊讀取該編碼。為了完成操作者的身份驗證,將 授權的RFID卡的編碼與社區菜店店號相關聯,并 存儲到電子秤程序中。社區菜店店號又與電子秤內 置的IP相關聯,電子秤通過判斷RFID模塊讀入的 當前編碼是否與電子秤IP相對應,實現用戶身份合 法性的驗證。驗證通過后電子秤進入稱量狀態。
標簽打印:采用超市小票的形式,將每次交 易的一種或多種農產品的名稱、單價、數量、總價等 信息打印到標簽上,并將每種產品的名稱、追溯號及 追溯網址存入二維條碼中,通過打印模塊將標簽打 印出來。追溯標簽樣例如圖3所示。
數據上傳:交易完成后,交易信息以數據包 格式通過指定通信方式發送到數據庫服務器,實現 交易數據的上傳。
3.交易管理系統
3.1電子秤數據傳輸與解析
電子秤與交易管理系統之間的數據傳輸采用基 于多線程的 socket 通信技術,電子秤信息管理系統 作為 socket 的服務器端,電子秤作為客戶端。
這種 通信方式下,每臺電子秤被分配唯一的IP,并與秤 號相關聯。多臺電子秤同時連接到交易管理系統 時,通過多線程的方式建立連接,采取并行的方式實 現實時通信,保證多臺電子秤的真實稱量數據互不 干擾。通信數據包括2部分,一是交易管理系統向 電子秤下發的信息,另一部分是電子秤上傳交易數 據。交易管理系統每天定時向電子秤下發信息,在 下發操作開始之前,所有電子秤開機進入初始化狀 態,等待接收數據。管理員在交易管理系統選擇待 更新的電子秤IP,在連接成功后將更新文件下發至 目標電子秤。電子秤成功接收并覆蓋原文件后,向 交易管理系統返回成功信息,至此,電子秤數據更新 完成。其流程如圖4a所示。
在電子秤上傳交易數據階段,當有任意一臺電 子秤與管理系統通信時,即可以建立連接并進行通 信,啟動接收程序,同時系統通過數據處理線程對所 接收到的數據進行解析存儲等操作。服務器接收數 據包括社區菜店編號、產品名稱、交易單價、交易質量、 交易總價、交易時間、傳輸狀態等信息,字段間由逗號 分隔,在進行系統解析時,按照已規定的數據格式對數 據進行拆分、解析、存儲操作。其流程如圖4b所示。
社區菜店所售農產品的生產、物流等信息通過 課題組前期研發的生產管理系統、物流配送管理系 統等采集。到達社區菜店待銷售的每批產品 均有批次號,在參照已有編碼并結合實際需求的 基礎上,確定批次號由生產企業所在郵政編碼、生產企業下屬基地流水編碼、產品編碼和生產日期編碼 組成。在每天銷售開始之前,將批次號連同PLU信 息通過管理系統下發給電子秤,這些信息保存在電 子秤的內部存儲器當中。在交易時,電子秤根據所 選擇產品名稱調用批次號,獲取產地、運輸信息,并 將這些信息與當前交易信息融合,生成追溯碼,同時 將追溯碼與批次號關聯,最終通過追溯碼即可追溯 出生產、物流等信息。
3.2包含多條信息的手機掃描二維條碼追溯識別 改進
由于在社區菜店進行交易時,經常存在一個顧 客購買多種產品的情況,研究中采用超市小票的方 式將追溯二維條碼打印到交易小票上,這就存在著 一張交易小票的二維條碼中可能存在多種產品的追 溯號。而手機掃描二維條碼是實現產品追溯的便捷 方式,課題組前期通過構建“二維條碼圖像采集一 圖像預處理一條碼識別一二維條碼追溯”流程,實 現了基于智能手機的單品條碼追溯。本研究重 點實現單個二維條碼中含有多個產品追溯號的掃描 追溯的改進,重點有2步,即在打印條碼時采用適當 的分隔符進行不同追溯號的分割、在掃描識別時分 離出單個追溯號進行追溯顯示。其中,第2步是重 點,其流程如圖5所示。
整個流程從啟動攝像頭自動對焦開始,在解碼 成功后,按打印時的分割規則進行單個追溯號提取, 將提取的多個追溯號在手機界面進行顯示,同時顯 示產品名,消費者點擊某一產品追溯號,系統將追溯 號發送到追溯中央數據庫,中央數據庫根據追溯號 進行檢索,將檢索結果發送到手機客戶端進行顯示。 若要進行下一個產品的追溯查詢,則可返回顯示所有 追溯號界面,否則整個追溯流程結束。
3.3主要功能
交易管理系統采用C#語言、以Microsoft Visual Studio 2010作為系統設計和開發工具進行開發,統 計分析圖形化展示工具采用Anychart圖形控件。社 區菜店分布采用百度Map API,結合Ajax及WebService 技術實現系統各功能。核心功能如下:
數據采集。該功能作為直接與電子秤交互 的上位機程序,主要負責接收、分析處理、存儲轉發 條碼溯源電子秤傳輸的數據。實現對不同社區菜店 所使用的電子秤進行數據的異步接收。
信息查詢。系統提供交易實時信息列表、 門店瀏覽查詢。同時,應用百度Map API將企業所 在地理位置信息、所選企業當月當天交易額信息、企 業詳細信息等通過地圖定位的方式快速直觀進行展 示,如圖6a所示。
(3)統計分析。用戶通過所要統計的地區、門 店、品種及查詢時間范圍等信息,能夠查詢到所選條 件約束下的交易價格變化、交易量等統計分析結果。 同時系統提供多種數據格式(包括Word、PDF、Excel 等)的統計結果導出功能,如圖6b所示。
產品追溯功能主要是面向消費者提供基于手機 掃描條碼的追溯查詢,可查詢產品信息、交易信息、 產品檢測信息等,支持多產品查詢和計算機上網查 詢詳細信息,如圖7所示。
該系統采用Java語言開發,在基于Android的 操作系統上運行。在進行條碼識別時,首先將條碼 內容進行識別,判斷是否符合系統規定的數據格式, 若符合即視為由電子秤打印出來的條碼,并對條碼 內容中多個產品追溯條碼進行分割,通過 WebService 方式獲取每個條碼的產品名稱,以列表 的形式展示出來。當用戶點擊列表中某一產品時系 統則將該產品包括生產企業、產地、生產日期、檢測 結果寺的基本彳目息展示出來。
4.系統測試
4.1連接多臺電子秤的數據傳輸穩定性測試
社區菜店分布廣,通常情況下,有多臺電子秤同 時工作,同時上傳數據。為了驗證這種模式下的數 據傳輸穩定性,在實驗室用12臺電子秤模擬現場交 易環境以及交易頻率,進行數據傳輸丟包率的測試。 社區菜店的高峰交易時間處于06 : 00—09 : 00、 16 :30—19 :30,這2個時間段內的交易頻率平均為 4 s/次。
選擇兩種傳輸方式進行測試,即實時傳輸方式 和集中傳輸方式。實時傳輸方式,設置電子秤每4 s 發送一次數據,數據直接通過WiFi傳輸給計算機, 12臺電子秤同時使用,大概持續3h。從服務器中 導出該時間段內存儲的數據,統計得到所接收到的 數據個數。根據測試用電子秤所發送的頻率,計算 在該段時間內,電子秤所發送的實際數據條數,計算 得到數據傳輸的成功率和丟包率。集中傳輸方式, 電子秤數據優先保存在本地,即電子秤內部存儲芯 片當中,在高峰時間過后,再統一傳輸到計算機;測 試方案同樣選擇12臺電子秤,進行3 h的模擬交 易,電子秤依次與計算機通過WiFi連接,讀取并將 數據傳輸到計算機。得到的傳輸結果如表1所示。
由表1可見,無論是實時傳輸方式還是集中傳 輸方式,其傳輸成功率均較高,在99%以上,在集中 傳輸方式中更有5臺電子秤的數據傳輸成功率達到 100%。盡管數據傳輸成功率很高,但也存在著一定 的丟包現象,因此,為了保證數據能全部傳輸成功, 采用2種方式相結合。
4.2手機掃描二維條碼追溯測試
對電子秤所生成的帶多條信息的條碼進行手機 掃描追溯測試,由于手機解析二維條碼與攝像頭分 辨率密切相關,因此本測試中采用3款像素分別為 300萬、500萬和800萬的手機,3款手機的其他配 置均差異不大;測試內容為包含不同數量產品及追 溯號的識別時間和識別成功率。
測試過程將標簽按產品所包含數量分為5組, 分別為包含 1 ~3、4 ~5、6 ~7、8 ~10、11 ~15 個產 品,每組20個標簽,每個產品約包含2 ~5個漢字及 20位數字追溯號。標簽介質為紙質,二維條碼尺寸 為18 mm X 18 mm,手機距離追溯標簽約10 cm,每組 測試50次。若在3 s之內條碼能被讀取到,并將所 有的產品信息及追溯碼都顯示到系統中,則認為條 碼讀取成功,設置識別成功率和識別時間2個指標 來衡量測試的效果,識別成功率為識別成功的次數 與總識別次數的比值,識別時間為所有識別成功次數的識別時間的平均值。
由表2可見,隨著標簽中產品數量的增加,不同 像素的手機均存在識別時間增加和識別成功率下降的趨勢。對于300萬像素的手機,當二維條碼中存 儲的產品數量大于6個,其識別成功率就小于 88%,當達到10 ~ 15個時,效果很不理想。對于 500萬像素和800萬像素的手機,其識別成功率差 異不大,但800萬像素的手機其識別時間明顯優于 500萬像素的手機。
5.結束語
以自主研發的條碼溯源電子秤為基礎,構建了 社區菜店交易信息管理與追溯系統,實現了基于手 機掃描二維條碼的追溯,并進行了系統測試,取得了 較好的測試效果。后期將深入推廣應用該系統及模 式,為提高社區菜店的管理效率、增強質量安全信息 獲取能力、提升社區菜店質量安全水平奠定基礎。