BatchPutMessage 暖通空调系统的示例 Amazon IoT Events - Amazon IoT Events
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

终止支持通知:2026 年 5 月 20 日 Amazon 终止对的支持。 Amazon IoT Events 2026 年 5 月 20 日之后,您将无法再访问 Amazon IoT Events 控制台或 Amazon IoT Events 资源。如需了解更多信息,请访问此支持Amazon IoT Events 终端

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

BatchPutMessage 暖通空调系统的示例 Amazon IoT Events

在本示例中,BatchPutMessage 用于为某个区域创建探测器实例并定义初始操作参数。

使用的 CLI 命令:

aws iotevents-data batch-put-message --cli-input-json file://seedExample.json --cli-binary-format raw-in-base64-out

文件:seedExample.json

{ "messages": [ { "messageId": "00001", "inputName": "seedTemperatureInput", "payload": "{\"areaId\": \"Area51\", \"desiredTemperature\": 20.0, \"allowedError\": 0.7, \"rangeHigh\": 30.0, \"rangeLow\": 15.0, \"anomalousHigh\": 60.0, \"anomalousLow\": 0.0, \"sensorCount\": 10, \"noDelay\": false}" } ] }

响应:

{ "BatchPutMessageErrorEntries": [] }

在本示例中,BatchPutMessage 用于报告某个区域中单个传感器的温度传感器读数。

使用的 CLI 命令:

aws iotevents-data batch-put-message --cli-input-json file://temperatureExample.json --cli-binary-format raw-in-base64-out

文件:temperatureExample.json

{ "messages": [ { "messageId": "00005", "inputName": "temperatureInput", "payload": "{\"sensorId\": \"05\", \"areaId\": \"Area51\", \"sensorData\": {\"temperature\": 23.12} }" } ] }

响应:

{ "BatchPutMessageErrorEntries": [] }

在本例中,BatchPutMessage 用于更改某个区域的所需温度。

使用的 CLI 命令:

aws iotevents-data batch-put-message --cli-input-json file://seedSetDesiredTemp.json --cli-binary-format raw-in-base64-out

文件:seedSetDesiredTemp.json

{ "messages": [ { "messageId": "00001", "inputName": "seedTemperatureInput", "payload": "{\"areaId\": \"Area51\", \"desiredTemperature\": 23.0}" } ] }

响应:

{ "BatchPutMessageErrorEntries": [] }

Area51 探测器实例生成的 Amazon SNS 消息示例:

Heating system off command> { "eventTime":1557520274729, "payload":{ "actionExecutionId":"f3159081-bac3-38a4-96f7-74af0940d0a4", "detector":{ "detectorModelName":"areaDetectorModel", "keyValue":"Area51", "detectorModelVersion":"1" }, "eventTriggerDetails":{ "inputName":"seedTemperatureInput", "messageId":"00001", "triggerType":"Message" }, "state":{ "stateName":"start", "variables":{ "sensorCount":10, "rangeHigh":30.0, "resetMe":false, "enteringNewState":true, "averageTemperature":20.0, "rangeLow":15.0, "noDelay":false, "allowedError":0.7, "desiredTemperature":20.0, "anomalousHigh":60.0, "reportedTemperature":0.1, "anomalousLow":0.0, "sensorId":0 }, "timers":{} } }, "eventName":"resetHeatCool" }
Cooling system off command> { "eventTime":1557520274729, "payload":{ "actionExecutionId":"98f6a1b5-8f40-3cdb-9256-93afd4d66192", "detector":{ "detectorModelName":"areaDetectorModel", "keyValue":"Area51", "detectorModelVersion":"1" }, "eventTriggerDetails":{ "inputName":"seedTemperatureInput", "messageId":"00001", "triggerType":"Message" }, "state":{ "stateName":"start", "variables":{ "sensorCount":10, "rangeHigh":30.0, "resetMe":false, "enteringNewState":true, "averageTemperature":20.0, "rangeLow":15.0, "noDelay":false, "allowedError":0.7, "desiredTemperature":20.0, "anomalousHigh":60.0, "reportedTemperature":0.1, "anomalousLow":0.0, "sensorId":0 }, "timers":{} } }, "eventName":"resetHeatCool" }

在此示例中,我们使用 DescribeDetector API 来获取有关探测器实例当前状态的信息。

aws iotevents-data describe-detector --detector-model-name areaDetectorModel --key-value Area51

响应:

{ "detector": { "lastUpdateTime": 1557521572.216, "creationTime": 1557520274.405, "state": { "variables": [ { "name": "resetMe", "value": "false" }, { "name": "rangeLow", "value": "15.0" }, { "name": "noDelay", "value": "false" }, { "name": "desiredTemperature", "value": "20.0" }, { "name": "anomalousLow", "value": "0.0" }, { "name": "sensorId", "value": "\"01\"" }, { "name": "sensorCount", "value": "10" }, { "name": "rangeHigh", "value": "30.0" }, { "name": "enteringNewState", "value": "false" }, { "name": "averageTemperature", "value": "19.572" }, { "name": "allowedError", "value": "0.7" }, { "name": "anomalousHigh", "value": "60.0" }, { "name": "reportedTemperature", "value": "15.72" }, { "name": "goodToGo", "value": "false" } ], "stateName": "idle", "timers": [ { "timestamp": 1557520454.0, "name": "idleTimer" } ] }, "keyValue": "Area51", "detectorModelName": "areaDetectorModel", "detectorModelVersion": "1" } }