炎士濤 王富豪

摘要:為了杜絕有毒有害食品送上人們的餐桌,危害人體健康,破壞家庭幸福生活,文章提出基于Android的食品溯源系統的研究。通過分析QR碼原理及特點,對中文漢字進行了數據編碼,使用WiFi技術與MYSQL數據庫進行信息采集傳輸,基于Android系統開發平臺,實現查詢搜索及錄入功能。經過測試發現,該系統抗干擾能力強,記錄信息詳細,適合應用推廣。
關鍵詞:Android;回溯系統;QR碼;MYSOL
1食品研究背景
隨著人們日常生活水平的提高,對食品安全質量的追求也越來越高,即便在每個環節倍加注意,也無法抵擋不法商販為謀求高額利潤進行的制假活動。毒奶粉、毒豇豆、敵敵畏韭菜、涂藥黃瓜等有害食品屢禁不止,各種激素、農藥、保鮮殺蟲試劑的超標違法使用,正不斷侵襲人們的健康,給無數家庭帶來了難以挽回的傷害。
為了能夠監控食品生產及流轉過程,人們使用了條形碼技術,普通的一維條形碼由于構造簡單、記錄信息少、容易偽造等特點,已經難以滿足人們的需求。QR Code正廣泛被應用,由于該編碼容易對漢字、字母等字符進行數據分析,糾錯強、誤碼率低,能夠存儲大量信息,所以被應用到大量的系統中。Android系統是目前移動互聯網終端普遍使用的操作系統,市場占有率非常高,基于Android系統開發食品溯源系統具有擴展性高、便于部署等優勢。本系統的設計目的在于通過溯源加強食品生產及銷售過程的監督管理,保證食品從生產到銷售的整個環節的安全及可控性。
2技術簡介
二維碼技術目前相對比較普及,已知的可以使用的二維條碼制已經達到200多種,不同的編碼原理不同,具有各自的優勢,常見的有Data Matrix,CODE49和QR Code。目前被廣泛使用的QR Code編碼,是1994年日本人Denso-Wave發明的矩陣條形碼技術,能夠方便快速的識別不同字母及漢字,存儲信息量大,識別速度快,同時具有全方位識別以及抗損傷、還原性強的優勢。MYSQL是瑞典一家公司開發的移植性能強的關系型數據庫,是具有C/S體系結構的分布式數據庫管理系統,使用該系統創建的數據庫可以在互聯網上任何地方訪問,具有功能強大、使用方便、操作簡單、速度快、可靠性和安全性高的優點。Android是基于Linux內核的操作系統平臺,Google公司開發研制,采用軟件疊層架構,包括中間件及應用程序。Android系統應用廣泛,已經占有手機市場的大部分份額,并且急劇擴張到平板電腦、智能電視等不同領域,采用該平臺進行系統開發,可以非常方便地移植到其他平臺中,應用前景好。
3系統架構設計
系統主要模塊包括信息錄入、信息查詢及系統管理等,為保證系統運轉過程中信息的存儲,需要對MYSQL數據庫進行詳細設計。系統實現基于Android6.0版本開發,使用Java語言編程實現。在初始階段進行信息采集,詳細記錄食品的基本信息及關鍵碼,例如生產廠家、原料構成、達標信息等,進而生成二維碼,以便在今后流通過程中進行掃描查詢;在流轉過程中,需要使用二維碼識別,根據不同權限顯示相關信息或進行信息補充,將上級供貨商、到貨時間、運輸及經手人信息加入到數據庫中。
3.1數據庫設計
為了更好地進行食品溯源工作,需要詳細記錄相關信息,另外需要關鍵碼段和OR Code碼進行轉換識別,具體關鍵字段設計如表1所示。
3.2系統平臺模塊設計
系統運行進入主界面后,根據登錄權限顯示不同的界面。系統管理進行用戶權限的管理;當信息錄入時,根據初次錄入還是后繼錄入進行編(解)碼,輸入食品相關的詳細信息,例如上表中提到的生產廠家、物流信息、產品信息等,通過WiFi將數據存儲到MYSQL數據庫中;當進行信息查詢時,進行掃描解碼,對應MYSQL數據庫中提取相應信息進行顯示;檢測管理專門提供給質檢單位,在初次錄入信息后由質檢部分進行核實,進而將評測信息寫入到數據庫中,供查詢使用。
4系統關鍵功能實現
整個實現過程中針對數據庫的操作非常簡單,系統管理和檢測管理只牽涉到對MYSQL數據庫表的簡單修改操作,由MYSQL提供的結構化查詢語句即可完成。與之對應,信息錄入、信息查詢及QR編碼模塊則需要考究關鍵信息的篩選,QR二維碼的編碼及解碼功能實現。
4.1編碼模塊實現
在QR二維碼生成模塊中,實現步驟包括數據分析(確定編碼字符類型并選擇糾錯等級)、數據編碼(數據轉換為位流并構成碼字序列)、糾錯編碼(根據糾錯等級進行糾錯)、構造數據信息并生成矩陣、掩摸及最終加入版本信息等若干環節。由于本系統需要在二維碼中存入大量漢字信息,需要采用GB2312編碼,每個漢字對應的GB2312編碼轉換為數據二進制流,按上述步驟執行形成二維碼。QR編碼形成的矩陣共有40個規格版本,從版本1的21×21矩陣到版本40的177×177能容納的信息量逐級遞增,本實例采用版本7,糾錯級別使用M,即15%的數碼糾正。
4.2信息查詢模塊實現
當用戶登錄系統選擇信息查詢功能時,會彈出掃碼界面,用戶將手機對準食品上的二維碼掃描識別,進行解碼操作,把二維碼蘊含的基本信息顯示在信息界面上。提取二維碼編碼時產生的OR關鍵碼,通過WiFi連接MYSQL數據庫進行查詢,進一步將食品的相關產品信息及物流信息顯示在詳細界面中,滿足用戶對保證食品質量安全的各個環節的信息有更進一步的了解。
4.3信息錄入模塊實現
該模塊主要實現食品溯源信息的數據庫存儲。首次錄入信息主要是食品名稱、生產廠家、生產日期等簡單信息,這些信息將會在錄入后編碼記錄在OR二維碼中,當進行掃碼解碼時直接顯示。基本信息錄入后由質檢用戶登錄進行認證,然后調用編碼模塊生成QR二維碼,認證信息補充存儲在二維碼中。該環節一個關鍵工作是產生一個OR關鍵碼,該編碼作為數據庫中食品信息表的關鍵字段,為以后流通環節補充物流信息時提供依據。每次解碼時都可以得到該字段,從而訪問食品信息表,進行信息的讀取顯示或補充寫入。
5結語
本系統實現了食品生產信息創建、OR二維編碼生成、掃碼顯示食品數據信息等一整套溯源環節,構建了一個基于Android的食品溯源系統。實踐證明OR碼可以在很小面積的方塊中表示大量中文漢字信息,準確率和可靠性高。將系統部署在手機移動端使用簡單方便,查詢信息準確,適合推廣使用。通過使用該系統,可以方便地實現食品源頭可追溯、物流可跟蹤、信息可查詢、產品可認證等多項目標,為解決食品安全質量問題提供了可靠有效的手段。當然,本系統也存在一定的問題,諸如初始信息靠人工錄入、查詢信息依靠網絡支持等,后期研究中將考察RFID技術的應用,爭取實現信息的自動采集,進一步提高系統的性能。