国外物联网平台(1):亚马逊AWS IoT

发布于 2018-11-13 | 作者: ibrahim | 来源: 博客园 | 转载于: 博客园

平台定位

架构

与AWS IoT平台集成的AWS服务

设备SDK

设备网关

认证和授权

注册表

以JSON格式存储的设备注册表信息

设备影子(Shadow)

设备影子(Shadow)流程

设备影子(Shadow)格式

设备影子(Shadow)服务

设备影子服务使用MQTT话题,便于应用和设备之间的通信,下面是相关的MQTT QoS 1话题:

$aws/things/{thingName}/shadow/update

$aws/things/{thingName}/shadow/get

$aws/things/{thingName}/shadow/delete

$aws/things/{thingName}/shadow/update/accepted

$aws/things/{thingName}/shadow/update/rejected

$aws/things/{thingName}/shadow/update/delta

$aws/things/{thingName}/shadow/get/accepted

$aws/things/{thingName}/shadow/get/rejected

$aws/things/{thingName}/shadow/delete/accepted

$aws/things/{thingName}/shadow/delete/rejected

设备SDK(C-SDK、JS-SDK)将影子功能内置在设备中,能够使设备与影子服务之间自动同步状态。

规则引擎

规则引擎集成其它云服务

规则引擎验证发布至AWS IoT的消息请求,基于业务规则转换消息请求并发布至其它服务,例如:

规则引擎&实时流式数据处理

N:1 入站的传感器流式数据(数据降噪)

规则引擎过滤、转换、汇总传感器数据后,发送至亚马逊Kinesis处理实时流式数据

Kinesis流式数据共享至其它业务系统

将流式数据的实时处理结果导入至数据库、应用或其它亚马逊服务

规则引擎&推送通知服务

推送通知

支持苹果APNS推送通知服务、谷歌GCM云消息服务、亚马逊ADM设备消息服务,微软WNS推送服务

亚马逊SNS推送通知服务->HTTP协议终端(短信、邮件)

通过亚马逊SNS推送通知服务,调用第三方HTTP协议终端,支持订阅和重试

规则引擎示例 – 使用机器学习预测函数

{ "sql":

    "SELECT *

    FROM 'iot/test'

    where

        machinelearning_predict('my-model', 'arn:aws:iam::123456789012:role/my-iot-aml-role', *).predictedLabel=1",

    "ruleDisabled": false,

    "awsIotSqlVersion": "2016-03-23-beta",

    "actions":

        [{ "republish":

            { "roleArn": "arn:aws:iam::123456789012:role/my-iot-role",                 "topic": "my-mqtt-topic" }

        }]

}

上面是使用亚马逊机器学习预测函数machinelearning_predict 的规则示例,其含义是:

如果机器学习预测函数处理MQTT消息后的结果是分类1,那么重新将此消息发布至一个话题。

设备管理

S3管理固件分发版本

在S3中组织和保障和固件二进制文件

消息代理使用话题模式通知设备分组

通知设备分组固件更新信息,包括S3中的固件二进制文件URL地址

AWS IoT平台接口

AWS IoT监控工具

自动化监控工具

手工监控工具

AWS IoT 初学者工具包

AWS IoT 初学者工具包 - 支持的平台

AWS IoT生态

开发示例 - AWS IoT 按钮

创建设备

设备属性

创建证书

激活证书

创建策略

绑定证书与策略

绑定证书与设备

配置设备

使用MQTT客户端订阅设备消息

使用MQTT客户端查看设备消息

创建短信推送话题并订阅此话题

创建规则

创建规则的行为

测试订阅是否成功