電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>從Azure Percept中的docker容器控制Arduino

從Azure Percept中的docker容器控制Arduino

2023-06-27 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

描述

這是一篇文章,我們探討了使用 Azure Percept 來提高工作人員的安全性并構(gòu)建連接到微控制器以控制警報的概念證明。本文介紹了如何將 Azure Percept 連接到 Arduino、設(shè)置固件并演示如何在 docker 容器中使用 .NET IoT。

工人安全的重要性

根據(jù) OSHA,美國建筑工地工人死亡的最常見原因如下

  • 跌倒(造成建筑工人死亡的 33.5%)
  • 被物體擊中(占建筑工人死亡的 11.1%)
  • 觸電(占建筑工人死亡的 8.5%)
  • 夾在中間(占建筑工人死亡的 5.5%)

安全在每個工作現(xiàn)場都非常重要。有些地方是工人必須避開的。根據(jù) Construction Dive 的一篇文章:與電梯相關(guān)的施工死亡人數(shù)正在上升

“雖然建筑和維修工人與電梯相關(guān)的總死亡人數(shù)與建筑總死亡人數(shù)相比相對較少,但從 2003 年到 2016 年,此類死亡人數(shù)翻了一番,從 14 人增加到 28 人,2015 年達(dá)到峰值 37 人,根據(jù)來自建筑研究與培訓(xùn)中心 (CPWR) 的一份報告。然而,跌倒是大多數(shù)電梯相關(guān)死亡的原因,就像整個建筑行業(yè)一樣。超過 53% 的與電梯相關(guān)的死亡來自跌倒,在這些事件中,近 48% 來自 30 英尺以上的高度?!?/font>

查看這些統(tǒng)計(jì)數(shù)據(jù),它在錯誤的時間出現(xiàn)在錯誤的地方。警告標(biāo)志通常張貼在危險區(qū)域周圍,但可能會被忽略或遺忘。

如果我們可以使用 Azure Percept 來監(jiān)控這些危險區(qū)域并警告工作人員遠(yuǎn)離并避開它會怎樣。目標(biāo)是發(fā)出威懾、可聽見的聲音,提醒他們可能存在的危險。一旦工人離開該區(qū)域并且不再被檢測到,聲音就會自動停止。同樣在維護(hù)期間,允許使用符合法規(guī)所需的授權(quán)遠(yuǎn)程禁用檢測。

poYBAGNgjpOAGj8NAAB7uwwSowE811.png
?

?

?

入門

我們將查看該項(xiàng)目的硬件、軟件要求和架構(gòu)圖。然后逐步了解如何設(shè)置和部署應(yīng)用程序。

硬件

Azure 感知設(shè)備工具包

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://azure.microsoft.com

視覺工作室代碼

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)

poYBAGNgjpaAKCcPAADz8-vrXNE532.png
?

當(dāng)攝像頭檢測到危險區(qū)域內(nèi)的工人時,會發(fā)出警報并將遙測信息發(fā)送到云端。Azure Percept Device Kit 包含一個人員檢測模型,用于處理來自相機(jī)的幀。當(dāng)檢測到工人時;它向 Arduino 設(shè)備發(fā)送消息以設(shè)置蜂鳴器聲音并將消息發(fā)送到 IoT Hub。

指示

設(shè)置人員檢測模型

Azure Percept Device Kit 連接到云端后,我們可以通過轉(zhuǎn)到 Vision 選項(xiàng)卡 -> Deploy a Sample Model 來指定使用人員檢測模型

poYBAGNgjpeAHS5XAAA7V9W8Vss314.png
?
pYYBAGNgjpqAT_8JAABwW98xV08240.png
?

設(shè)置 Arduino 模塊

我按照 .NET IoT github 頁面上的說明進(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)到庫管理器并檢查您是否安裝了“ConfigurableFirmata”庫
  • 從設(shè)備綁定文件夾中打開“Percept-Uno.ino”或訪問http://firmatabuilder.com/創(chuàng)建您自己的自定義固件固件。確保您至少檢查了您需要的功能。
  • 將此草圖上傳到您的 Arduino。

向arduino模塊發(fā)送警報

在 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,這個模塊可以在你的機(jī)器上本地運(yùn)行

要在您的機(jī)器上本地運(yùn)行它,您可能需要更改此 module.json

https://github.com/rondagdag/arduino-percept/blob/main/PerceptEdgeSolution/modules/ArduinoModule/mod ...

將存儲庫更改為您的 Dockerhub 用戶名。

"repository": "rondagdag/arduino-percept-module"

Arduino 模塊是一個控制 arduino 設(shè)備的 C# 應(yīng)用程序。它是一個使用 .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

為了在您的機(jī)器上本地運(yùn)行它,您可能必須將端口號更改為 Arduino IDE 確定 UNO 連接到的端口號(Windows 的 COM3 或 Mac 的 /dev/ttyS1)

它連接到 115200 波特率。

蜂鳴器連接到如下所示的 PIN 12:

poYBAGNgjp-AD29GAACxNvC1Gx8055.png
?

當(dāng)從 IoT Edge 中心接收消息時,可以對其進(jìn)行處理以檢測是否檢測到工作人員。如果有效載荷包含 NEURAL NETWORK 節(jié)點(diǎn)中的項(xiàng)目,那么我們可以將警報發(fā)送到 Arduino。

這是要分析的代碼。

在您的機(jī)器上本地運(yùn)行它可能會很棘手,并且可能需要一些修改。您可能必須修改部署模板和代碼才能接收來自模擬溫度的有效負(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 并將遙測數(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
        }
      }

你可以在模擬器上測試一下

pYYBAGNgjqGAPcDDAAB4HMJAOOs407.png
?

部署設(shè)置

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

pYYBAGNgjqWAGa5zAACSYIy8fUA500.png
?

填寫模塊名稱和圖像 URI。

poYBAGNgjqyAODI-AACIAkhARIg838.png
?

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

pYYBAGNgjq6ABD4NAACG0D0AwXA593.png
?

指定路線。在這種情況下,我們必須將來自 Azure Eye 模塊的數(shù)據(jù)推送到 Arduino 模塊。

pYYBAGNgjrCALo1eAACBDDW0aL8498.png
?

這是映射的樣子

"$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 可以幫助檢測人員并連接不同的警報系統(tǒng)。我們演示了如何設(shè)置 Azure Percept Dev Kit 以使用人員檢測。我們已將 Arduino 與蜂鳴器連接以觸發(fā)可聽見的聲音。這實(shí)際上使 Azure Percept Dev Kit 能夠擴(kuò)展功能并拓寬用例。讓我知道這個博客是否對您有任何幫助,請?jiān)谙旅姘l(fā)表評論,我有興趣學(xué)習(xí)不同的想法和用例。

資源

參考代碼:

https://github.com/rondagdag/arduino-percept

Azure Percept 入門:

https://docs.microsoft.com/azure/azure-percept/

如果這個項(xiàng)目啟發(fā)了您使用 Azure Percept - 單擊“豎起大拇指”按鈕并關(guān)注我。


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

評論

查看更多

下載排行

本周

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

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)