不具备IP地址的设备可以挂载在网关上,作为网关的子设备,通过网关直连的方式接入物联网平台,实现与物联网平台通信。本文介绍配置Python Link SDK,使没有IP能力的设备通过网关接入物联网平台。
前提条件
背景信息
版本要求
Aliyun IoT Python SDK 1.2.4及以上版本。
API说明
网关添加子设备拓扑关系及其响应回调。
#网关批量添加子设备拓扑,返回请求的request_id def gateway_add_subdev_topo(self, subdevList) #监听回调,用户需将其中的request_id与gateway_add_subdev_topo返回的request_id匹配 def on_gateway_add_subdev_topo_reply(self, request_id, code, data, msg, user_data)
子设备登录及其响应回调。
#网关批量对子设备进行登录 def gateway_login_subdev(self, subdevList) #监听回调,用户需将其中的request_id与gateway_login_subdev返回的request_id匹配 def on_gateway_login_subdev_reply(self, request_id, code, data, msg, user_data)
网关删除子设备拓扑关系及其响应回调。
#网关批量删除子设备拓扑 def gateway_delete_subdev_topo(self, subdevList) #监听回调,用户需将其中的request_id与gateway_delete_subdev_topo返回的request_id匹配 def on_gateway_delete_subdev_topo_reply(self, request_id, code, data, msg, user_data)
子设备退出登录及其响应回调。
#网关批量对子设备进行退出登录 def gateway_logout_subdev(self, subdevList) #监听回调,用户需将其中的request_id与gateway_logout_subdev返回的request_id匹配 def on_gateway_logout_subdev_reply(self, request_id, code, data, msg, user_data)
子设备动态注册及其响应回调。
#网关批量对子设备进行动态注册(需要productSecret) def gateway_product_register_subdev(self, subdevList) #监听带产品的动态注册结果的回调,用户需将其中的request_id与gateway_batch_product_register返回的request_id匹配 def on_gateway_product_register_subdev_reply(self, request_id, code, data, msg, user_data)
子设备拓扑关系变化通知。
#监听topo关系变化的回调 def on_gateway_topo_change(self, request_id, params, userdata)
Demo说明
网关上线后,需要先添加子设备的拓扑关系并进行子设备登录操作,子设备才能收发消息。在Demo的gateway_demo.py
文件中(在 环境要求与配置中可以下载Demo),需进行的操作步骤如下:
在
demo_get_subdev_list
函数中,通过数组方式,添加子设备的设备证书(ProductKey、DeviceName、DeviceSecret)。在网关设备连接物联网云平台成功的
on_connect
回调中执行self.__linkkit.gateway_add_subdev_topo
,对子设备添加拓扑关系。拓扑关系添加成功后,进入
on_gateway_add_subdev_topo_reply
回调,在这个回调中进行子设备登录操作self.__linkkit.gateway_login_subdev
。子设备登录成功后,进入
on_gateway_login_subdev_reply
回调,即可以进行单个子设备的收发消息的操作。
文档内容是否对您有帮助?