发布于: Oct 14, 2022

打造 IoT 物联网管理平台是物联网设备维护的关键,物联网的一个典型应用场景是能够从传感器数据中获取上下文洞察力,例如分析设备异常或者进行预测性维护,及时给予用户通知。在本文中,我们将专注于通过设备多项指标对设备进行预测性维护,利用机器学习算法,对设备运行状态进行预测,提前发现可能出现的异常,及时进行维护,避免出现严重的生产事故。

本文使用机器学习方法进行预测性维护,采用风力发电机模拟数据为示例数据集,利用 Amazon SageMaker 进行模型训练,并且部署推理端点。边缘侧设备将数据发布到 Amazon IoT Core,使用 IoT 规则触发 Lambda 函数调用部署在 Sagemaker 上面的预测性维护端点的 API,判断设备是否将出现异常,如出现异常,通过更新 Amazon IoT Shadow 从而自动关闭设备并发送通知。

我们使用的算法称为 XGBoost (eXtreme Gradient Boosting),它是一种监督式学习算法, 尝试将一组较简单且较弱模型的一系列估计值结合在一起,从而准确地预测目标变量,可以用来处理回归、分类(二进制和多类)和排名问题。利用 XGBoost 预测设备是否会损坏,进行提前预测性维护。

本文中的演示使用风力发电机模拟数据,数据字段包括:

风速:wind_speed

叶片转速:RPM_blade

油温:oil_temperature

油位:oil_level

温度:temperature

湿度:humidity

振动频率vibrations_frequency

压力:pressure

风向:wind_direction

是否损坏:breakdown

您可以使用此解决方案自动检测潜在的设备故障,并提供建议采取的措施。 该解决方案易于部署,并包含示例数据集,您也可以修改该解决方案并使用其他数据集,从而构建您自己的IoT预测性维护方案。

下图显示了本方案采用的架构

  1. 用于预测性维护的模型利用了存储在 S3 上的设备历史数据在 Amazon SageMaker 上进行训练。
  2. 训练好的模型利用 SageMaker 部署并暴露 Endpoints 提供预测服务。
  3. 数据从传感器发送到 IoT Core,通过 IoT Rules Engine 路由到 Lambda 函数。 Lambda 函数通过 Sagemaker Endpoints 调用预测性维护的机器学习模型。当检测到异常,Lambda 函数将发送通知,并通过 IoT Shadow 对设备进行相应操作。

在本文中,我们将引导您完成以下操作:

  1. 设置连接的设备与 IoT Core 进行通信
  2. 训练和部署 SageMaker 模型
  3. 创建云资源以监视和检测可能出现行为异常的设备
  4. 利用模拟设备进行预测性维护测试并发送通知

本文采用 Cloud9 作为 IoT 设备的模拟,从 Cloud9 上面发出模拟 IoT 消息。

在 EC2 控制台,启动一台 EC2 实例,搜索 Marketplace 上的 Cloud9。

  1. 打开 IoT 控制台
  2. 选择 Secure(安全)-> Policies (策略)。在 You don’t have a policy yet 页面上,选择 Create a policy。如果您的账户之前已经创建过策略,请选择 Create.

3.创建策略页面

1.在 Name (名称) 中,输入策略的名称 Windturbine_Policy

2.在 Action(操作) 字段中,输入

iot:Connect,iot:Receive,iot:Publish,iot:Subscribe。这些是设备在从设备开发工具包运行示例程序时需要执行的权限。有关 IoT 策略的更多信息,请参阅 IoT Core 策略

3.在 Resource ARN(资源 ARN) 字段中,输入 *。 这会选择任何客户端(设备)。

4.选中 Allow 复选框

5.在输入策略的信息后,选择 Create

  1. 打开 IoT 控制台
  2. 选择 管理 -> 物品 (Things)
    在 You don’t have any things yet(您还没有任何事物) 上,选择 Register a thing(注册事物)。如果您的账户已经创建过一些事物,请选择 Create.
     

3. 在创建 IoT 物品上,选择创建单个物品

4. Name(名称)字段中,输入物品的名称 windturbine。将此页面上的其余字段留空。选择 Next (下一步).

5. 在 Add a certificate for your thing (添加事物的证书) 上,选择 Create certificate

6. 在 Certificate created! (证书已创建!) 页面上下载每个证书和密钥文件并将它们保存以供将来使用
 

证书文件

文件路径

私有密钥

private.pem.key

Public key

(不在这些示例中使用)

设备证书

device.pem.crt

根 CA 证书

AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem

7. 点击 Activate 激活证书

8. 选择 Attach a policy,用于将您在上一部分中创建的策略附加到此证书

9. 在 Add a policy for your thing (添加物品的策略) 上,选择您在上一部分中创建的策略 Windturbine_Policy。

10. 选择 Register Thing

 

相关文章