×

在3D数字孪生中监测风力涡轮机的健康状况

消耗积分:0 | 格式:zip | 大小:0.13 MB | 2022-10-17

王芳

分享资料个

描述

风电场健康监测解决方案:

作为绿色可再生能源的发电机,风电场是我们可持续发展议程的重要贡献者。它们通常位于一些偏远的陆上/海上位置,这使得监控它们的健康状况并提供及时的支持至关重要。

在链接的 GitHub 存储库中,您将找到有关如何在 Azure 中启用远程遥测、更新风电场的 Azure 数字孪生 (ADT) 以及在 ADT 的 3D 场景中进行实时健康监控的详细分步指南。

步骤 1 - 设置 Azure 数字孪生

在Azure 门户中提供Azure 数字孪生(ADT)的新实例;

使用以下 AZ 命令创建新的Azure 存储帐户并启用从 ADT 对其的访问:

 

az storage cors add --services b --methods GET OPTIONS POST PUT --origins https://explorer.digitaltwins.azure.net --allowed-headers Authorization x-ms-version x-ms-blob-type --account-name 

 

使用ADT_Models文件夹中提供的 JSON 模型来设置相关的组织 -> 风电场 -> Win Turbine层次结构,类似于下面屏幕截图中显示的内容。

image_GpnzWyIN4b.png?auto=compress%2Cformat&w=740&h=555&fit=max

第 2 步 - 设置 Azure IoT 中心

在Azure 门户中提供Azure IoT Hub的新实例;

如果您打算使用 Python 模拟器(下面的第 5 步),您需要注册您的 IoT 设备并复制其连接字符串之一,如下所示:

image_swrBtGNnGZ.png?auto=compress%2Cformat&w=740&h=555&fit=max

如果您计划使用 Seeed Studio 的 LoRaWAN 开发工具包(下面的第 6 步),您需要创建一个具有“注册表读取”、“注册表写入”和“设备连接”权限的新共享访问策略,然后复制其中一个密钥,如图所示以下:

image_uQNg1OmSo3.png?auto=compress%2Cformat&w=740&h=555&fit=max

注意:在 Helium 网络中注册您的 Seeed 设备后,上述步骤 2.3 中的共享访问策略的密钥将用于在 Azure IoT 中心自动注册您的设备。

第 3 步 - 部署 Azure 函数

在您选择的 IDE 中创建一个新的Azure 函数。接下来的子步骤假设您使用的是提供的 C# 示例;

确保您的 Azure 函数属于 Azure 事件触发器类型;

目标 ADT 设备 ID 将从消息的系统属性中提取,如下面的第 42 行所示。将其他变量调整为传感器的遥测值:

image_C4atAwebD5.png?auto=compress%2Cformat&w=740&h=555&fit=max

创建指向您的 ADT 实例的 ADT_SERVICE_URL 变量;

在 Azure 中发布您的函数。

注意:使用提供的 C# 示例需要安装“Azure.DigitalTwins.Core”、“Azure.Identity”和“Microsoft.Azure.WebJobs.Extensions.EventGrid”包。

第 4 步 - 配置 ADT 3D 场景

打开3D Studio并通过在步骤 1 中链接您的 ADT 实例和存储帐户来配置 3D 场景环境:

image_DEiFOJcHhU.png?auto=compress%2Cformat&w=740&h=555&fit=max

通过上传 3D 模型并证明有意义的描述来创建您的第一个 3D 场景:

image_469vuRp07B.png?auto=compress%2Cformat&w=740&h=555&fit=max

使用 3D 模型中的网格将所需元素添加到 3D 场景:

image_Q3i1WiAkP1.png?auto=compress%2Cformat&w=740&h=555&fit=max

从前面的步骤配置相关行为并将其分配给您的 3D 元素。行为可以启用Status 、Alerts或Widgets功能,如下所示:

image_eSsLuNE55p.png?auto=compress%2Cformat&w=740&h=555&fit=max

第 5 步 - 使用 Python 模拟器生成模拟遥测数据

提供的 Python 示例代码显示了如何与 IoT 中心建立连接并提交您的消息。您可以根据数据负载的具体情况对其进行增强;

对 Python 的 Azure IoT 设备 SDK 存在依赖关系。您可以使用 pip 安装它,如下所示:

 

pip install azure-iot-device

 

在第 7 行中,将占位符替换为步骤 2.2 中的连接字符串。

image_0AwW8ffpm1.png?auto=compress%2Cformat&w=740&h=555&fit=max

第 6 步 - 使用 Seeed Studio 的 LoRaWAN 开发套件生成实时遥测数据

如果您使用的是 Seed Studio 的 LoRaWAN 开发套件,您可以按照Seeed Wiki中的此设备注册指南将您的套件注册到 Helium 平台。如果成功,您应该将其列在“设备”部分下:

image_UiSn6kNt63.png?auto=compress%2Cformat&w=740&h=555&fit=max

注意:请记下 Dev EUI、App EUI 和 App Key,因为稍后您将在下面的步骤 6.5 中重新使用它们;

接下来,按照Seeed Wiki 中的 IoT 中心注册指南来注册您的 Azure IoT 中心。您将在此处重新使用步骤 2.3 中的共享访问策略密钥:

image_WJqsQjsLSb.png?auto=compress%2Cformat&w=740&h=555&fit=max

Helium 平台收到的遥测数据需要在传输到 IoT 中心之前进行解码。创建新的“自定义”函数,如下所示。您可以调整提供的 Helium 函数(解码温度和湿度读数)以适应遥测的具体情况:

image_r6rMMc1QiZ.png?auto=compress%2Cformat&w=740&h=555&fit=max

接下来,使用 Flows 部分链接我们的 Device、Function 和 IoT Hub 节点,如下所示:

image_Yd2ptQe3FB.png?auto=compress%2Cformat&w=740&h=555&fit=max

提供的 Arduino 示例可以从 Grove SHT40 数字传感器发送温度和湿度遥测数据。不要忘记将第 12 行中的频段设置为特定于您所在地区的值。您还将重新使用先前步骤 6.1 中的 Dev EUI、App EUI 和 App Key:

image_YbyAvXJl1O.png?auto=compress%2Cformat&w=740&h=555&fit=max

如果设置正确,您应该能够在 Arduino IDE 的串行监视器中看到您的遥测值已成功提交到 LoRaWAN 网络:

image_TKr2IjaXEL.png?auto=compress%2Cformat&w=740&h=555&fit=max

Helium 控制台的调试模式可以帮助您验证解码的遥测值是否被重新路由到 Azure IoT 中心:

image_kiLONgxCFi.png?auto=compress%2Cformat&w=740&h=555&fit=max

Azure IoT Explorer 可用于实时监控摄取的设备遥测:

image_7FrSau8MZ6.png?auto=compress%2Cformat&w=740&h=555&fit=max

遥测值将在 Azure 数字孪生中更新:

image_c9Vt0vnSgy.png?auto=compress%2Cformat&w=740&h=555&fit=max

并且,最终反映在 ADT 的 3D 场景中:

image_EWqIlVMe3v.png?auto=compress%2Cformat&w=740&h=555&fit=max

有了这个,您可以验证物理设备与其 3D 数字孪生之间的端到端连接。

 

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !