Link Kit SDK是阿里云物联网平台提供的设备端软件开发工具包,可简化开发过程,实现无硬件接入阿里云物联网平台。
## 环境搭建 1. 系统需要搭载python版本3.3及以上版本。 [python官网下载](https://www.python.org/) 2. 打开windows命令行,创建python虚拟环境。 ``` mkdir env_demo cd env_demo python -m venv test_env ``` 3. 这时在刚刚创建的文档env_demo会有虚拟环境配置文件test_env,进一步激活 python虚拟环境。 ``` test_env\Scripts\activate.bat ``` 此时命令行会进入python虚拟环境(前面会有虚拟环境名称作为前缀)。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/15ae5e27481744e8bbb5db8e9b6a3be3.png)
- 用pip在虚拟环境下安装所需要的库
paho-mqqt
和aliyun-iot-linkkit
。pip install paho-mqtt==1.4.0 pip install aliyun-iot-linkkit
创建并运行
- 在虚拟环文件下创建一个py文件。
- 打开创建的py文件,并将代码拷入。
import sys from linkkit import linkkit import logging # config log __log_format = '%(asctime)s-%(process)d-%(thread)d - %(name)s:%(module)s:%(funcName)s - %(levelname)s - %(message)s' logging.basicConfig(format=__log_format) lk = linkkit.LinkKit( host_name="cn-shanghai", product_key="product_key", device_name="device_name", device_secret="device_secret", product_secret="product_secret") lk.enable_logger(logging.DEBUG) def on_device_dynamic_register(rc, value, userdata): if rc == 0: print("dynamic register device success, rc:%d, value:%s" % (rc, value)) else: print("dynamic register device fail,rc:%d, value:%s" % (rc, value)) def on_connect(session_flag, rc, userdata): print("on_connect:%d,rc:%d,userdata:" % (session_flag, rc)) pass def on_disconnect(rc, userdata): print("on_disconnect:rc:%d,userdata:" % rc) def on_topic_message(topic, payload, qos, userdata): print("on_topic_message:" + topic + " payload:" + str(payload) + " qos:" + str(qos)) pass def on_subscribe_topic(mid, granted_qos, userdata): print("on_subscribe_topic mid:%d, granted_qos:%s" % (mid, str(','.join('%s' % it for it in granted_qos)))) pass def on_unsubscribe_topic(mid, userdata): print("on_unsubscribe_topic mid:%d" % mid) pass def on_publish_topic(mid, userdata): print("on_publish_topic mid:%d" % mid) lk.on_device_dynamic_register = on_device_dynamic_register lk.on_connect = on_connect lk.on_disconnect = on_disconnect lk.on_topic_message = on_topic_message lk.on_subscribe_topic = on_subscribe_topic lk.on_unsubscribe_topic = on_unsubscribe_topic lk.on_publish_topic = on_publish_topic lk.connect_async() while True: try: msg = input() except KeyboardInterrupt: sys.exit() else: if msg == "1": lk.disconnect() elif msg == "2": lk.connect_async() else: sys.exit()
- 更换代码中三元组的信息至你的产品信息。
- 已经开启的虚拟环境的命令行中,运行此程序。
成功连接上设备,阿里云产品显示在线。python example.py