999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ESP32-CAM的農產品免拆封預檢預視系統設計

2025-01-19 00:00:00王宏王曉波姚帥
物聯網技術 2025年2期

摘 要:傳統的檢視方法不僅費時費力,更無法準確掌握未抽檢農產品的情況,因此設計了一種基于ESP32-CAM的農產品包裝免拆封預檢預視系統。系統前端采用ESP32-CAM實現現場封裝前的拍照上傳功能,服務器端在存儲照片后向前端推送生成的二維碼并將其打印、粘貼在包裝箱上,方便檢查人員和購買者直接通過掃描二維碼來獲取農產品裝箱時的原始情況,實現對裝箱農產品在免拆封情況下的預檢預視。由此可知,該系統有利于保證農產品質量,保障消費者權益,促進農產品消費。

關鍵詞:農產品;免拆封;預檢預視;二維碼;ESP32-CAM;翻轉裝置

中圖分類號:TP391;S24 文獻標識碼:A 文章編號:2095-1302(2025)02-00-04

0 引 言

近年來,隨著全球農產品貿易的不斷增長和市場需求的不斷擴大,包裝箱在農產品運輸和儲存中起著至關重要的作用。在物流鏈中,為了確保產品質量,封裝在包裝箱中的農產品也面臨著各種檢視與監管。

傳統的檢視方法往往需要打開包裝箱,由人工直接觀察包裝箱內部的產品情況。拆箱抽檢不僅費時費力,更無法準確掌握未抽檢農產品的情況,只能依靠推測,不確定性極高,難以保障產品質量。

本文提出了一種實現農產品免拆封預檢預視的方法,其基本思路是:在農產品封裝現場,利用攝像頭拍攝農產品封裝時的原始情況并上傳到信息系統中,并提供二維碼,便于檢查人員和購買者掃碼獲得原始信息。通過這種方式,推動農產品經營者誠信經營,賦予檢查人員免拆封預檢能力,為購買者提供購前免拆封預視手段,進而提升農產品在物流、銷售環節的管理水平和用戶體驗。

1 總體方案設計

本系統由翻轉裝置、嵌入式前端和后端信息系統3部分組成。系統結構如圖1所示。其中,翻轉裝置的主要作用是對農產品的包裝箱進行上下面翻轉,使得機器能夠對包裝箱上下兩面的農產品情況進行拍攝;嵌入式前端以ESP32-CAM作為主控制器[1],使用攝像頭實現拍攝功能,通過外接小型觸摸屏進行操作,連接打印機,由Python實現軟件功能[2],將拍攝數據上傳至后端信息系統,打印回傳的二維碼[3];后端信息系統在數據庫和文件系統中存儲相關數據,并通過Web應用提供數據管理界面和鏈接解析服務,以便用戶掃描二維碼時可以顯示對應的拍攝信息,后端信息系統可通過公網IP或將其部署在公有云平臺為檢查人員和購買者提供訪問服務。

2 翻轉裝置設計

翻轉裝置能夠將包裝箱抬起并進行翻轉,使攝像頭能夠拍攝到箱內的細節。設計過程中考慮了機構的穩定性、可靠性和操作的便捷性,以確保包裝箱能夠順利翻轉并保持穩定。包裝箱剖面如圖2所示。

在對包裝箱內農作物拍照前,用戶通過裝置上的把手推動連桿,將左右支撐桿撐開,伸入如圖3所示的包裝箱透氣孔中,對包裝箱進行支撐和夾持。支撐桿在包裝箱中起到分隔上下兩面和放置農作物的作用,并在一面農作物拍照完成并封箱后,利用手柄將包裝箱進行180°翻轉,對包裝箱的另一面進行同樣的裝箱、拍照、封裝操作。

包裝箱翻轉裝置可以將包裝箱從不同角度翻轉,便于攝像頭拍攝箱內的各個角落,無死角檢測包裝箱的內部情況,同時可以減少人工操作的干預,減少誤差和降低風險。

3 嵌入式前端設計

3.1 ESP32-CAM簡介

ESP32-CAM 是一款強大的物聯網開發板,集成了ESP32芯片和OV2640 200萬像素攝像頭模塊,支持最高1 600×1 200像素的靜態圖像捕捉和視頻流輸出,它內置WiFi和藍牙功能,支持IEEE 802.11b/g/n WiFi協議和藍牙4.2協議棧,可以進行無線數據傳輸和遠程控制,具有較好的通信和計算能力并支持Arduino IDE開發。本系統使用ESP32-CAM便可實現拍照上傳功能。

3.2 前端結構與開發環境

前端結構如圖4所示。

選擇帶I2C(Inter-Integrated Circuit)接口的小型OLED顯示屏來顯示系統當前狀態和操作提示。I2C是一種串行通信總線,使用多主從架構。I2C使用2條雙向漏極開路線。其中一條線為傳輸數據的串行數據線(Serial Data Line, SDA),連接GPIO26;另一條線是啟動或停止傳輸以及發送時鐘序列的串行時鐘線(Serial Clock Line, SCL),連接GPIO27。SDA和SCL連接完成后需要安裝u8g2庫進行顯示屏驅動,其針對Arduino內存小的特點,使用分時顯示的方式,只需占用較小內存就可以驅動比較大的屏幕。

在GPIO12~GPIO15端口連接按鈕實現對拍照、打印的控制,GPIO12~GPIO15通常用于連接SPI總線的MISO、MOSI、SCLK和CS引腳,由于本系統使用I2C接口連接顯示器,所以它們也可以用作一般的輸入引腳。

在存儲方面,ESP32-CAM支持容量最大4 GB的TF卡,所以我們選擇用它來完成照片和二維碼的存儲。

Arduino IDE是一個用于編寫和上傳代碼到Arduino微控制器板的開發工具,適用于Windows、macOS和Linux操作系統。其提供了一些預定義的庫和函數,用于控制各種輸入和輸出設備,如LED、電機、傳感器等。它具有平臺開源、跨平臺支持、強大的庫和函數支持、廣泛的硬件支持等優點。

首先在PC端安裝 Arduino IDE,并設置開發環境,添加所需的ESP32-CAM開發板數據包,以及WiFi庫、攝像頭庫和Web庫等,并對ESP32-CAM進行識別。之后將ESP32-CAM連接到PC上,在所使用的PC端安裝CH340驅動,后根據圖5連接CH340與ESP32-CAM。CH340是一款通用的USB轉串口芯片,可以使用USB接口將ESP32-CAM連接到上位機,從而進行編程和調試。驅動程序安裝完成后,可以使用CH340連接ESP32-CAM,將ESP32-CAM的UOR和UOT端口分別用杜邦線連接到CH340的TX和RX端口,然后將ESP32-CAM的GND端口連接到CH340的GND端口。需要注意的是,IO0和GND短接時為下載模式,斷開時為運行模式,所以在開發時需要將IO0與GND短接。之后將CH340與PC連接。安裝完成后,由于需要將拍攝的照片上傳至服務器,所以要設置WiFi連接參數,包括SSID和密碼,便于將ESP32-CAM連接到本地網絡。隨后創建1個異步網絡服務器端口上的對象,并初始化攝像頭模塊,燒錄程序,當ESP32連接網絡后,將出現以HTTP開頭的地址鏈接,點擊該鏈接即可看到攝像頭拍攝的圖像。

3.3 圖片拍攝與上傳

要實現拍照上傳功能,需將待上傳圖像保存為JPEG格式。ESP32-CAM內置WiFi模塊,采用TCP/IP協議,以保證圖像能完整傳輸,且在傳輸過程中需對圖像進行壓縮。將圖像上傳到服務器,就需要在程序中設置WiFi網絡的SSID、密碼和服務器上傳照片的端點,每次拍攝完成后,從攝像頭幀緩存ESP32的“HTTPClient”庫上傳圖像,并將圖像類型設置為JPEG,發送圖片后返回“成功”或“失敗”,之后釋放攝像頭幀緩存并斷開連接。

3.4 回傳二維碼打印

當上傳的圖片在服務器端成功生成二維碼后,ESP32-CAM通過發起HTTPGET請求從服務器獲取二維碼的圖像數據,在程序中指定服務器的IP地址及提供包含二維碼圖像的URL,獲取二維碼圖像數據后,可以選擇將二維碼顯示在連接的OLED顯示屏上,或直接打印。

若要將二維碼打印并制作成可粘貼標簽,則根據需要打印的標簽要求,使用PIL庫中的Image.resize()函數來調整二維碼圖片的尺寸;之后在打印設備上,準備一個與標簽尺寸匹配的模板,設置合適的頁面大小,將調整尺寸后的二維碼圖片粘貼到標簽模板的位置上,確保二維碼圖片的尺寸不超過標簽的可打印區域;最后連接打印設備,并根據打印設備的要求設置打印參數,如紙張大小、打印質量等,即可完成二維碼的打印,并將其粘貼在封裝好的包裝箱指定位置上。

4 后端信息系統設計

4.1 后端架構

后端架構如圖6所示。

在軟件設計中,選擇Windows操作系統,使用Python編寫代碼,并通過Flask框架來搭建服務器,采用MySQL進行數據存儲管理。Flask框架是一個輕量級Python Web框架,它具有簡單而直觀的API,易于學習和使用,適用于快速開發和構建各種規模的Web應用程序,簡潔、易用且具有擴展性。

