社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
MQTT(Message Queuing Telemetry Transport)是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境比如机器和机器通讯(M2M)以及物联网环境(IoT)。
支持MQTT底层传输协议的相关设备有:
使用MQTT的程序或设备(推荐使用MQTT.fx,MQTT.fx是目前主流的MQTT客户端,可以快速验证是否可以与IoT Hub服务交流发布或订阅消息)。
全托管的云服务,帮助建立设备与云端之间安全可靠的双向连接,以支撑海量设备的数据收集、监控、故障预测等各种物联网场景。
第一步,创建实例,百度物接入需要先创建一个实例(endpoint),一个实例表示一个完整的物接入服务。登陆物接入控制台,点击“创建实例”,填写需要创建IoT Hub服务的实例名称。创建好实例后,物接入默认提供三种地址:
import paho.mqtt.client as mqtt
import sys
import uuid
broker = 'pos.mqtt.iot.gz.baidubce.com'
port = 1883
username = 'pos/ccid-0001'
password = 'AWFjb7rUy1n9MZM2xd77ZGAw0cNbx4N6I5kQHMKxs/ag='
clientid = 'test_mqtt_python_' + str(uuid.uuid4())
topic = 'topic01'
def on_connect(client, userdata, rc):
print('Connected. Client id is: ' + clientid)
client.subscribe(topic)
print('Subscribed to topic: ' + topic)
client.publish(topic, 'Message from Baidu IoT demo')
print('MQTT message published.')
def on_message(client, userdata, msg):
msg = str(msg.payload).encode('utf-8')
print('MQTT message received: ' + msg)
if msg == 'exit':
sys.exit()
client = mqtt.Client(clientid)
client.on_connect = on_connect
client.on_message = on_message
client.username_pw_set(username, password)
print('Connecting to broker: ' + broker)
client.connect(broker, port)
client.loop_forever()
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!