資料介紹
描述
這是一篇文章,我們探討了使用 Azure Percept 來提高工作人員的安全性并構(gòu)建連接到微控制器以控制警報(bào)的概念證明。本文介紹了如何將 Azure Percept 連接到 Arduino、設(shè)置固件并演示如何在 docker 容器中使用 .NET IoT。
工人安全的重要性
根據(jù) OSHA,美國(guó)建筑工地工人死亡的最常見原因如下
- 跌倒(造成建筑工人死亡的 33.5%)
- 被物體擊中(占建筑工人死亡的 11.1%)
- 觸電(占建筑工人死亡的 8.5%)
- 夾在中間(占建筑工人死亡的 5.5%)
安全在每個(gè)工作現(xiàn)場(chǎng)都非常重要。有些地方是工人必須避開的。根據(jù) Construction Dive 的一篇文章:與電梯相關(guān)的施工死亡人數(shù)正在上升
“雖然建筑和維修工人與電梯相關(guān)的總死亡人數(shù)與建筑總死亡人數(shù)相比相對(duì)較少,但從 2003 年到 2016 年,此類死亡人數(shù)翻了一番,從 14 人增加到 28 人,2015 年達(dá)到峰值 37 人,根據(jù)來自建筑研究與培訓(xùn)中心 (CPWR) 的一份報(bào)告。然而,跌倒是大多數(shù)電梯相關(guān)死亡的原因,就像整個(gè)建筑行業(yè)一樣。超過 53% 的與電梯相關(guān)的死亡來自跌倒,在這些事件中,近 48% 來自 30 英尺以上的高度?!?/font>
查看這些統(tǒng)計(jì)數(shù)據(jù),它在錯(cuò)誤的時(shí)間出現(xiàn)在錯(cuò)誤的地方。警告標(biāo)志通常張貼在危險(xiǎn)區(qū)域周圍,但可能會(huì)被忽略或遺忘。
如果我們可以使用 Azure Percept 來監(jiān)控這些危險(xiǎn)區(qū)域并警告工作人員遠(yuǎn)離并避開它會(huì)怎樣。目標(biāo)是發(fā)出威懾、可聽見的聲音,提醒他們可能存在的危險(xiǎn)。一旦工人離開該區(qū)域并且不再被檢測(cè)到,聲音就會(huì)自動(dòng)停止。同樣在維護(hù)期間,允許使用符合法規(guī)所需的授權(quán)遠(yuǎn)程禁用檢測(cè)。

。
?
入門
我們將查看該項(xiàng)目的硬件、軟件要求和架構(gòu)圖。然后逐步了解如何設(shè)置和部署應(yīng)用程序。
硬件
Azure 感知設(shè)備工具包
https://www.microsoft.com/d/azure-percept-dk/8mn84wxz7xww
與 Arduino IDE 兼容的 ELEGOO UNO R3 超級(jí)入門套件
https://www.elegoo.com/products/elegoo-uno-project-super-starter-kit
軟件
Azure 訂閱(Azure Percept 需要)
視覺工作室代碼
https://code.visualstudio.com/
適用于 VS Code 的 Azure IoT 工具擴(kuò)展
https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.azure-iot-tools
Azure IoT Edge 開發(fā)工具
https://github.com/Azure/iotedgedev
使用 DockerHub 帳戶的 Docker
https://docs.docker.com/get-docker/
Arduino IDE
https://www.arduino.cc/en/software
整體架構(gòu)

當(dāng)攝像頭檢測(cè)到危險(xiǎn)區(qū)域內(nèi)的工人時(shí),會(huì)發(fā)出警報(bào)并將遙測(cè)信息發(fā)送到云端。Azure Percept Device Kit 包含一個(gè)人員檢測(cè)模型,用于處理來自相機(jī)的幀。當(dāng)檢測(cè)到工人時(shí);它向 Arduino 設(shè)備發(fā)送消息以設(shè)置蜂鳴器聲音并將消息發(fā)送到 IoT Hub。
指示
設(shè)置人員檢測(cè)模型
Azure Percept Device Kit 連接到云端后,我們可以通過轉(zhuǎn)到 Vision 選項(xiàng)卡 -> Deploy a Sample Model 來指定使用人員檢測(cè)模型


設(shè)置 Arduino 模塊
我按照 .NET IoT github 頁(yè)面上的說明進(jìn)行操作。
https://github.com/dotnet/iot/tree/main/src/devices/Arduino#quick-start
您可以在以下位置下載我用于此項(xiàng)目的 Firmata 固件:
https://github.com/rondagdag/arduino-percept/blob/main/firmata/percept-uno/percept-uno.ino
以下是步驟:
- 打開 Arduino IDE
- 轉(zhuǎn)到庫(kù)管理器并檢查您是否安裝了“ConfigurableFirmata”庫(kù)
- 從設(shè)備綁定文件夾中打開“Percept-Uno.ino”或訪問http://firmatabuilder.com/創(chuàng)建您自己的自定義固件固件。確保您至少檢查了您需要的功能。
- 將此草圖上傳到您的 Arduino。
向arduino模塊發(fā)送警報(bào)
在 Visual Studio Code 中打開 Percept Edge 解決方案項(xiàng)目
https://github.com/rondagdag/arduino-percept/tree/main/PerceptEdgeSolution
如果你有 Azure IoT Edge Dev 工具和 Azure IoT Tools Extensions for VS Code,這個(gè)模塊可以在你的機(jī)器上本地運(yùn)行
要在您的機(jī)器上本地運(yùn)行它,您可能需要更改此 module.json
將存儲(chǔ)庫(kù)更改為您的 Dockerhub 用戶名。
"repository": "rondagdag/arduino-percept-module"
Arduino 模塊是一個(gè)控制 arduino 設(shè)備的 C# 應(yīng)用程序。它是一個(gè)使用 .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" />
該模塊嘗試連接到兩個(gè) Arduino USB 端口。我注意到有時(shí)在重新啟動(dòng)期間,它可能是 arduino 連接到的這些端口之一。
/dev/ttyACM0
/dev/ttyACM1
為了在您的機(jī)器上本地運(yùn)行它,您可能必須將端口號(hào)更改為 Arduino IDE 確定 UNO 連接到的端口號(hào)(Windows 的 COM3 或 Mac 的 /dev/ttyS1)
它連接到 115200 波特率。
蜂鳴器連接到如下所示的 PIN 12:

當(dāng)從 IoT Edge 中心接收消息時(shí),可以對(duì)其進(jìn)行處理以檢測(cè)是否檢測(cè)到工作人員。如果有效載荷包含 NEURAL NETWORK 節(jié)點(diǎn)中的項(xiàng)目,那么我們可以將警報(bào)發(fā)送到 Arduino。
這是要分析的代碼。
在您的機(jī)器上本地運(yùn)行它可能會(huì)很棘手,并且可能需要一些修改。您可能必須修改部署模板和代碼才能接收來自模擬溫度的有效負(fù)載。
注意端口是如何映射到 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 模塊過濾數(shù)據(jù),控制 arduino 并將遙測(cè)數(shù)據(jù)發(fā)送到云端。
"$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
}
}
你可以在模擬器上測(cè)試一下

部署設(shè)置
為了將其部署到 Azure Percept,IoT Hub 設(shè)備 -> 設(shè)置模塊 -> 添加 -> IoT Edge 模塊

填寫模塊名稱和圖像 URI。

還有容器創(chuàng)建選項(xiàng)來映射正確的端口。

