云端消息下发
- 该模块采用监听者设计模式, 该模块继承CloudObserver
- 相对云端接口, 该模块为监听者, 接收云端下发的消息
- 相对业务处理模块, 该模块为被监听者, 当收到云端下发的消息后, 通知业务模块
1.导入初始化
示例:
from remote import RemoteSubscribe
remote_sub = RemoteSubscribe()
2.add_executor 添加业务处理模块对象
业务处理模块需包含一下几个方法, 作为监听者接收消息函数, 当不包含这些方法时, 则不会将云端下发的对应功能的消息通知到业务模块。
- event_option 透传模式数据接收
- event_done 物模型设置数据接收
- event_query 物模型查询数据接收
- event_ota_plain OTA升级计划数据接收
- event_ota_file_download OTA文件分片下载数据接收
- rrpc_request RRPC请求消息数据接收
示例:
class CloudExecutor(object):
pass
cloud_executor = CloudExecutor()
res = remote_sub.add_executor(cloud_executor)
- 参数:
参数 | 类型 | 说明 |
---|---|---|
executor | OBJECT | 业务处理模块对象 |
- 返回值:
数据类型 | 说明 |
---|---|
BOOL | True成功, False失败 |
3.execute 添加业务处理模块对象
- 示例:
from aliyunIot import AliYunIot
ali = AliYunIot(pk, ps, dk, ds, server, client_id)
ali.addObserver(remote_sub)
# 阿里云模块接收到服务端下发消息后整合之后调用该模块的execute接口将消息通知给该模块
remote_sub.execute(ali, *args, **kwargs)
- 参数:
参数 | 类型 | 说明 |
---|---|---|
observable | OBJECT | 被监听者实例对象 |
args | TUPLE | 元组数据, 元素1即observable |
kwargs | DICT | 字典数据 |
- 返回值:
无