接口文档
发送MQTT消息的两种方式:html
选项中,填写帐号密码
订阅成功的话,发布成功,就会接收到返回的消息。python
1,填写的内容不能保存,关闭窗口以后就没有了
2,参数中有时间戳,须要当前时间,发布时,要手动修改时间,不方便。web
须要用到的包为paho-mqtt
pip install paho-mqttjson
# -*- coding: utf-8 -*- # 如下代码在2019年2月28日 python3.6环境下运行经过 import paho.mqtt.client as mqtt import json import time HOST = "10.8.9.21" PORT = 1883 client_id = "1083421xxxxx" # 没有就不写,此处部份内容用xxx代替原内容,下同 def on_connect(client, userdata, flags, rc): print("Connected with result code "+str(rc)) client.subscribe("data/receive") # 订阅消息 def on_message(client, userdata, msg): print("主题:"+msg.topic+" 消息:"+str(msg.payload.decode('utf-8'))) def on_subscribe(client, userdata, mid, granted_qos): print("On Subscribed: qos = %d" % granted_qos) def on_disconnect(client, userdata, rc): if rc != 0: print("Unexpected disconnection %s" % rc) data = { "type":2, "timestamp": time.time(), "messageId":"9fcda359-89f5-4933-xxxx", "command":"xx/recommend", "data":{ "openId":"xxxx", "appId":xxxx, "recommendType":"temRecommend" } } param = json.dumps(data) client = mqtt.Client(client_id) client.username_pw_set("xxxxxx", "xxxxxx") client.on_connect = on_connect client.on_message = on_message client.on_subscribe = on_subscribe client.on_disconnect = on_disconnect client.connect(HOST, PORT, 60) client.publish("data/send", payload=param, qos=0) # 发送消息 client.loop_forever()
运行结果:
Connected with result code 0 , 0表明链接成功app
推荐阅读:
有MQTT函数详细介绍, http://shaocheng.li/post/blog/2017-05-23
MQTT概念相关知识介绍,https://www.ibm.com/developerworks/cn/iot/iot-mqtt-why-good-for-iot/index.htmlsvg