mqtt 参考:
https://pypi.org/project/paho-mqtt/
https://github.com/eclipse/paho.mqtt.python
#服务端
[root@localhost ~]# cat mqtt_server.py
import paho.mqtt.client as mqtt import paho.mqtt.publish as publish idx = 0 #往paho/temperature 一直发送内容 while True: print("send success") publish.single("paho/temperature", payload="this is message:%s"%idx, hostname="iot.eclipse.org", client_id="lora1", # qos = 0, # tls=tls, port=1883, protocol=mqtt.MQTTv311) idx += 1
#客户端
[root@localhost ~]# cat mqtt_client.py
import paho.mqtt.client as mqtt # The callback for when the client receives a CONNACK response from the server. def on_connect(client, userdata, flags, rc): print("Connected with result code "+str(rc)) # The callback for when a PUBLISH message is received from the server. def on_message(client, userdata, msg): #在这里处理业务逻辑 print(msg.topic+" "+str(msg.payload)) client = mqtt.Client() client.on_connect = on_connect client.on_message = on_message client.connect("iot.eclipse.org", 1883, 60) #订阅频道 client.subscribe("paho/temperature") # Blocking call that processes network traffic, dispatches callbacks and # handles reconnecting. # Other loop*() functions are available that give a threaded interface and a # manual interface. client.loop_forever()
#启动服务端,再启动客户端
#服务端一直发送信息 [root@localhost ~]# python3 mqtt_server.py send success send success send success send success send success send success send success send success send success send success send success #客户端接收信息 [root@localhost ~]# python3 mqtt_client.py Connected with result code 0 paho/temperature b'this is message:125' paho/temperature b'this is message:126' paho/temperature b'this is message:127' paho/temperature b'this is message:128' paho/temperature b'this is message:129' paho/temperature b'this is message:130'
备注:
MQTT服务器不负责存储数据,需要编写额外的接收客户端来接收数据、分析、入库等。
MQTT服务器用的是iot.eclipse.org,如果碰巧两个人在用同一个频道,那可能收到别人的消息哦~
搭建mqtt服务器
参考:
http://emqtt.com/docs/v2/install.html
https://blog.csdn.net/qq_37258787/article/details/79776663
二、Mosquitto安装和使用
https://lanseyujie.com/post/mosquitto-installation-and-usage.html
三、安装mqttfx(用于测试mqtt-服务器)
相当于部署一个mqtt-server
软件下载:
http://www.jensd.de/apps/mqttfx/1.7.0/
使用方法参考:
https://blog.csdn.net/nicholaszao/article/details/79211965