4.2 上傳圖片管理

當ESP32-CAM攝像頭拍攝圖片后,將采集的圖像數據保存到內存中,之后對圖像進行編碼與上傳。建立服務器的HTTP(S)連接,將編碼后的圖像數據通過POST方法上傳至服務器,信息包含:文件名、文件路徑、拍攝時間。保存圖片URL及二維碼等后,等待服務器響應,以確認圖像是否上傳成功,圖7為拍攝上傳示意圖。

用戶需要通過自己的賬號密碼登錄進入主界面,在主界面即可通過點擊“打開攝像頭”按鍵進入拍照界面,拍攝完包裝前的物品后,使用翻轉裝置轉動包裝箱,再對另一面物品進行拍攝,若對拍攝結果不滿意,可重新拍攝。拍攝完成后,系統上傳圖片至服務器,并返回圖片和對應的二維碼,由用戶校驗。若拍攝的圖片能夠反映包裝內物品的狀態,則可打印二維碼,將打印的二維碼粘貼到包裝箱指定位置上。

管理員可以管理用戶信息及照片信息,在管理員界面,可以看到前端上傳的二維碼相關信息,也能夠對信息進行修改和刪除,同時還能通過輸入拍攝時間、用戶信息等進行搜索。

檢查人員和購買者通過掃描包裝箱上的二維碼,即可獲取對應包裝箱內的圖片和相關信息。

4.3 二維碼生成

二維碼是用某種特定的幾何圖形,按照一定規律在二維平面上分布的黑白相間的圖形。二維碼在代碼編制上巧妙地利用了二進制“0”“1”的概念,使用若干與二進制相對應的幾何形體來表示文字和數字信息,通過圖像輸入設備或光電掃描設備自動識讀信息,以實現信息的自動處理。目前常用的二維碼有:Data Matrix、QR Code、Maxicode、Code 49等。本系統二維碼選用QR Code。

預視二維碼是整個系統的核心,在農產品生產、運輸、和銷售環節不可或缺。在生產階段,農產品裝箱時,需要將二維碼貼在包裝箱上;運輸階段,檢查人員可通過掃描二維碼對封裝的農產品進行預檢;銷售階段,不論是銷售者還是消費者,都可以通過掃描包裝上的二維碼對當前包裝箱內的農作物進行預視,查看農產品的原始外觀和尺寸,判斷該農產品是否滿足自己的購買要求。

QR Code庫[4]是一個用于生成和解析二維碼的Python庫,它允許通過調用函數或使用命令行調用程序來生成二維碼,可以指定文本、URL、電話號碼、圖像或其他信息作為輸入,且QR Code庫具備容錯能力,可以自動修復由于噪聲或破壞而導致的錯誤,這使得生成的二維碼具有一定程度的彈性和健壯性[5-7]。

為了使通過ESP32-CAM上傳的圖片生成二維碼,需要在服務器端導入QR Code庫,確認圖片上傳成功后,將其存儲到一個變量中。QR Code庫會將輸入的數據轉換為二進制格式,然后根據QR碼規范和錯誤糾正級別來對數據進行分塊和編碼處理。之后QR Code庫會使用相應算法來選擇最佳的掩碼模式,用于增加識別難度和提高容錯能力。在生成二維碼圖像之前,QR Code庫會根據規范對二進制數據進行布局和填充,包括在二維碼周圍添加特定的定位圖案、對齊圖案和定時圖案,以及在數據區域中插入格式信息和版本信息,一旦布局和填充完成,QR Code庫將根據二進制數據的布局創建出一個矩陣,矩陣的每個單元格代表1個黑色或白色的模塊,用于構成最終的二維碼圖像[8-11]。二維碼掃描結果如圖8所示。

5 結 語

本文設計了一種基于ESP32-CAM的農產品預檢預視系統,該系統利用機械翻轉裝置對包裝箱進行翻轉,借助ESP32-CAM實現拍攝及圖片上傳,也可以在封箱前使用攝像頭對包裝箱內部進行拍照。攝像頭可以捕捉到包裝箱內部的細節。隨后系統將圖片上傳到服務器轉化為二維碼,并將其粘貼到包裝箱的表面。生成的二維碼包含有關包裝箱內部狀況的信息。掃描二維碼后,相關人員可以迅速獲取包裝箱內部的情況,識別潛在問題并及時采取必要措施。

但系統仍有許多改進的地方:

(1)翻轉裝置可以利用電機驅動,實現快速、穩定的翻轉,提高預檢預視的效率和準確性;

(2)可以在傳輸過程中添加加密算法,并通過身份認證系統進行驗證,提高安全性。

