前言
MQTT是用于物联网(IoT)的OASIS标准消息传递协议。本文主要记录使用阿里云物联网平台中,网关设备接入提示:需要理解Python paho-mqtt 模块,本文使用aliyun-iot-linkkit实现,适用于Django环境下
建议先看完我的另一篇文章阿里云物联网平台使用,在进行使用
一、快速搭建Python对阿里云物联网MQTT设备接入端代码实现
先上代码
1. mqtt子应用下view.py 主文件
import json
import logging
import sys
import threading
import time
from linkkit import linkkit
logger = logging.getLogger('django')
# 来自一机一密的设备
options = {
"ProductKey": "xxxxxxxxxxx",
"DeviceName": "device-name",
"DeviceSecret": "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
}
# 示例代码配置设备的设备证书以及连接的公共示例的RegionID
lk = linkkit.LinkKit(
host_name="cn-shanghai", # 华东2(上海),根据自己的RegionID
product_key=options["ProductKey"],
device_name=options["DeviceName"],
device_secret=options["DeviceSecret"])
def on_connect(session_flag, rc, userdata):
"""
callback after connect_async
:param session_flag: type:int description:is previous connect session,0 new session; 1 previous session
:param rc: type:int rc的值决定了连接成功或者不成功:
:param userdata: type: description:same as LinkKit input parameter user_data
"""
print("on_connect:%d,rc:%d,userdata:" % (session_flag, rc))
if rc == 0:
# 连接成功
print("Connection successful")
elif rc == 1:
# 协议版本错误
print("Protocol version error")
elif rc == 2:
# 无效的客户端标识
print("Invalid client identity")
elif rc ==