那曲檬骨新材料有限公司

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>使用Azure存儲的運動傳感器監控攝像頭

使用Azure存儲的運動傳感器監控攝像頭

2023-07-10 | zip | 0.45 MB | 次下載 | 免費

資料介紹

描述

概述

在這個項目中,我們將使用運行Windows 10 IoTRaspberry Pi 2來監控 PIR 運動傳感器,該傳感器觸發 USB 網絡攝像頭拍攝照片并使用 C#將其上傳到Microsoft Azure 存儲。此外,我們將連接一個 LED 作為簡單的狀態指示器。我們還將創建一個Microsoft Azure Web App網站,以便從任何支持互聯網的設備遠程查看圖片。

該項目面向有興趣了解有關在 Raspberry Pi 2 和/或 Microsoft Azure 服務上運行的 Windows 10 IoT 的更多信息的初學者。它假定您具有一些 C# 的基本知識,但不一定了解 Raspberry Pi 或 Azure/ASP.NET 編程這個項目中的所有代碼都是用 Microsoft 的Visual Studio 2015 Community Edition(有史以來最好的 IDE,毫無疑問)的免費版本編寫的。

該項目可以看作具有以下不同的部分:

???? ? 運動檢測器(PIR 傳感器)

???? ? 照相機、拍照件(Webcam)

???? ? “將圖片文件上傳到 Azure 存儲”部分 (Azure)

???? ? 一個簡單的 LED 狀態燈 (LED)

???? ? 還有一個單獨的 Azure 網站,顯示從 Azure 存儲中最新上傳的照片(ASP.NET 網站)

?
?
?
?
poYBAGOkHWqAWG04AAo67JJQR1E600.jpg
?
1 / 4 ?原始溶液片段
?

我有意構建代碼以盡可能清楚地標記和分割上述代碼區域,以防您只對學習特定部分感興趣(例如,“從網絡攝像頭拍照”,或“從 Raspberry 檢測運動” π”)。

注意:最后一個 Azure 網站部分是可選的。Azure 門戶提供了一種在線查看所有上傳照片的方法。但是你會發現創建一個提供更好查看體驗的 Azure 網站非常容易。

