吴忠躺衫网络科技有限公司

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>從Azure Percept中的docker容器控制Arduino

從Azure Percept中的docker容器控制Arduino

2023-06-27 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

這是一篇文章,我們探討了使用 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 來監控這些危險區域并警告工作人員遠離并避開它會怎樣。目標是發出威懾、可聽見的聲音,提醒他們可能存在的危險。一旦工人離開該區域并且不再被檢測到,聲音就會自動停止。同樣在維護期間,允許使用符合法規所需的授權遠程禁用檢測。

poYBAGNgjpOAGj8NAAB7uwwSowE811.png
?

。

?

?

入門

我們將查看該項目的硬件、軟件要求和架構圖。然后逐步了解如何設置和部署應用程序。

硬件

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

視覺工作室代碼

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

整體架構

poYBAGNgjpaAKCcPAADz8-vrXNE532.png
?

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

指示

設置人員檢測模型

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

poYBAGNgjpeAHS5XAAA7V9W8Vss314.png
?
pYYBAGNgjpqAT_8JAABwW98xV08240.png
?

設置 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

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

將存儲庫更改為您的 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:

poYBAGNgjp-AD29GAACxNvC1Gx8055.png
?

當從 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
        }
      }

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

pYYBAGNgjqGAPcDDAAB4HMJAOOs407.png
?

部署設置

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

pYYBAGNgjqWAGa5zAACSYIy8fUA500.png
?

填寫模塊名稱和圖像 URI。

poYBAGNgjqyAODI-AACIAkhARIg838.png
?

還有容器創建選項來映射正確的端口。

pYYBAGNgjq6ABD4NAACG0D0AwXA593.png
?

指定路線。在這種情況下,我們必須將來自 Azure Eye 模塊的數據推送到 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 可以幫助檢測人員并連接不同的警報系統。我們演示了如何設置 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 - 單擊“豎起大拇指”按鈕并關注我。


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

評論

查看更多

下載排行

本周

  1. 1A7159和A7139射頻芯片的資料免費下載
  2. 0.20 MB   |  55次下載  |  5 積分
  3. 2PIC12F629/675 數據手冊免費下載
  4. 2.38 MB   |  36次下載  |  5 積分
  5. 3PIC16F716 數據手冊免費下載
  6. 2.35 MB   |  18次下載  |  5 積分
  7. 4dsPIC33EDV64MC205電機控制開發板用戶指南
  8. 5.78MB   |  8次下載  |  免費
  9. 5STC15系列常用寄存器匯總免費下載
  10. 1.60 MB   |  7次下載  |  5 積分
  11. 6模擬電路仿真實現
  12. 2.94MB   |  4次下載  |  免費
  13. 7PCB圖繪制實例操作
  14. 2.92MB   |  2次下載  |  免費
  15. 8零死角玩轉STM32F103—指南者
  16. 26.78 MB   |  1次下載  |  1 積分

本月

  1. 1ADI高性能電源管理解決方案
  2. 2.43 MB   |  452次下載  |  免費
  3. 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
  4. 5.67 MB   |  141次下載  |  1 積分
  5. 3基于STM32單片機智能手環心率計步器體溫顯示設計
  6. 0.10 MB   |  137次下載  |  免費
  7. 4A7159和A7139射頻芯片的資料免費下載
  8. 0.20 MB   |  55次下載  |  5 積分
  9. 5PIC12F629/675 數據手冊免費下載
  10. 2.38 MB   |  36次下載  |  5 積分
  11. 6如何正確測試電源的紋波
  12. 0.36 MB   |  19次下載  |  免費
  13. 7PIC16F716 數據手冊免費下載
  14. 2.35 MB   |  18次下載  |  5 積分
  15. 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統EMC試驗方法及要求
  16. 1.97 MB   |  8次下載  |  10 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935121次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73810次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
含山县| 德州扑克教程| 大发888娱乐鸿博娱乐| 大发888-大发娱乐城下载| 百家乐官网网站出售| 潼关县| 金字塔百家乐官网的玩法技巧和规则 | 澳门百家乐常赢打法| 大发888代充值存款| 皇冠网| 百家乐官网论坛博彩拉| 百家乐官网的规则玩法| 澳门百家乐海洋阿强| 百家乐群shozo权威| 白金国际| 宝兴县| 游戏百家乐押发| 水果机游戏下载| 赫章县| 三亚百家乐官网的玩法技巧和规则| 梦幻城百家乐的玩法技巧和规则| 百家乐网页qq| 百家乐官网二人视频麻将| 澳门百家乐官网真人斗地主| 百家乐捡揽方法| 大发888com| 博彩百家乐官网后一预测软件| 威尼斯人娱乐网代理注| 百家乐官网赌博技巧大全| 百家乐l路单| 大发888娱乐送体验金| 真人百家乐官网游戏软件| 百家乐牌盒| 百家乐官网真人秀| 包赢百家乐的玩法技巧和规则 | 大发888 yule| 百家乐官网庄家怎样赚钱| 太阳城直属现金网| 百家乐官网如何洗吗| 百家乐讲坛汉献| k7娱乐城开户|