发布于: Oct 14, 2022
本文使用机器学习方法进行预测性维护,采用风力发电机模拟数据为示例数据集,利用 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预测性维护方案。
下图显示了本方案采用的架构
- 用于预测性维护的模型利用了存储在 S3 上的设备历史数据在 Amazon SageMaker 上进行训练。
- 训练好的模型利用 SageMaker 部署并暴露 Endpoints 提供预测服务。
- 数据从传感器发送到 IoT Core,通过 IoT Rules Engine 路由到 Lambda 函数。 Lambda 函数通过 Sagemaker Endpoints 调用预测性维护的机器学习模型。当检测到异常,Lambda 函数将发送通知,并通过 IoT Shadow 对设备进行相应操作。
在本文中,我们将引导您完成以下操作:
- 设置连接的设备与 IoT Core 进行通信
- 训练和部署 SageMaker 模型
- 创建云资源以监视和检测可能出现行为异常的设备
- 利用模拟设备进行预测性维护测试并发送通知
本文采用 Cloud9 作为 IoT 设备的模拟,从 Cloud9 上面发出模拟 IoT 消息。
在 EC2 控制台,启动一台 EC2 实例,搜索 Marketplace 上的 Cloud9。
- 打开 IoT 控制台
- 选择 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
- 打开 IoT 控制台
- 选择 管理 -> 物品 (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
相关文章