資料介紹
描述
這是一篇文章,我們探討了使用 Azure Percept 來提高工作人員的安全性并構建連接到微控制器以控制警報的概念證明。本文介紹了如何將 Azure Percept 連接到 Arduino、設置固件并演示如何在 docker 容器中使用 .NET IoT。
工人安全的重要性
根據 OSHA,美國建筑工地工人死亡的最常見原因如下
- 跌倒(造成建筑工人死亡的 33.5%)
- 被物體擊中(占建筑工人死亡的 11.1%)
- 觸電(占建筑工人死亡的 8.5%)
- 夾在中間(占建筑工人死亡的 5.5%)
安全在每個工作現場都非常重要。有些地方是工人必須避開的。根據 Construction Dive 的一篇文章:與電梯相關的施工死亡人數正在上升
“雖然建筑和維修工人與電梯相關的總死亡人數與建筑總死亡人數相比相對較少,但從 2003 年到 2016 年,此類死亡人數翻了一番,從 14 人增加到 28 人,2015 年達到峰值 37 人,根據來自建筑研究與培訓中心 (CPWR) 的一份報告。然而,跌倒是大多數電梯相關死亡的原因,就像整個建筑行業一樣。超過 53% 的與電梯相關的死亡來自跌倒,在這些事件中,近 48% 來自 30 英尺以上的高度。”
查看這些統計數據,它在錯誤的時間出現在錯誤的地方。警告標志通常張貼在危險區域周圍,但可能會被忽略或遺忘。
如果我們可以使用 Azure Percept 來監控這些危險區域并警告工作人員遠離并避開它會怎樣。目標是發出威懾、可聽見的聲音,提醒他們可能存在的危險。一旦工人離開該區域并且不再被檢測到,聲音就會自動停止。同樣在維護期間,允許使用符合法規所需的授權遠程禁用檢測。
。
?
入門
我們將查看該項目的硬件、軟件要求和架構圖。然后逐步了解如何設置和部署應用程序。
硬件
Azure 感知設備工具包
https://www.microsoft.com/d/azure-percept-dk/8mn84wxz7xww
與 Arduino IDE 兼容的 ELEGOO UNO R3 超級入門套件
https://www.elegoo.com/products/elegoo-uno-project-super-starter-kit
軟件
Azure 訂閱(Azure Percept 需要)
視覺工作室代碼
https://code.visualstudio.com/
適用于 VS Code 的 Azure IoT 工具擴展
https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.azure-iot-tools
Azure IoT Edge 開發工具
https://github.com/Azure/iotedgedev
使用 DockerHub 帳戶的 Docker
https://docs.docker.com/get-docker/
Arduino IDE
https://www.arduino.cc/en/software
整體架構
當攝像頭檢測到危險區域內的工人時,會發出警報并將遙測信息發送到云端。Azure Percept Device Kit 包含一個人員檢測模型,用于處理來自相機的幀。當檢測到工人時;它向 Arduino 設備發送消息以設置蜂鳴器聲音并將消息發送到 IoT Hub。
指示
設置人員檢測模型
Azure Percept Device Kit 連接到云端后,我們可以通過轉到 Vision 選項卡 -> Deploy a Sample Model 來指定使用人員檢測模型
設置 Arduino 模塊
我按照 .NET IoT github 頁面上的說明進行操作。
https://github.com/dotnet/iot/tree/main/src/devices/Arduino#quick-start
您可以在以下位置下載我用于此項目的 Firmata 固件:
https://github.com/rondagdag/arduino-percept/blob/main/firmata/percept-uno/percept-uno.ino
以下是步驟:
- 打開 Arduino IDE
- 轉到庫管理器并檢查您是否安裝了“ConfigurableFirmata”庫
- 從設備綁定文件夾中打開“Percept-Uno.ino”或訪問http://firmatabuilder.com/創建您自己的自定義固件固件。確保您至少檢查了您需要的功能。
- 將此草圖上傳到您的 Arduino。
向arduino模塊發送警報
在 Visual Studio Code 中打開 Percept Edge 解決方案項目
https://github.com/rondagdag/arduino-percept/tree/main/PerceptEdgeSolution
如果你有 Azure IoT Edge Dev 工具和 Azure IoT Tools Extensions for VS Code,這個模塊可以在你的機器上本地運行
要在您的機器上本地運行它,您可能需要更改此 module.json
將存儲庫更改為您的 Dockerhub 用戶名。
"repository": "rondagdag/arduino-percept-module"
Arduino 模塊是一個控制 arduino 設備的 C# 應用程序。它是一個使用 .NET IoT 綁定的 docker 容器。這是我使用的Nuget 包。
Include="Microsoft.Azure.Devices.Client" />
Include="Microsoft.Extensions.Configuration" />
Include="Microsoft.Extensions.Configuration.Abstractions" />
Include="Microsoft.Extensions.Configuration.Binder" />
Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
Include="Microsoft.Extensions.Configuration.FileExtensions" />
Include="Microsoft.Extensions.Configuration.Json" />
Include="System.Runtime.Loader" />
Include="System.IO.Ports" />
Include="System.Device.Gpio" />
Include="Iot.Device.Bindings" />
Include="Microsoft.Extensions.Logging.Console" />
該模塊嘗試連接到兩個 Arduino USB 端口。我注意到有時在重新啟動期間,它可能是 arduino 連接到的這些端口之一。
/dev/ttyACM0
/dev/ttyACM1
為了在您的機器上本地運行它,您可能必須將端口號更改為 Arduino IDE 確定 UNO 連接到的端口號(Windows 的 COM3 或 Mac 的 /dev/ttyS1)
它連接到 115200 波特率。
蜂鳴器連接到如下所示的 PIN 12:
當從 IoT Edge 中心接收消息時,可以對其進行處理以檢測是否檢測到工作人員。如果有效載荷包含 NEURAL NETWORK 節點中的項目,那么我們可以將警報發送到 Arduino。
這是要分析的代碼。
在您的機器上本地運行它可能會很棘手,并且可能需要一些修改。您可能必須修改部署模板和代碼才能接收來自模擬溫度的有效負載。
注意端口是如何映射到 docker 容器上的。/dev/ttyACM0 和 /dev/ttyACM1
"ArduinoModule": {
"version": "1.0",
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "${MODULES.ArduinoModule}",
"createOptions": {
"HostConfig": {
"Privileged": true,
"Devices": [
{
"PathOnHost": "/dev/ttyACM0",
"PathInContainer": "/dev/ttyACM0",
"CgroupPermissions": "rwm"
},
{
"PathOnHost": "/dev/ttyACM1",
"PathInContainer": "/dev/ttyACM1",
"CgroupPermissions": "rwm"
}
]
}
}
}
}
本地的 EdgeHub 映射如下所示。模擬溫度傳感器將輸出傳遞給 Arduino 模塊。然后 Arduino 模塊過濾數據,控制 arduino 并將遙測數據發送到云端。
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.2",
"routes": {
"sensorToArduinoModule": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint("/modules/ArduinoModule/inputs/input1\")",
"ArduinoModuleToIoTHub": "FROM /messages/modules/ArduinoModule/outputs/* INTO $upstream"
},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
你可以在模擬器上測試一下
部署設置
為了將其部署到 Azure Percept,IoT Hub 設備 -> 設置模塊 -> 添加 -> IoT Edge 模塊
填寫模塊名稱和圖像 URI。
還有容器創建選項來映射正確的端口。
指定路線。在這種情況下,我們必須將來自 Azure Eye 模塊的數據推送到 Arduino 模塊。
這是映射的樣子
"$edgeHub": {
"properties.desired": {
"routes": {
"AzureSpeechToIoTHub": "FROM /messages/modules/azureearspeechclientmodule/outputs/* INTO $upstream",
"AzureEyeModuleToArduinoModule": "FROM /messages/modules/azureeyemodule/outputs/* INTO BrokeredEndpoint("/modules/ArduinoModule/inputs/input1\")",
"ArduinoModuleToIoTHub": "FROM /messages/modules/ArduinoModule/outputs/* INTO $upstream"
},
概括
在任何工作場所,確保工人的安全都非常重要。Azure Percept 可以幫助檢測人員并連接不同的警報系統。我們演示了如何設置 Azure Percept Dev Kit 以使用人員檢測。我們已將 Arduino 與蜂鳴器連接以觸發可聽見的聲音。這實際上使 Azure Percept Dev Kit 能夠擴展功能并拓寬用例。讓我知道這個博客是否對您有任何幫助,請在下面發表評論,我有興趣學習不同的想法和用例。
資源
參考代碼:
https://github.com/rondagdag/arduino-percept
Azure Percept 入門:
https://docs.microsoft.com/azure/azure-percept/
如果這個項目啟發了您使用 Azure Percept - 單擊“豎起大拇指”按鈕并關注我。
- 讓Arduino充當玻璃容器中的控制器和傳感器讀取器
- AM5708平臺移植ubuntu系統和docker容器
- 兆易創新AN014 GD32微控制器在Arduino中的應用
- 適用于Arduino 101的Azure RTOS ThreadX線程
- docker技術入門與實戰 0次下載
- docker-ceph在Docker容器中安裝Ceph
- Docker Maven Plugin管理Docker容器
- docker-sshd Docker容器的sshd代理
- 云芯一號測評3:Docker基礎使用測試
- 異構容器云應用遷移系統研究綜述 8次下載
- 高性能嵌入式堆棧Azure PTOS USBX概述 10次下載
- 一種基于鏡像層觀念的Docker注冊表緩存預取策略 16次下載
- 基于Docker的云資源彈性調度策略 0次下載
- 集成Docker容器的OpenStack云平臺性能研究 0次下載
- 基于DOCKER容器的ELK日志收集系統分析 3次下載
- Docker容器實現開機自動啟動策略 2139次閱讀
- 如何使用 Docker容器化技術 1.5w次閱讀
- 使用Docker安裝WordPress教程 1350次閱讀
- 如何在Docker容器中運行Nginx 1750次閱讀
- Docker容器網絡的數據鏈路是什么 800次閱讀
- Docker開啟IPv6 3287次閱讀
- Azure Percept DK的硬件介紹與設置使用 945次閱讀
- docker的4種網絡模式配置 1270次閱讀
- 使用Auzre Percept的前置處理步驟 837次閱讀
- docker的4種網絡模式 1592次閱讀
- 詳解Docker容器和Docker鏡像 3420次閱讀
- 如何從網頁控制arduino? 3836次閱讀
- 學習 Docker 容器的 8 個命令分享 1313次閱讀
- 什么是虛擬化?什么是Docker ?Docker容器與虛擬機區別 2.3w次閱讀
- 學習管理 docker 容器的一些命令 4216次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 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開發指南
- 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開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 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次下載 | 免費
評論
查看更多