農產品生產、運輸和銷售環節都要用到包裝箱,而免拆封農產品預檢預視系統對于追溯農產品質量源頭、保障消費者權益、提升誠信經營水平和促進農產品消費具有一定的推動作用。

參考文獻

[1]呂嫄.基于ESP32-CAM的無線監控小車系統設計[J].科學技術創新,2023(24):1-4.

[2]張俊,李銀,張紫瑞,等.樹莓派智能花卉澆灌系統設計與實現[J].電腦知識與技術,2023,19(19):107-109.

[3]劉強,李廣,聶志剛,等.二維碼標簽在農產品包裝中的應用研究[J].中國包裝工業,2015(16):74-75.

[4]岐艷芳.基于Python的個性二維碼設計與實現[J].科技視界,2019(15):96-97.

[5]趙國棟,郭鋒,周洋.國產嵌入式操作系統的I2C驅動設計與實現[J].電腦編程技巧與維護,2023(1):56-58.

[6]管小衛.基于Python的二維碼生成與識別[J].科學技術創新,2020(25):99-100.

[7]李超,徐云龍,華中偉,等.一種基于Python Flask的Web服務器端設計[J].信息與電腦(理論版),2019(8):87-88.

[8]何鵬陽.針對以農副產品銷售為主的農村物流建設分析[J].中國集體經濟,2021(12):120-122.

[9]王建,梁振濤,鄭文斌,等. STM32和OV2640的嵌入式圖像采集系統設計[J].單片機與嵌入式系統應用,2014,14(9):46-48.

[10]梁世何,莊嘉豪.常見二維碼印制方式的比較與分析[J].中國自動識別技術,2023(4):73-78.

[11]劉懷北.基于物聯網技術的食品安全溯源系統[J].軟件導刊,2012,11(9):99-100.

作者簡介:王 宏(1968—),男,碩士,副教授,研究方向為物聯網技術、模式識別、信創行業應用。

王曉波(1998—),男,碩士,研究方向為物聯網技術、模式識別。

姚 帥(1997—),男,碩士,研究方向為物聯網技術、人工智能應用。

收稿日期:2024-01-16 修回日期:2024-02-28

基金項目:2018教育部產學合作協同育人項目(201802224022);陜西省學位與研究生教育研究項目(SXGERC2023085)

主站蜘蛛池模板: 日韩精品成人在线| 六月婷婷综合| 亚洲天堂2014| 秋霞一区二区三区| 亚洲精品免费网站| 欧美啪啪一区| 亚洲综合天堂网| 在线网站18禁| 国产一级裸网站| 毛片网站免费在线观看| 亚洲高清无在码在线无弹窗| 57pao国产成视频免费播放| 亚洲日韩在线满18点击进入| 欧美一级在线| 99手机在线视频| a天堂视频在线| 99国产精品国产| 免费亚洲成人| 色婷婷在线播放| 中文字幕在线永久在线视频2020| 精品少妇人妻无码久久| 国产男女XX00免费观看| 亚洲精品国产成人7777| 国产区人妖精品人妖精品视频| 欧美亚洲一二三区| 久久亚洲中文字幕精品一区| 国产成人精品一区二区不卡| 免费网站成人亚洲| 久久9966精品国产免费| 日本高清免费一本在线观看 | 免费jjzz在在线播放国产| 免费人成又黄又爽的视频网站| 青草视频在线观看国产| 国产精品男人的天堂| 国产乱人伦AV在线A| 国产精品久久久久久久久kt| 久草网视频在线| 高清不卡一区二区三区香蕉| 国产精品黑色丝袜的老师| 欧美日一级片| 丁香五月亚洲综合在线| 91青青草视频| 欧美伦理一区| 国产无码网站在线观看| 中国成人在线视频| 久久综合色88| 亚洲天堂网在线视频| 中文国产成人精品久久| 国产毛片不卡| 毛片免费视频| 国产人免费人成免费视频| 精品自窥自偷在线看| 成人免费午间影院在线观看| 爱爱影院18禁免费| 国产精品污视频| 综合色在线| 欧美亚洲香蕉| 青青青国产免费线在| 国产区91| 精品福利国产| 亚洲精品在线观看91| 99这里只有精品免费视频| 日日噜噜夜夜狠狠视频| 亚洲福利视频网址| Jizz国产色系免费| 88av在线播放| 91福利免费视频| 亚洲第一区在线| 99热这里只有免费国产精品 | 日本久久网站| 666精品国产精品亚洲| 白浆视频在线观看| 99一级毛片| 99中文字幕亚洲一区二区| 国产理论一区| 精品国产免费观看| h视频在线观看网站| 国产精品乱偷免费视频| 在线99视频| 亚洲欧美在线综合一区二区三区 | 久久a级片| 精品一区二区三区水蜜桃|