在現實世界中,此解決方案最好作為無頭應用程序運行,但此處將其作為通用 Windows 應用程序(C#) 提供,以幫助您在屏幕上監視各種狀態并使所有邏輯更易于調試。您應該能夠非常輕松地修改應用程序以在 Windows 10 IoT 的無頭模式下運行(請注意,該應用程序仍將按預期運行,沒有附加屏幕輸出)。

啟動時,應用程序會初始化 GPIO 端口(用于 PIR 傳感器讀取和 LED 顯示)和網絡攝像頭。一個函數綁定到 PIR 信號引腳的“ValueChanged”類型的事件處理程序,在檢測到運動時調用。它調用函數使用 USB 網絡攝像頭拍照,然后將圖像上傳到Microsoft Azure Blob Storage

樹莓派配置

此解決方案要求 Raspberry Pi 具有 Internet 連接,以便將圖片上傳到 Azure。它可以使用有線網絡連接,盡管在現實世界的安裝中這在邏輯上可能不可行。USB Wi-Fi加密狗也可以使用。本文介紹將 Raspberry Pi 的 Wi-Fi 連接到網絡的步驟。

該解決方案還依賴于 USB 網絡攝像頭(任何兼容 Windows 10 的網絡攝像頭都可以)。在啟動應用程序之前插入相機并確保 Raspberry Pi 能夠識別它。當它被識別并準備好使用時,您會在 IoT 啟動桌面屏幕上的已連接設備列表中看到它(注意:它可能不會在其描述中顯示“網絡攝像頭”)。

PIR 運動傳感器

在使用不同的傳感器類型進行測試后,我發現PIR(熱釋電“被動”紅外線)是該解決方案的完美選擇。它們價格低廉、體積小、功耗低,并且可以有效地檢測合理距離內的人體運動(Adafruit的網站上有一篇關于PIR 傳感器工作原理的精彩文章)。其他可用于代替 PIR 的傳感器可能包括紅外線斷束、超聲波測距儀或磁性門開關(在開門時觸發)。

?
?
?
?
poYBAGOlDniAEeadAAEZXOre8bw464.jpg
?
1 / 2 ?注意靈敏度和延遲時間調整微調電位器以進行微調?。?/font>
?

。您可以參考此示例項目。

LED 狀態燈

該項目包括一個用作狀態指示燈的LED接線。點亮時,PIR 運動傳感器已準備好感應運動。它會在網絡攝像頭拍攝照片并上傳到Microsoft Azure 存儲時關閉,然后在準備好再次檢測運動時重新打開。

解決方案的其他組件本身不需要 LED 代碼和接線即可工作。它只是作為解決方案的簡單狀態指示燈添加。它還演示了 GPIO 輸出信號編碼的使用(相對于用于 PIR 傳感器的 GPIO 輸入信號編碼)。

LED 邏輯從 InitializeGPIO() 函數開始,我們在其中指定使用 GPIO 引腳 5 為 LED 供電還有一個簡單的 ShowLED() 函數來控制 LED 燈(傳入 TRUE 以打開燈,傳入 FALSE 以關閉燈)。當系統準備就緒并等待檢測到移動時,我們打開 LED,當系統忙于上傳圖片時,我們將其關閉。

上傳到 Microsoft Azure 邏輯

從客戶端應用程序處理 Azure 文件非常容易,您將在將文件上傳到我們的 Azure Blob 存儲所需的一個函數中看到,該函數恰當地命名為 UploadPictureToAzure()。前幾行從 3 個 Azure 類變量中收集我們的 Azure 憑據信息和 Azure 容器名稱,然后用于獲取對 blob 容器的引用。然后最后一行從 CloudBlockBlob 對象調用異步上傳函數。非常簡單,不是嗎?

不要忘記用您的實際 Azure 值更新這些行(在 MainPage.xaml.cs 的頂部)(如果您還沒有這些值,您將從下一節中獲得這些值):

?

private readonly string Azure_StorageAccountName = "";

private readonly string Azure_ContainerName = "";

private readonly string Azure_AccessKey = "";

注意:PiMotionSensorPhotoUpload項目使用WindowsAzure.Storage NuGet 包。當您第一次編譯項目時,這應該會使用默認的 Visual Studio 選項自動安裝。如果沒有,您需要在解決方案資源管理器中右鍵單擊該項目并選擇“管理 NuGet 程序包”,然后搜索并安裝“WindowsAzure.Storage”

?
poYBAGOlDnqAV7QGAABNwRWSXtQ146.png
?

微軟 Azure(項目要求)

我們需要設置一個Azure 存儲帳戶(將照片存儲為 blob)和一個 Azure Web 應用程序(托管查看圖片的網站)。

我們將利用的一個方便的功能是您可以使用以下 URL 格式輕松直接地訪問存儲帳戶中的 blob:

http://<存儲帳戶名稱>.blob.core.windows.net/<容器名稱>/

示例:? http ://raspberrypiproject.blob.core.windows.net/images/PICTURE.JPG

設置 Azure 存儲

在 Azure 門戶中,按照以下說明創建 Azure 存儲的新實例:

(1) 點擊NEW (2) 點擊DATA + STORAGE (3) 點擊STORAGE ACCOUNT (4) 點擊CREATE

?
pYYBAGOlDoWAKMEVAAEp74Vy8cU969.png
?

然后它會提示您輸入存儲帳戶的名稱(任何名稱都可以,但請記住它,因為我們稍后會引用它)并查看/選擇其他詳細信息,如定價層和訂閱帳戶以將其綁定到。完成后單擊“創建”。

創建存儲帳戶可能需要幾分鐘時間。要檢查狀態,您可以監視門戶底部的通知。創建存儲帳戶后,它將顯示聯機狀態并可供使用。

單擊存儲帳戶以顯示其摘要頁面,然后單擊容器。將容器視為文件分組。創建一個新容器并記住名稱。這將是我們上傳圖片的區域。

?
poYBAGOlDoiAZ-9AAADJkqdkQBA599.png
?

復制存儲訪問密鑰

創建存儲帳戶時,Azure 會生成兩個 512 位存儲訪問密鑰,每當外部代碼訪問存儲帳戶時,這些密鑰都會用于身份驗證。通過提供兩個存儲訪問密鑰,Azure 使你能夠重新生成其中一個密鑰,而不會中斷你的存儲服務或對該服務的訪問。

在 Azure 門戶中,使用儀表板上的管理密鑰復制存儲訪問密鑰以在連接字符串中使用。連接字符串需要存儲帳戶名稱和用于身份驗證的訪問密鑰。

1. 在 Azure 門戶中,單擊存儲,然后單擊存儲帳戶的名稱以打開儀表板。

2. 單擊管理密鑰。(“管理訪問密鑰”窗口打開。)

?
pYYBAGOlDoqANHkvAAA3suyYqOE194.png
?

3. 要復制存儲訪問密鑰(主要或次要),請選擇密鑰文本。然后單擊鼠標右鍵,然后單擊“復制”。

我們需要在將圖片上傳到 Azure 的 Raspberry Pi 代碼區域使用存儲帳戶名稱、容器名稱和存儲訪問密鑰。我們還將在查看圖像的 Azure 網站代碼區域中使用它們。

創建 Azure Web 應用程序

這個項目實際上是圍繞 Raspberry Pi 方面的事情,但我們會讓你很容易地創建這個 Azure 網站部分,即使你除了運行上面的說明來設置 Azure 存儲帳戶之外沒有其他經驗。

在 Azure 門戶中,按照以下說明創建將托管我們網站的 Azure Web 應用程序的新實例:

(1) 點擊NEW (2) 點擊WEB + MOBILE (3) 點擊WEB APP (4) 填寫App Name(這個名字會顯示在你的網站URL中)&審核/選擇其他參數
(5) 點擊CREATE

Azure 可能需要幾分鐘才能完全創建您的站點(您可以從 Azure 門戶的儀表板監控進度)

?
poYBAGOlDo2AUL6vAADmmW5_D_g006.png
?

當我們還在 Azure 門戶中時,我們還需要一件東西。單擊 Azure 門戶中新創建的 WebApp 以彈出其詳細信息窗口。

單擊頂部菜單中的“獲取發布配置文件”按鈕,它會下載一個 *.publishsettings 文件。我們稍后將使用此文件來輕松發布網站。

Visual Studio 2015 中的 AzureWebsite 解決方案

當您從GitHub下載代碼時,您會看到一個解決方案文件同時包含 Raspberry Pi 客戶端應用程序和 ASP 網站。這樣做只是為了方便。Raspberry Pi 項目是要啟動的默認項目,因此您需要右鍵單擊 AzureWebsite 項目并選擇“設置為啟動項目”以使用該網站項目。

打開 Web.config 文件并找到第 12 和 13 行中定義的鍵。 ?

在第 12 行中,將文本ENTER_YOUR_ACCOUNT_NAME_HERE替換?為您之前設置的存儲帳戶名稱。還將文本ENTER_YOUR_ACCOUNT_KEY_HERE替換為您之前設置的存儲訪問密鑰之一。

在第 13 行,將文本ENTER_YOUR_CONTAINER_NAME_HERE替換為?您之前設置的存儲容器的名稱。

這些就是您需要進行的所有更改!您可以通過按F5來測試更改,以啟動調試器。該網站應該出現,如果您有任何圖片上傳到您的存儲容器,您現在就會看到它們(但您可能還沒有任何圖片)。

注意:如果您收到有關“Microsoft.CodeDom.Providers.DotNetCompilerPlatform”的錯誤,請確保通過 Visual Studio 中的“管理 NuGet 包”選項安裝或升級 NUGET 包。我已經看到 Visual Studio 2015 的全新安裝拋出此錯誤,直到包升級。

運行本地調試版本后,即可輕松發布到 Azure 站點。在 Visual Studio 2015 中,選擇BUILDPUBLISH AZUREWEBSITE在“Publish Web”窗口中,選擇左上角的第一個選項PROFILE。然后選擇導入選項。文件選擇器窗口將讓您選擇您剛剛在上述步驟中下載的 *.publishsettings 文件。此時,您可以永久發布您的站點,或者直到您通過 Azure 門戶將其刪除。發布設置現在將保存在您的項目中以供將來使用(它存儲在解決方案的 Properties/PubilshProfiles 文件夾中,僅供參考)。

獲取要編譯的解決方案

(證書)

從 GitHub 下載代碼以進行編譯后,您需要快速完成一件事情。您需要從您的 PC 輸入一個證書(因為這是一個 Windows 通用應用程序,它需要一個證書來編譯)。

在 Visual Studio 中打開代碼后,請執行以下步驟:

1) 在解決方案資源管理器中,從項目中刪除“ PiMotionSensorPhotoUpload_TemporaryKey.pfx ”文件(右鍵單擊并選擇刪除)。

