不具备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回调,即可以进行单个子设备的收发消息的操作。
该文章对您有帮助吗?