1,安裝服務端 mosquitto
apt-get install mosquitto
2,安裝客戶端paho.mqtt.python
pip install paho-mqtt
3, mqtt 應用在ubuntu上
import paho.mqtt.client as mqtt
import time
HOST="127.0.0.1"//mosquitto 安裝的主機ip,127.0.0.1 表示與mosquitto在同一機器上
PORT=1883
client=mqtt.Client()
def on_connect(client,userdata,msg):
print("on_connect")
pass
def on_dis_connect(client,userdata,msg):
print("on_dis_connect")
pass
def mqtt_sub(topic):
client.subscribe(topic,1)
def mqtt_pub(topic,payload):
client.publish(topic,payload,1,1)
def mqtt_init(on_message):
client.connect(HOST,PORT,60)
client.on_connect=on_connect
client.on_disconnect=on_dis_connect
client.on_message = on_message
client.loop_start()
def on_message(client,userdata,msg):
print(msg.topic+":+"+str(msg.payload))//如果有人發布訂閱,這個地方接收訂閱
if __name__=='__main__':
mqtt_init(on_message):
mqtt_sub("/device/+/upgrade")//訂閱一個topic
while True:
time.sleep(10)
4,MQTTBox
一個window端的mqtt客戶端。可以配合着上面的程序進行測試。
配置界面,其中host填上mosquitto 所在主機,協議mqtt/tcp 其他的不用太關心
發布topic界面