2) 在Solution Explorer中,雙擊“ Package.appxmanifest ”,然后會彈出 Package properties 窗口。

3) 單擊“打包”選項卡(選項卡橫跨頂部)

4) 點擊選擇證書按鈕

5) 在彈出的窗口中,打開“ Configure Certificate ”下拉菜單并選擇“ Create test certificate...

6) 證書窗口會要求輸入名稱(輸入你想要的任何名稱)和密碼(任何密碼,必須是6個字符)

現在嘗試編譯,一切都會好起來的。

?
?
?
?
pYYBAGOlDpCAAfbSAAFN12VIj-Y122.png
?
1 / 3 ? (第 2 步)
?

還有一點需要注意,特別是如果您從 GitHub 下載 ZIP 文件的代碼:確保解決方案文件的文件夾路徑(“PiMotionSensorPhotoUpload.sln”所在的文件夾)少于 256 個字符。如果文件夾路徑太大,您將收到大量編譯錯誤,主要源于無法恢復所有 NuGet 包的主要錯誤。要修復此問題,請將解決方案文件夾(“PiMotionSensorPhotoUpload.sln”所在的文件夾)復制到 C 盤的根目錄,然后再次嘗試打開/編譯。

概括

如您所見,為運行Windows 10 IoT的Raspberry Pi開發應用程序并與Azure 存儲集成非常容易。之前對 C# 有一點經驗的 Raspberry Pi 新手會發現自己很熟悉。豐富的Visual Studio環境和強大的調試體驗,將幫助您了解更多樹莓派的特性。?

