不具備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
回調,即可以進行單個子設備的收發消息的操作。
文檔內容是否對您有幫助?