資料介紹
描述
目錄:
一、簡介
2. 使用的硬件
3. 使用的軟件
4. 編程語言
5. 工作流程
6. 障礙
使用 WizFi360 開發(fā)板設置 ARDUCAM
電報 API 連接
設置 YOLOV5
7.輸出
八、結(jié)論
9. 參考資料
一、簡介:
Smarter Surveillance System 項目旨在使用 WizFi360 板、Arducam Mini 2MP Plus 和 PIR 傳感器創(chuàng)建智能監(jiān)控攝像頭。該系統(tǒng)旨在使用 PIR 傳感器檢測運動并使用 Arducam 相機捕捉人的圖像。然后將捕獲的圖像發(fā)送到在后臺運行的 Flask 服務器,以使用對象檢測算法 YOLOv5 進行處理。構(gòu)建更智能的監(jiān)控系統(tǒng)的第一步是收集必要的硬件組件。對于這個項目,我們將使用 WizFi360 板、Arducam Mini 2MP Plus 和 PIR(被動紅外線)傳感器。這些組件將協(xié)同工作以檢測運動、捕獲圖像并將其發(fā)送到 Flask 服務器進行處理。WizFi360 開發(fā)板是一款功能強大的物聯(lián)網(wǎng)模塊,可提供 WiFi 連接并支持各種無線協(xié)議,如 TCP/IP、HTTP、FTP 和 SSL/TLS。它有一個板載處理器,可以使用 Arduino IDE 輕松編程,使其成為物聯(lián)網(wǎng)應用的理想選擇。
Arducam Mini 2MP Plus 是一款分辨率為 2 兆像素的小型相機模塊。它支持多種接口,包括SPI、I2C和UART,可以輕松連接到WizFi360板。PIR 傳感器是一種運動檢測傳感器,可檢測移動物體發(fā)出的紅外輻射的變化。它通常用于安全系統(tǒng),可以檢測到幾米遠的運動。如果在捕獲的圖像中檢測到人,系統(tǒng)會向 Telegram 頻道發(fā)送通知,表明有人在禁區(qū)內(nèi)。通知包括檢測到的圖片,允許快速響應和操作??傮w而言,Smarter Surveillance System 是一種創(chuàng)新且高效的方式,可以利用最新的可用技術(shù)來監(jiān)控和保護禁區(qū)。
2. 使用的硬件:
WizFi360-EVB-Pico
跳線
ARDUCAM 迷你 2MP 加
紅外傳感器
3. 使用的軟件和服務:
YOLOv5
AURDINO IDE
燒瓶問
4. 編程語言
5. 工作流程:
設置硬件組件
第一步是設置硬件組件。使用 SPI 接口將 Arducam Mini 2MP Plus 相機模塊連接到 WizFi360 板。將 PIR 傳感器連接到 WizFi360 板的數(shù)字引腳之一。將電源連接到 WizFi360 板上。
配置 WizFi360 開發(fā)板
配置WizFi360開發(fā)板連接WiFi網(wǎng)絡。使用 Arduino IDE 對電路板進行編程,以與 Arducam 相機模塊和 PIR 傳感器通信。設置電路板以在 PIR 傳感器檢測到運動時捕獲圖像。
捕捉圖像
當 PIR 傳感器檢測到運動時,WizFi360 板會觸發(fā) Arducam 相機模塊捕捉圖像。捕獲的圖像保存在 WizFi360 板的內(nèi)存中。
將圖像發(fā)送到 Flask 服務器
WizFi360 板被編程為使用 HTTP POST 請求將捕獲的圖像發(fā)送到 Flask 服務器。Flask 服務器在后臺運行,等待接收圖像。
使用 YOLOv5 處理圖像
一旦 Flask 服務器收到圖像,它就會使用 YOLOv5 算法處理圖像。YOLOv5 是一種目標檢測算法,可以高精度地實時檢測目標。Flask 服務器被編程為在捕獲的圖像上運行 YOLOv5 算法以檢測圖像中是否有人。
向 Telegram 發(fā)送通知
如果在圖像中檢測到人,F(xiàn)lask 服務器會生成通知并將其發(fā)送到 Telegram 頻道。該通知包括一條消息,指示有人在受限區(qū)域,以及檢測到的圖像。
采取行動
一旦在電報頻道上收到通知,就可以采取適當?shù)男袆?,例如提醒安全人員或發(fā)出警報。
6. 障礙:
1. 使用 WizFi360 開發(fā)板設置 ARDUCAM
下面顯示了帶有 Arducam 的 WizFi360 的整體設置。下面還給出了引腳配置:
WizFi360 是一款緊湊而強大的 Wi-Fi 模塊,可提供與物聯(lián)網(wǎng) (IoT) 設備的無縫連接。它具有低功耗 ARM Cortex-M4 微控制器和支持 IEEE 802.11 b/g/n 協(xié)議的高性能 Wi-Fi 收發(fā)器。憑借其內(nèi)置的安全功能和易于使用的軟件開發(fā)套件,WizFi360 是創(chuàng)建智能互聯(lián)物聯(lián)網(wǎng)應用程序的理想解決方案。另一方面,PIR(被動紅外線)傳感器是一種運動傳感器通過感應紅外輻射水平的變化來檢測運動。它通常用于安全系統(tǒng)、自動照明和其他需要運動檢測的應用。PIR 傳感器被稱為“無源”,因為它們本身不發(fā)射任何能量;相反,它們檢測其他物體發(fā)出的能量,
結(jié)合使用時,WizFi360 和 PIR 傳感器可以創(chuàng)建功能強大且智能的物聯(lián)網(wǎng)應用程序,從而實現(xiàn)對運動檢測系統(tǒng)的遠程監(jiān)控和控制。例如,PIR 傳感器可以檢測房間內(nèi)的移動并向 WizFi360 模塊發(fā)送信號,然后該模塊可以向智能手機應用程序發(fā)送通知或觸發(fā)警報。WizFi360 還可用于控制 PIR 傳感器的靈敏度和工作模式,使其成為適用于廣泛物聯(lián)網(wǎng)應用的靈活且可定制的解決方案。
ArduCam為 Raspberry Pi Pico 提供文檔和源代碼 SPI Camera ,它也使用 SPI0。為避免沖突,該項目將 SPI1 用于 ArduCam OV2640 模塊。ArduCam OV2640 模塊需要 CS、MOSI、MISO、SCLK 引腳用于 SPI 連接,SDA、SCL 引腳用于 I2C 連接。該項目修改了 ArduCam 的源代碼以使用 SPI1。
ArduCam OV2640 的 Pico 引腳配置
1. CS --> GPIO 13
2. MOSI --> GPIO 11
3. 味噌 --> GPIO 12
4. SCLK --> GPIO 10
5.SDA --> GPIO 8
6. SCL --> GPIO 9
代碼說明
WizFi_Flask 服務器/WizFi_CamPost.ino
setup():該函數(shù)在Arduino板子上電或復位時調(diào)用一次。它以 115200 的波特率初始化串行通信,并通過調(diào)用 ArduCam_setup() 函數(shù)初始化 ArduCAM 模塊。
loop():這個函數(shù)在setup()函數(shù)之后被重復調(diào)用。它使用 ArduCAM 模塊捕獲圖像,使用 Wi-Fi 模塊將圖像數(shù)據(jù)發(fā)送到服務器,然后等待一段時間再重復該過程。
ArduCam_setup():此函數(shù)通過將 CS 引腳設置為輸出并初始化用于 I2C 通信的 Wire 庫來初始化 ArduCAM 模塊。
ArduCam_sendImg():此函數(shù)使用 ArduCAM 模塊捕獲圖像并將圖像數(shù)據(jù)存儲在 img_buf 數(shù)組中。然后它調(diào)用 http_postData() 函數(shù)將圖像數(shù)據(jù)發(fā)送到服務器。
http_postData(字節(jié) *buf,uint32_t 長度):
此函數(shù)使用 Wi-Fi 模塊將圖像數(shù)據(jù)發(fā)送到服務器。它首先檢查客戶端是否連接到服務器,如果沒有,它會在放棄之前嘗試重新連接幾次。然后,它將圖像數(shù)據(jù)作為負載發(fā)送到服務器的 HTTP POST 請求。有效負載包括圖像的文件名和內(nèi)容類型。最后,它在關(guān)閉連接之前等待服務器的響應。
buffer_transfer(byte *bptr, size_t len):此函數(shù)以多個大小為 max_transfer(此代碼中為 1024 字節(jié))的塊向服務器發(fā)送數(shù)據(jù)緩沖區(qū),以防止緩沖區(qū)溢出。
client:WiFiClient類的這個對象,用于與服務器建立連接,發(fā)送/接收數(shù)據(jù)。
2. 設置電報 API
打開 Telegram 并搜索 BotFather 用戶。
開始與 BotFather 對話并輸入 /newbot。
按照提示為您的機器人命名和用戶名。
創(chuàng)建機器人后,BotFather 將向您發(fā)送一條包含機器人令牌的消息。令牌是一長串字符,可唯一標識您的機器人,并且需要對 API 請求進行身份驗證。
將機器人的令牌保存在安全的地方,因為您將需要使用它與 Telegram Bot API 進行交互。
有關(guān)更多信息,請單擊鏈接。
3. 設置 YOLO
YOLOv5(You Only Look Once version 5)是由 Ultralytics 開發(fā)的一種最先進的實時對象檢測算法。YOLOv5 通過引入新的模型架構(gòu)和訓練過程建立在其前輩的成功之上,從而顯著提高了準確性和速度。該架構(gòu)由骨干網(wǎng)絡(CSPDarknet53)、頸部網(wǎng)絡(SPP)和頭部網(wǎng)絡(YOLOv5)組成。CSPDarknet53 網(wǎng)絡使用一種新穎的跨階段局部網(wǎng)絡來增強層之間的信息流,從而改進特征表示。SPP 網(wǎng)絡結(jié)合了空間金字塔池化,這使得網(wǎng)絡能夠更好地捕獲不同尺度的對象。YOLOv5 頭部網(wǎng)絡使用錨框和分類和回歸層來檢測和定位圖像中的對象。
腳步:
安裝Git:如果您的系統(tǒng)上沒有安裝Git,請從官方網(wǎng)站下載并安裝它: https: //git-scm.com/downloads。
克隆 YOLOv5 存儲庫:打開終端窗口并導航到要存儲 YOLOv5 代碼的目錄。然后運行以下命令:
git 克隆https://github.com/ultralytics/yolov5.git
安裝依賴項:導航到“yolov5”目錄并運行以下命令來安裝 YOLOv5 所需的依賴項:
pip install -r requirements.txt
下載預訓練的權(quán)重:YOLOv5 需要預訓練的權(quán)重來執(zhí)行對象檢測。您可以通過運行以下命令從官方 YOLOv5 網(wǎng)站下載權(quán)重:
wget https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt
測試 YOLOv5:您可以通過運行以下命令來測試 YOLOv5:
python detect.py --weights yolov5s.pt --img 640 --conf 0.4 --source 0
運行上述步驟后,下載此 github 存儲庫中給出的 main.py 程序。它包含用于從 Arducam 捕獲圖像的程序,將它們發(fā)送到 Yolo 模型進行檢測,最后如果在圖像中檢測到一個人,則將檢測到的圖片的通知發(fā)送到電報 API。
代碼說明
主程序
此代碼是一個 Flask 服務器應用程序,它以 JPEG 格式的圖像作為輸入并使用 YOLOv5 模型執(zhí)行對象檢測。然后對檢測到的對象進行分類,如果在圖像中檢測到人,則會將一條消息與圖像一起發(fā)送到 Telegram 聊天組。
該代碼首先導入必要的庫并初始化 Flask 應用程序。然后,它會為圖像文件設置上傳目標并使用令牌初始化 Telegram 機器人。調(diào)用 YOLOv5 模型的 detect 模塊中的 run 函數(shù)來執(zhí)行目標檢測。如果檢測到有人,則會將一條消息連同圖像一起發(fā)送到 Telegram 聊天組。
在上傳功能中,服務器檢查傳入的請求是否為 POST 請求,內(nèi)容類型是否為 JPEG 格式的圖像。如果是,它將圖像保存到一個文件并設置一個標志,指示應該執(zhí)行對象檢測。然后創(chuàng)建一個單獨的線程來運行 detect_person 函數(shù),該函數(shù)調(diào)用 run 函數(shù)來執(zhí)行對象檢測。如果檢測到有人,則調(diào)用send_telegram_message函數(shù)向Telegram聊天群發(fā)送消息。
7.輸出
整個項目的輸出如下圖所示:
八、結(jié)論:
總之,使用 Arducam、WizFi360、YOLOv5 和 Telegram Bot 開發(fā)的智能監(jiān)控系統(tǒng)在安全和監(jiān)控領(lǐng)域顯示出巨大的潛力。通過集成這些技術(shù),系統(tǒng)可以實時有效地檢測并提醒用戶任何人的存在,從而降低犯罪活動的可能性。
Arducam 和 WizFi360 的組合提供了可靠穩(wěn)定的圖像捕獲和傳輸,而 YOLOv5 被證明是一種準確高效的物體檢測模型。此外,Telegram Bot 的集成允許快速輕松地通知檢測到的人的存在,使系統(tǒng)能夠?qū)θ魏螡撛诘陌踩{做出快速響應。總體而言,智能監(jiān)控系統(tǒng)的成功開發(fā)強調(diào)了利用先進技術(shù)增強公共安全和安全的重要性。安全。
?
- 氣體檢測裝置開源分享
- TempGuard溫度監(jiān)控和異常檢測系統(tǒng)開源
- 機房動環(huán)監(jiān)控系統(tǒng)基礎(chǔ)功能說明 2次下載
- 【STM32項目】- 人體檢測(體溫、心率、心跳、跌倒檢測)
- 基于ARM11的嵌入式肺癌氣體檢測系統(tǒng)控制軟件設計
- NDIR氣體檢測器解決方案和PID氣體檢測器解決方案
- 智能家居監(jiān)控系統(tǒng)整合溫度與紅外人體傳感器的功能和操作說明 6次下載
- 人體檢測傳感器的管腳,電路示意圖詳細概述(免費下載) 86次下載
- 車載視頻監(jiān)控的人體檢測及跟蹤算法 1次下載
- 氣體檢測所必需的智能傳感器 20次下載
- 甲烷氣體檢測系統(tǒng)的設計 23次下載
- 光纖CO氣體檢測系統(tǒng)的研究 1次下載
- 基于HOG的快速人體檢測方法 53次下載
- Linux動態(tài)擴展MPEG-4智能視頻監(jiān)控系統(tǒng)
- 一種具有人工情感的智能控制系統(tǒng)研究
- 紅外氣體檢測儀的工作原理 紅外氣體檢測儀的使用方法 2362次閱讀
- 網(wǎng)絡監(jiān)控工具有哪些 網(wǎng)絡監(jiān)控用幾芯網(wǎng)線 1174次閱讀
- 醫(yī)療應用中液體檢測解決方案 856次閱讀
- 基于STM32單片機的CO(一氧化碳)氣體檢測報警通風系統(tǒng)仿真設計 2791次閱讀
- 基于安信可Rd-03+STM32制作人體檢測雷達燈 1042次閱讀
- 100行Python實現(xiàn)人體膚色檢測 704次閱讀
- 基于阿里云物聯(lián)網(wǎng)平臺的智能燈光控制系統(tǒng)設計 4365次閱讀
- 基于單片機和傳感器實現(xiàn)數(shù)字人體心率檢測儀的應用方案 3567次閱讀
- 基于單片機和LM1893芯片實現(xiàn)教室電器智能節(jié)能系統(tǒng)的設計 3793次閱讀
- 具有漏水監(jiān)控功能的智能水表的原理及設計 5240次閱讀
- 電壓檢測器、監(jiān)控器和高級監(jiān)控各種功能介紹:第1部分 5094次閱讀
- 監(jiān)控系統(tǒng)故障檢測及處理 6808次閱讀
- 基于智能手機的人體跌倒檢測系統(tǒng) 3459次閱讀
- 基于DSP的智能視頻監(jiān)控終端設計 2125次閱讀
- 人體接觸應用中的電容檢測 2476次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論