指定路線。在這種情況下,我們必須將來自 Azure Eye 模塊的數(shù)據(jù)推送到 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"
},
概括
在任何工作場(chǎng)所,確保工人的安全都非常重要。Azure Percept 可以幫助檢測(cè)人員并連接不同的警報(bào)系統(tǒng)。我們演示了如何設(shè)置 Azure Percept Dev Kit 以使用人員檢測(cè)。我們已將 Arduino 與蜂鳴器連接以觸發(fā)可聽見的聲音。這實(shí)際上使 Azure Percept Dev Kit 能夠擴(kuò)展功能并拓寬用例。讓我知道這個(gè)博客是否對(duì)您有任何幫助,請(qǐng)?jiān)谙旅姘l(fā)表評(píng)論,我有興趣學(xué)習(xí)不同的想法和用例。
資源
參考代碼:
https://github.com/rondagdag/arduino-percept
Azure Percept 入門:
https://docs.microsoft.com/azure/azure-percept/
如果這個(gè)項(xiàng)目啟發(fā)了您使用 Azure Percept - 單擊“豎起大拇指”按鈕并關(guān)注我。
- 讓Arduino充當(dāng)玻璃容器中的控制器和傳感器讀取器
- AM5708平臺(tái)移植ubuntu系統(tǒng)和docker容器
- 兆易創(chuàng)新AN014 GD32微控制器在Arduino中的應(yīng)用
- 適用于Arduino 101的Azure RTOS ThreadX線程
- docker技術(shù)入門與實(shí)戰(zhàn) 0次下載
- docker-ceph在Docker容器中安裝Ceph
- Docker Maven Plugin管理Docker容器
- docker-sshd Docker容器的sshd代理
- 云芯一號(hào)測(cè)評(píng)3:Docker基礎(chǔ)使用測(cè)試
- 異構(gòu)容器云應(yīng)用遷移系統(tǒng)研究綜述 8次下載
- 高性能嵌入式堆棧Azure PTOS USBX概述 10次下載
- 一種基于鏡像層觀念的Docker注冊(cè)表緩存預(yù)取策略 16次下載
- 基于Docker的云資源彈性調(diào)度策略 0次下載
- 集成Docker容器的OpenStack云平臺(tái)性能研究 0次下載
- 基于DOCKER容器的ELK日志收集系統(tǒng)分析 3次下載
- Docker容器實(shí)現(xiàn)開機(jī)自動(dòng)啟動(dòng)策略 2906次閱讀
- 如何使用 Docker容器化技術(shù) 1.6w次閱讀
- 使用Docker安裝WordPress教程 1579次閱讀
- 如何在Docker容器中運(yùn)行Nginx 1967次閱讀
- Docker容器網(wǎng)絡(luò)的數(shù)據(jù)鏈路是什么 931次閱讀
- Docker開啟IPv6 3504次閱讀
- Azure Percept DK的硬件介紹與設(shè)置使用 1149次閱讀
- docker的4種網(wǎng)絡(luò)模式配置 1482次閱讀
- 使用Auzre Percept的前置處理步驟 953次閱讀
- docker的4種網(wǎng)絡(luò)模式 1867次閱讀
- 詳解Docker容器和Docker鏡像 3588次閱讀
- 如何從網(wǎng)頁(yè)控制arduino? 4186次閱讀
- 學(xué)習(xí) Docker 容器的 8 個(gè)命令分享 1382次閱讀
- 什么是虛擬化?什么是Docker ?Docker容器與虛擬機(jī)區(qū)別 2.3w次閱讀
- 學(xué)習(xí)管理 docker 容器的一些命令 4328次閱讀
下載排行
本周
- 1U盤一鍵制作
- 23.84 MB | 3次下載 | 免費(fèi)
- 2ch341驅(qū)動(dòng)
- 0.18 MB | 1次下載 | 免費(fèi)
- 3貼片電阻阻值代號(hào)
- 0.08 MB | 1次下載 | 1 積分
- 4DS-CM5A H24-CN-V2
- 524.28 KB | 1次下載 | 免費(fèi)
- 5基于Linux的液晶顯示屏驅(qū)動(dòng)技術(shù)的研究與應(yīng)用
- 14.59 MB | 次下載 | 1 積分
- 6研華AIMB-218工控主板用戶手冊(cè)
- 4.45 MB | 次下載 | 1 積分
- 7研華AIMB-275工控主板用戶手冊(cè)
- 3.11 MB | 次下載 | 1 積分
- 8ST NPI 新上架產(chǎn)品【DCP0606Y】
- 1.35 MB | 次下載 | 免費(fèi)
本月
- 1人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
- 4.27 MB | 60次下載 | 免費(fèi)
- 2晶體三極管的電流放大作用詳細(xì)說明
- 0.77 MB | 32次下載 | 2 積分
- 3九陽(yáng)豆?jié){機(jī)高清原理圖
- 2.47 MB | 31次下載 | 1 積分
- 4雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費(fèi)下載
- 4.03 MB | 25次下載 | 1 積分
- 5多級(jí)放大電路的學(xué)習(xí)課件免費(fèi)下載
- 1.81 MB | 21次下載 | 2 積分
- 6Altium Designer元件庫(kù)
- 17.11 MB | 11次下載 | 免費(fèi)
- 7STM32F10xxx單片機(jī)編程手冊(cè)
- 0.29 MB | 5次下載 | 免費(fèi)
- 8HT8691R內(nèi)置BOOST升壓模塊的D類音頻功率放大器中文手冊(cè)
- 1.77 MB | 4次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191382次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183339次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論