使用python连接阿里云iot平台时遇到的问题及解决方法(on_connect打印的rc值为9,上传物模型值)
阅读原文时间:2023年08月09日阅读:2

使用python连接阿里云iot平台时遇到的问题及解决方法

                                                           on_connect打印的rc值为9,上传物模型值

目的:在Windows端PYCharm软件上连接阿里云iot平台以获得、上报数据。

情况:

  在使用网上相关资料后使用其代码,运行后出现错误:

  经分析,情况为:lk.connect_async()初始化调用on_connect回调函数后rc返回值为9,报错提示为:linkkit.linkkit.LinkKit.StateError: not in CONNECTED state

  解决方法:将python解释器版本设置为3.6。

心路历程:

  报错后在网上搜索,但未搜索到出现相关问题的帖子。

  在Python paho-mqtt 模块使用(转) - 乖乖楠 - 博客园 (cnblogs.com)这个帖子上找到rc值的含义,但6-255为未经授权。也就是说rc值为9在网上找不到其含义。

  心灰意冷下查阅官方文档环境要求与配置 (aliyun.com)中发现了这么一段话

  抱着试一试的心态下载了python3.6,并将PYCharm的python解释器版本设置为3.6,没想到问题竟然解决了。

  感慨:实在解决不了的问题还是查看官方文档吧~

目的:将值上报到阿里云设备的物模型量中。

在网上查阅资料后参考了这篇博客的操作基于阿里云物联网平台--使用Python模拟设备上报参数_大王大大王的博客-CSDN博客

  部分操作:1.物模型需要使用完整物模型(在产品-功能定义-查看物模型-导出完整物模型)

      2.将模型文件放入工作路径中

        3.在配置三元组的代码下面添加 lk.thing_setup('wumoxin.json')  #注意路径

        4.编辑物模型数据,例如:

        5.使用lk.thing_post_property(event_data)函数上报数据

      6.如果正确的话可以在日志服务中看到

          7.物模型数据上传成功