简介

您的任务

在此场景中,您将担任全栈开发人员,负责实现会议室恒温器功能的自动化,从而节约能源。接下来,您将了解如何改进前一个模块中介绍的简单的根据声音阈值来确定会议室是否有人的机制。您可以借助一个简单的机器学习模型来找出比静态数值阈值更加智能的分类方式,从而根据过去的会议室占用数据来减少抖动或误报。

如今,借助现代数据科学工具链训练机器学习模型比较容易。但是,要训练 的模型却很难,这需要专业知识、对输入的全面了解以及很多次的迭代优化。今天,您将通过练习使用 Amazon SageMaker 工具链来了解如何使用 IoT 数据来训练模型,但我们无法保证第一次尝试就能得到 的模型。

请注意,完成本模块大约需要两天时间。虽然过程中只包含一小时的动手实践操作,但是有两个步骤不需要手动完成。第一个步骤是在您想要分析的会议室部署智能恒温器设备,收集要存储的遥测数据,用于机器学习训练。您需要部署设备并收集至少几个小时(最好 24 个小时)的数据,但收集的数据越多,机器学习模型的准确度就越高。第二个步骤是收集到足够的数据后,机器学习模型将会自动完成训练流程。训练流程可能需要几个小时才能完成,我们建议您从早上开始,下午完成,或者通宵运行。

解决问题

上一个模块中生成的解决方案使用传入声音强度的静态数值阈值来得出一个名为 roomOccupancy 的新键值。要训练简单的机器学习模型来执行类似功能,您需要使用现有数据作为训练的基准。这意味着,您需要在会议室中运行现有解决方案几个小时,并且会议室的状态应该包括有人状态和无人状态。您将使用设备遥测的聚合数据集来为自动机器学习训练实验提供支持,然后通过该实验根据经过训练的机器学习模型推断出的新 roomOccupancy 值,从而对新设备上报进行分类。再次强调,第一个训练模型可能不是那么准确,但该解决方案的目的是让您能够在存储 IoT 数据以及练习训练和使用新机器学习模型的过程中,积累动手实践经验。

解决方案架构

Smart Spaces architecture

在本模块中完成的工作流程包括以下主要组成部分:

  1. 新的 IoT Core 规则将设备影子更新转发到 AWS IoT Analytics 服务。IoT Analytics 服务用于批量存储原始 IoT 数据、执行转换和清理操作,以便将原始数据转换为经过处理的数据,还提供查询引擎,对经过处理的数据进行切片,用于分析工作流程或机器学习训练。
  2. IoT Analytics 项目将包含四种相关联的资源:用于存储来自设备影子的原始 IoT 数据的 channel(通道)、用于数据转换/筛选/丰富的 pipeline(管道)、用于存储经过处理的数据的 data store(数据存储),以及运行保存的查询并且可以发送结果进行处理的 data set(数据集)。
  3. Amazon SageMaker Studio 是一种集成机器学习环境,让您可以在同一个应用程序中构建、训练、部署和分析您的模型。
  4. Amazon SageMaker 终端节点用于托管经过训练的模型,将其当作可使用的 API。
  5. AWS Lambda 函数将运行一些简单的代码来处理恒温器发布的消息并根据新的机器学习模型终端节点进行推理。

让我们继续!

准备好开始构建了吗?下面来看看您是否具备以下几种先决条件:

  1. 您是否已经完成了本套教程中的上一个模块: 智能恒温器
  2. 您是否确认过使用测试客户端(比如 AWS IoT Core 控制台中的测试客户端)可以看到来自智能恒温器的消息? 您应该能够订阅主题 $aws/things/<<CLIENT_ID>>/shadow/update/accepted(将 «CLIENT_ID» 替换为设备的客户端 Id/序列号)并在测试客户端中查看到接收的消息。

如果您符合上述条件,就可以继续学习下一章节 数据路由和存储


Questions? Please use AWS re:Post

AWS IoT Kit now features direct access to AWS re:Post , which is a community-driven, questions-and-answers service. Search re:Post using the AWS IoT Kit tag to see if your question has been asked and answered. If not, ask a new question using the AWS IoT Kit tag.