import utptime
uftptime.settime() #同步网络时间
这次我们在OneNET平台上新建数据流,同时使用MQTT协议中publish报文格式上传数据点。
MQTT协议实现方式
实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:
发布者(Publish):发布数据点
代理(Broker)(服务器):接受C端连接,处理发,订,退,转数据信息
订阅者(Subscribe):订阅数据点
其中,消息的发布者pub和订阅者sub都是客户端,消息代理broker是服务器,消息发布者可以同时是订阅者。
MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:
(1)Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload);
(2)payload,可以理解为消息的内容,是指订阅者具体要使用的内容。
Payload消息体
Payload消息体位MQTT数据包的第三部分,包含CONNECT、SUBSCRIBE、SUBACK、UNSUBSCRIBE四种类型的消息:
(1)CONNECT,消息体内容主要是:客户端的ClientID、订阅的Topic、Message以及用户名和密码。
(2)SUBSCRIBE,消息体内容是一系列的要订阅的主题以及QoS。
(3)SUBACK,消息体内容是服务器对于SUBSCRIBE所申请的主题及QoS进行确认和回复。
(4)UNSUBSCRIBE,消息体内容是要订阅的主题。
from umqtt.simple import MQTTClient
from machine import Pin
import network
import time
import json
CLIENT_ID = "588234870" #设备ID
username = "3297741" #产品ID
password = "vaGMSmffsdfecCzMz4rs7y=rQ8gmo=" #APIKEY
SERVER = 'mqtt.heclouds.com' #183.230.40.39
TOPIC = 'wefdaidu'
state = 0
c=None
def sub_cb(topic, msg):
global state
print((topic, msg))
if msg == b"on":
#led.value(1)
state = 0
print("1")
elif msg ==

本文介绍了如何使用Micro Python通过MQTT协议连接中国移动OneNet平台,进行数据发布和订阅,并展示了使用Micro Python操作MySQL数据库的示例代码,包括增删改查等基本操作。
最低0.47元/天 解锁文章
5327

被折叠的 条评论
为什么被折叠?



