費 娟,羅潔玲,吳海雄
(嶺南師范學院,廣東 湛江 524048)
水產品是人們日常生活中的重要食品,也是國民經濟中不可或缺的一部分。受水體污染等問題的影響,水產品的質量安全備受關注,保護水產品的品質成為當務之急。可追溯技術正在成為保證更安全的食品供應以及聯系生產者和消費者的一種有效方法[1]。食品溯源追蹤是利用現代信息管理技術給食品貼上唯一的標簽,是食品質量安全管理和監督的一項重要技術。它能夠實現從源產地到銷售方食品分配鏈的信息透明化,解決了產品在市場流通過程中安全信息不對稱、不同步的問題;同時政府職能部門可以通過溯源系統進行監管,降低獲取信息的成本,提升監管效率。
基于標簽技術的溯源系統通過RFID技術實現水產品從養殖、加工、配送到銷售的全程跟蹤與追溯。通過RFID讀寫器把采集信息以文檔方式傳給后臺,在銷售處把數據庫每個產品的唯一ID進行二維碼轉換;最終消費者使用小程序掃碼溯源時,小程序后臺根據掃碼獲取的唯一ID調用后臺接口,并對相關數據進行溯源展示。水產品溯源平臺的技術可分為:①基于信息的采集技術,主要是RFID技術和二維碼技術;②溯源平臺的軟件技術,即微信小程序和數據庫技術。
射頻識別(Radio Frequency Identification, RFID)是指采用非接觸方式通過無線射頻進行雙向數據通信,即利用無線射頻方式對電子標簽或射頻卡進行讀寫,從而達到識別目標和數據交換的目的。對比傳統標簽,RFID標簽具有耐用性、環境適應性強、防水、可讀寫、容量大等特點,因此使用RFID標簽作為養殖以及運輸環節的溯源標簽既貼合水產品的生長環境,也可便捷可靠地采集信息[2]。
RFID信息采集系統主要包含電子標簽、讀寫器和計算機主機三部分,如圖1所示。電子標簽是射頻技術的載體,由天線和標簽專用芯片組成,每一個標簽都有一個專用唯一的編碼,從而實現一物一碼、一碼一掃。RFID的工作原理是:標簽進入磁場后,接收解讀器發出的射頻信號,憑借感應電流所獲得的能量發送出存儲在芯片中的產品信息;解讀器讀取信息并解碼后,送至中央信息系統進行有關數據處理[3]。

圖1 RFID信息采集系統
常見的二維碼為QR Code,全稱為Quick Response Code,是近幾年來移動設備上十分流行的一種編碼方式。二維碼比傳統條形碼具有信息容量大、打印尺寸小、掃描速度快、抗損傷能力強、數據可讀性好等優點[1],它通過圖像處理與編碼技術建構新型符號圖形來滿足自動識別[4]。RFID數據讀寫需要使用專門的讀寫器,這限制了消費者隨時進行信息溯源。因此,本設計在用戶端結合小程序使用了矩陣式二維碼作為溯源載體。
小程序的開發框架基于MINA框架,依托Java技術實現。小程序開發主要使用視圖層描述語言 WXML、WXSS,并基于JavaScript的邏輯層框架,在視圖層與邏輯層間提供了數據傳輸和事件系統[5]。小程序最大的特點是不需要下載安裝即可使用;對比APP,小程序具有占用內存少、使用方便、“用完即走”等優勢,用戶不用擔心安裝太多應用的問題。同時小程序是在微信的基礎上開發的,自帶流量趨勢,功能簡單便捷[6]。因此,在微信小程序端實現對溯源信息的“即用即查”,可以為用戶提供更方便快捷的使用體驗。
水產品在出廠包裝時,用包裝流水線上的RFID讀卡器對水產品包裝上的RFID標簽寫入產品信息,包括:產品生產商、類別、數量、出廠日期、到期日期、產地等。這些信息一方面有助于追蹤水產品的各類信息,保障食品安全;另一方面,可以降低一次、二次包裝和分揀過程中人工操作造成的錯誤率,縮短水產品的包裝及配送時間,降低成本[7]。
基于RFID技術的水產品包裝溯源系統分為以下幾個部分:RFID射頻模塊、串口通信模塊、小程序用戶界面和數據庫。RFID射頻模塊負責對包裝流水線上水產品包裝的RFID標簽進行識別和數據讀寫,并使用ISO/IEC15693協議進行數據訪問操作;通信模塊負責讀寫器和PC機進行串口通信;用戶界面負責使用戶和軟件通過二維碼進行人機交互;數據庫模塊負責水產品的相關溯源信息的存儲[8]。系統的總體結構如圖2所示。

圖2 系統的總體結構
本溯源系統中,通過RFID技術對水產品物流進行動態化和實時管理,可以把水產品生產、加工、配送、銷售等信息記錄在系統中,方便查詢和管理[9]。當消費者掃描水產品的二維碼標簽時,可以在小程序端直觀清晰地看到有關數據信息,做到信息有效追蹤。系統的軟件設計包括RFID讀寫模塊設計、用戶交互小程序設計和數據庫管理設計3個部分。
RFID讀寫模塊主要包括:初始化階段、讀寫掃描、標簽檢測識別和標簽包裝信息讀寫。在初始化階段,應用軟件打開串口和射頻感應場,獲取閱讀器信息。然后讀卡器以3 s間隔輪詢搜索運輸帶上水產品包裝標簽,如果檢測到運輸帶上存在水產品包裝RFID標簽且標簽空白,則準備寫入,讀卡器將PC機設置的用戶數據寫入標簽[10]。本設計采用單片機Y801模塊作為電子標簽的讀寫器,該模塊集成了RFID標簽的讀寫數據功能。通過串口測試軟件發送讀卡、寫卡等命令實現對CPU卡的讀寫。數據寫入時,串口軟件會自動寫入當前數據的寫入時間;當讀出數據時,寫入的數據及數據寫入時間會一起顯示。軟件將讀出的數據保存為txt文件,傳送給后臺。電子標簽讀寫模塊的軟件設計流程如圖3所示。

圖3 RFID讀寫模塊流程
傳統的用戶溯源方式主要有短信、互聯網等方式,這些溯源方式存在極大的不便利性。本設計中采用的小程序具有應用靈活、成本低等特點;二維碼能在水平和垂直方向存儲文字、數字、圖片等信息。在本系統中二維碼相當于水產品的身份證,后臺數據庫根據每一個水產品的RFID標簽一一分配固定ID號;根據后臺數據庫的水產品ID,使用二維碼生成器生成相應的二維碼;在產品包裝過程中,每一個水產品對應一個二維碼,一組產品采用大包裝并對應RFID標簽。當用戶終端通過小程序掃描二維碼進行溯源時,小程序后臺根據掃描的相關信息調取后臺數據接口,從而實現溯源功能。
本系統利用SQL語言搭建后臺管理平臺,主要針對采集到的水產信息進行存儲和管理。將RFID讀取的數據錄入數據庫,對每一個品種的水產品根據種苗信息、養殖池信息、物流信息等類別建立不同的數據表。
在系統開發中進行嚴格的測試是十分必要的。開發者應該為每個模塊制定合理的測試計劃,以便更好更快地解決問題。該系統設計了詳細的測試用例,并對系統后端、信息采集和前端顯示等部分進行了測試。
controller收到來自前端的get請求后,返回的JSON截圖如圖4所示。說明后端運行正常。

圖4 controller返回的JSON截圖
使用RFID模塊進行刷卡讀寫數據,通過測試軟件對數據的寫入和讀出進行測試,對讀出的數據進行導出保存,實現數據采集。保存的數據在指定路徑中會生成一個txt文件。
根據圖5可知,電子標簽已經成功寫入,在每次數據寫入時會自動保存寫入數據的時間,并可以讀出保存為txt格式,保存文件名為當前時間。

圖5 保存的數據
小程序界面測試主要包括對小程序首頁頁面、“我的”頁面以及水產品詳情頁面進行真機測試,查看是否達到頁面設計的效果。小程序功能測試主要包括掃碼溯源功能、用戶信息顯示、水產品種類的列表詳情以及菜譜按鈕的動態顯示。測試結果如圖6、圖7所示。除此之外,本系統還對RFID標簽進行了可靠性測試。對50張空白RFID標簽分別進行了10次測試,每次間隔2 min。結果發現,RFID標簽識別和包裝信息讀寫都可正常工作。

圖6 小程序溯源顯示

圖7 小程序詳情展示
本文對基于標簽技術的溯源系統進行了研究與開發,研究主要使用RFID、二維碼、小程序進行數據采集和溯源展示,并將相關數據保存到電腦端的數據庫中。使用微信開發者工具實現了小程序溯源系統的頁面布局和溯源信息展示。
經實際運行測試,所設計的系統能夠正確識別RFID標簽并通過小程序完成對產品的溯源顯示。用戶在使用小程序掃描二維碼進行溯源時,可以清晰地查看水產品數據,同時也可了解不同水產品的相關科普資料,方便用戶使用。通過此系統可以有效地提升生鮮品包裝效率,降低人工錯誤率,同時為水產品的質量安全提供保障。