AWS IoT物联网平台为不同场景的硬件提供了多种通信模式,例如设备到云,云到设备,设备到设备之间的通信。尽管不同业务场景设备和交互行为差异很大,但是大多数底层数据流通信模型都可以归类为三种MQTT模式:点对点模式,广播模式和扇入模式。
点对点模式
点对点通信模式是设备在MQTT中基本的消息发送和消息接收模式。
M2M通信使用单个MQTT的Topic作为通信的业务类型标识。接收事件的设备订阅此业务的MQTT的Topic。发送消息的设备发布消息到此业务的MQTT的Topic。这种方法在智能家居方案中很常见。
如下图示例:
点对点还用于一对多业务通信中,其中业务系统使用不同的MQTT的Topic发布消息到各个设备,每个设备订阅的Topic和接收到的Payload也各不相同。在以下示例中,设备维修服务使用一组点对点通信以编程方式遍历设备列表并发布消息。
广播模式
广播模式用于一对多消息传递,将相同的消息发送给海量目标设备。在广播中,多个目标设备订阅了相同的MQTT的Topic,发送方将消息发布到此业务Topic。广播模式的典型用法是根据设备的类型,分组,地域等向筛选出的一批设备发送通知。例如,气象站基于设备的当前地理位置发送广播消息。
如下图示例,业务系统用广播模式发送天气消息给该城市所有公共汽车的车机设备。车机系统根据公共汽车的当前位置,决定忽略或响应该消息。
扇入模式
扇入模式是多对一通信模式,多个设备向同一业务类型的Topic发布消息,订阅者采用通配符的模式订阅该业务的Topic,业务系统会接收并处理海量消息。扇入模式通常用于将海量设备的遥测数据汇集到云上业务系统。
如下图示例,每个终端都发布到包含已知标识符(building1234)和设备ID(5678)的MQTT业务Topic。业务系统使用 AWS IoT 规则引擎服务的Topic通配符(+)来订阅建筑物标识符(building1234)的全部消息,并将其路由到 Amazon Kinesis服务。
在AWS IoT物联网平台上,组合使用以上三种模式,即可轻松搞定物联网场景消息通信需求。