?

?
?
?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
百家乐大赢家小说| 邓州市| 顶级赌场连环夺宝下载| 利来百家乐的玩法技巧和规则| 包赢百家乐的玩法技巧和规则 | 百家乐台布哪里有卖| 新世纪百家乐娱乐城| 线上百家乐的玩法技巧和规则| 百家乐缩水软件| 大发888娱乐场备用| 顶级赌场连环夺宝下注有什么窍门| 东方太阳城| 德钦县| 百家乐官网注册优惠平台| 玩百家乐官网游戏的最高技巧 | 百家乐群sun811.com| 百家乐透明发牌靴| 疯狂百家乐游戏| 网上娱乐城排名| 网上百家乐官网公式| 真钱百家乐官网游戏大全| 百家乐官网如何赚钱洗码| 百家乐什么平台好| 网上百家乐破战| 大发888好吗| 景洪市| 大世界百家乐官网娱乐| 帝王百家乐新足球平台| 金地太阳城二手房| 峨眉山市| 嘉禾百家乐官网的玩法技巧和规则 | 实战百家乐官网十大取胜原因百分百战胜百家乐官网不买币不吹牛只你能做到按我说的.百家乐官网基本规则 | 24山72向局图解| 单机百家乐在线小游戏| 百盛百家乐的玩法技巧和规则| 大发888代充平台| 百家乐官网发牌千数| 百家乐官网博娱乐网赌百家乐官网| 威尼斯人娱乐城老lm0| 百家乐官网英皇娱乐场开户注册 | 澳门百家乐网上赌博|