栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

使用Python Link SDK接入阿里云物联网平台

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Python Link SDK接入阿里云物联网平台

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.json和 thing_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 pub(self):
        time.sleep(3)
         event_data = {
        "power": 10,
        "power_style": 1
    }
        self.__linkkit.thing_trigger_event(("power_state", event_data))  

        time.sleep(5)
        prop_data = {
        "abs_speed": 11,
        "power_stage": 10
    }
        self.__linkkit.thing_post_property(prop_data)

新建一个py文件调用:

import thing_alink

def main():
    custom_thing = alink.CustomerThing()
    custom_thing.conn()
    custom_thing.pub()

if __name__ == '__main__':
    main()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/968964.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号