云端消息下发

  • 该模块采用监听者设计模式, 该模块继承CloudObserver
    • 相对云端接口, 该模块为监听者, 接收云端下发的消息
    • 相对业务处理模块, 该模块为被监听者, 当收到云端下发的消息后, 通知业务模块

1.导入初始化

示例:

  1. from remote import RemoteSubscribe
  2. remote_sub = RemoteSubscribe()

2.add_executor 添加业务处理模块对象

  • 业务处理模块需包含一下几个方法, 作为监听者接收消息函数, 当不包含这些方法时, 则不会将云端下发的对应功能的消息通知到业务模块。

    • event_option 透传模式数据接收
    • event_done 物模型设置数据接收
    • event_query 物模型查询数据接收
    • event_ota_plain OTA升级计划数据接收
    • event_ota_file_download OTA文件分片下载数据接收
    • rrpc_request RRPC请求消息数据接收
  • 示例:

  1. class CloudExecutor(object):
  2. pass
  3. cloud_executor = CloudExecutor()
  4. res = remote_sub.add_executor(cloud_executor)
  • 参数:
参数 类型 说明
executor OBJECT 业务处理模块对象
  • 返回值:
数据类型 说明
BOOL True成功, False失败

3.execute 添加业务处理模块对象

  • 示例:
  1. from aliyunIot import AliYunIot
  2. ali = AliYunIot(pk, ps, dk, ds, server, client_id)
  3. ali.addObserver(remote_sub)
  4. # 阿里云模块接收到服务端下发消息后整合之后调用该模块的execute接口将消息通知给该模块
  5. remote_sub.execute(ali, *args, **kwargs)
  • 参数:
参数 类型 说明
observable OBJECT 被监听者实例对象
args TUPLE 元组数据, 元素1即observable
kwargs DICT 字典数据
  • 返回值: