1. 配置开发环境

1.1 安装python3.6或以上版本

可以使用pyenv新建一个python 3.6的虚拟环境。具体操作参考:使用pyenv和pyenv-virtualenv管理python 版本

1.2 环境配置

先激活虚拟环境,然后安装aliyun-iot-linkkit

pip install aliyun-iot-linkkit

如果需要离线手动安装,可参考阿里云官方帮助页面

1.3 Demo下载

通过此链接下载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.jsonthing_alink.py进行演示。注意tsl.json需要替换为你自己产品的物模型文件。

2. 物模型开发

2.1 新建公共实例产品并添加设备

具体可参考Python Link SDK 快速入门,但是不要看这里的代码,这里的代码只涉及自定义消息发布,属性上报是跑不通的,不要问我为什么知道。

2.2 下载物模型文件

到物联网平台-公共实例,点击右侧对应产品名称的查看,然后点击功能定义标签,点击物模型TSL

然后在弹窗中点击导出模型文件,保存文件,解压后更名为tsl.json,与thing_alink.py放在同一个文件夹中。

说明

  • tsl.json默认为utf-8格式,如有修改请确保在保存时格式为utf-8。
  • 该设置需要在连接云端之前调用。

2.3 修改代码

替换三元组

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))

3. 其他py文件调用

在在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_alinkdef main():custom_thing = thing_alink.CustomerThing()custom_thing.conn()#上报属性custom_thing.post_prop()#上报事件custom_thing.post_event()if __name__ == '__main__':main()

使用Python Link SDK接入阿里云物联网平台相关推荐

  1. 物联网学习篇:Python SDK接入阿里云物联网平台,接收服务端订阅消息

    1. 下载SDK SDK下载链接 下载之后,可见得到了一个 qpid-proton-0.29.0.tar.gz 的压缩包. 有两个方法: 1. 直接运用SCP软件拖进服务器中: 2. 直接用wget下 ...

  2. Python模拟智能开关设备MQTT接入阿里云物联网平台 - PyCharm paho.mqtt

    概要 Python 使用 paho.mqtt 库,利用阿里云物联网平台的设备证书:productKey.deviceName.deviceSecret,自动合成 userName.passWord.以 ...

  3. 【阿里云生活物联网架构师专题 ②】esp8266 sdk 直连接入阿里云物联网平台,实现天猫精灵找队友零配网功能和语音控制;

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.esp32接入阿里云物联网平台,实现天猫精灵语音控制: 2.es ...

  4. 【阿里云生活物联网架构师专题 ①】esp32 sdk 直连接入阿里云物联网平台,实现天猫精灵语音控制;

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.esp32接入阿里云物联网平台,实现天猫精灵语音控制: 2.es ...

  5. 001-STM32+Air724UG(4G模组)基本控制篇(阿里云物联网平台)-使用MQTT接入阿里云物联网平台

    前言 这节测试下使用STM32+Air724UG 和 Android 和 微信小程序 和 网页端 接入阿里云物联网平台 当前的各种物联网平台整体思想是提供一个网页端让用户去注册设备 这个设备就对应一个 ...

  6. Esp8266 进阶之路29【高级篇】百万条消息免费之乐鑫esp8266使用TCP直连模式MQTT协议接入阿里云物联网平台,支持私家服务器对接,支持阿里云规则引擎。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  7. MQTT.fx客户端MQTT接入阿里云物联网平台,登录、订阅、发布消息

    目录 1. 准备 2. MQTT.fx 设置登录名.密码 3. MQTT.fx 接入阿里云,订阅Topic 4. 阿里云下发数据给 MQTT.fx 5. MQTT.fx 发布消息给服务器 相关链接:M ...

  8. 使用网络调试助手 MQTT接入阿里云物联网平台,逐字节讲解,适用单片机/ESP8266接入阿里云

    目录 1. CONNECT 连接服务器 2. CONNACK 确认连接 3. DISCONNECT 断开连接 4. PINGREQ 心跳请求 5. PINGRESP 心跳响应 6. SUBSCRIBE ...

  9. WIFI设备接入阿里云物联网平台

    WIFI设备接入阿里云物联网平台 WIFI设备接入阿里云物联网平台 准备工作 配置WIFI模块 调试 WIFI设备接入阿里云物联网平台 本文演示WIFI设备接入阿里云物联网平台,设备采用的时HC-25 ...

最新文章

  1. 【内核】linux内核启动流程详细分析【转】
  2. dyld: Library not loaded: @rpath/MySDK.framework/MySDK 错误解决
  3. android 处理双击事件
  4. c语言双链表是什么意思,双链表的表示和实现(C语言)
  5. Firefly支持AI引擎Tengine,性能提升,轻松搭建AI计算框架
  6. 产品架构开发方法(2011中国软件技术大会)
  7. P2444-[POI2000]病毒【AC自动机】
  8. android 页面转换
  9. mooc课程下载_如何使用十大商学院的免费课程制作MOOC“ MBA”
  10. mysql在线备份恢复--Xtrabackup
  11. 基于注解的组件扫描——Spring IOC/DI(五)
  12. 批量查找修改替换多个 Word 文件中的关键字,也支持修改替换 Excel、PPT、PDF 和记事本文本文件
  13. html在网页中图片打不开,网页图片不显示,教您网页图片不显示如何解决
  14. 利用PLC1200和elmo驱动器对maxon RE40电机的两种控制方式(PWM(PTO)或者模拟量控制)
  15. CameraLink传输协议
  16. c++ 中文字符的 setw 格式化打印问题
  17. 使用Softice调试驱动程序
  18. html 播放360全景图,讯网360全景展示产品-html5全景图-flash全景展示-360度全景图制作...
  19. 《Java解惑》系列——01表达式之谜——谜题09:半斤
  20. 网络知识汇总(1)-朗文和牛津英语词典网址

热门文章

  1. 下列的前缀中的哪一个和地址152.7.77.159及152.31.47.252都匹配?请说明理由。
  2. 卫生纸玫瑰花折法5步_餐巾纸折纸玫瑰花的折法图解教程
  3. 大一学生WEB前端静态网页——旅游网页设计与实现(15页面)
  4. 糖尿病新世界杂志糖尿病新世界杂志社糖尿病新世界编辑部2022年第12期目录
  5. 服务器中的编码解码问题
  6. Python3入门机器学习(七)- PCA
  7. 马斯克为房地产代言“献身”,洗泡泡浴还被五花大绑,看完广告我瞎了
  8. 解决 MySQL 5.7.9版本sql_mode=only_full_group_by问题
  9. 机械运动仿真软件测试培训,测试和机械运动测试.doc
  10. 【Qt】Qt发展历史