赞
踩
可以使用pyenv新建一个python 3.6的虚拟环境。具体操作参考:使用pyenv和pyenv-virtualenv管理python 版本
先激活虚拟环境,然后安装aliyun-iot-linkkit
pip install aliyun-iot-linkkit
如果需要离线手动安装,可参考阿里云官方帮助页面
通过此链接下载Demo文件:获取exmaple示例代码
解压后得到如下文件:
dynamic_register.py
: 一型一密设备动态注册例程mqtt_connect_TCP.py
: 通过TCP方式建立MQTT连接mqtt_connect_TLS.py
: 通过TLS加密方式建立MQTT连接mqtt_sub_pub_on.py
: 展示mqtt订阅,发布,接收消息thing_alink.py
: 通过透传协议,展示物模型能力,进行属性上报,属性设置,事件上报,服务响应tsl.json
: thing_alink.py使用的物模型文件,需要替换为你自己产品的thing_custom.py
: 通过用户自定义协议进行展示属性设置及属性上报model_raw.json
: thing_custom.py 使用的物模型文件data_transfer.js
: thing_custom.py 对应云端的数据解析脚本下文使用tsl.json
和 thing_alink.py
进行演示。注意tsl.json
需要替换为你自己产品的物模型文件。
具体可参考Python Link SDK 快速入门,但是不要看这里的代码,这里的代码只涉及自定义消息发布,属性上报是跑不通的,不要问我为什么知道。
到物联网平台-公共实例,点击右侧对应产品名称的查看
,然后点击功能定义
标签,点击物模型TSL
然后在弹窗中点击导出模型文件
,保存文件,解压后更名为tsl.json
,与thing_alink.py
放在同一个文件夹中。
说明
- tsl.json默认为utf-8格式,如有修改请确保在保存时格式为utf-8。
- 该设置需要在连接云端之前调用。
在thing_alink.py
中,替换你自己设备的三元组。
def __init__(self):
self.__linkkit = linkkit.LinkKit(
host_name="cn-shanghai",
product_key="a18wP******",
device_name="LightSwitch",
device_secret="uwMTmVAMnGGHaAkqmeDY6cHxxB******")
将在thing_alink.py
中产品的属性替换成你自己的。
注:对于布尔型属性,应该使用
"mypro":1
而不是"mypro":True
prop_data = {
"abs_speed": 11,
"power_stage": 10
}
self.__linkkit.thing_post_property(prop_data)
event_data = {
"power": 10,
"power_style": 1
}
self.__linkkit.thing_trigger_event(("power_state", event_data))
在在thing_alink.py
中添加:
def conn(self):
self.__linkkit.connect_async()
def post_event(self):
time.sleep(3)
event_data = {
"power": 10,
"power_style": 1
}
self.__linkkit.thing_trigger_event(("power_state", event_data))
def post_prop(self):
prop_data = {
"abs_speed": 11,
"power_stage": 10
}
self.__linkkit.thing_post_property(prop_data)
新建一个py文件调用:
import thing_alink
def main():
custom_thing = thing_alink.CustomerThing()
custom_thing.conn()
#上报属性
custom_thing.post_prop()
#上报事件
custom_thing.post_event()
if __name__ == '__main__':
main()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。