数智家——个人经验分享

码农花园:记录和分享编程技术、大数据、物联网的个人记录!

docker 方式创建mqtt 【mosquitto】

docker 方式创建mqtt 【mosquitto】


docker 方式创建mqtt
 
1.创建目录
mkdir -p /mosquitto/config
mkdir -p /mosquitto/data
mkdir -p /mosquitto/log
 
2.初始化配置文件
nano /mosquitto/config/mosquitto.conf
内容
persistence true
persistence_location /mosquitto/data
log_dest file /mosquitto/log/mosquitto.log
--------------------------------------------
touch /mosquitto/config/pwfile.conf
 
3.为目录授权
chown -R lvz /mosquitto
chmod -R 766 /mosquitto
 
4.启动
docker run -it --name=mosquitto --privileged -p 1883:1883 -p 9001:9001 -v /mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf -v /mosquitto/data:/mosquitto/data -v /mosquitto/log:/mosquitto/log eclipse-mosquitto
 
5.进入
docker exec -it mosquitto sh
 
6.设置密码
mosquitto_passwd -b /mosquitto/config/pwfile.conf mymq Mqttpassword
 
7.重启docker
docker restart mosquitto
 
8.测试发布消息
在docker内的控制台中
发送消息:
mosquitto_pub -t pi -m "Hello,world." -u mymq -P Mqttpassword
接收消息:
mosquitto_sub -t pi -u mymq -P Mqttpassword
 
9.python收发消息
发送:
import paho.mqtt.client as mqtt
host = '192.168.0.195'
port = 1883
keepalive = 60
topic = 'pi'
client = mqtt.Client()
client.username_pw_set('mymq','Mqttpassword')
client.connect(host,port,keepalive)
client.publish(topic,'This is a message form pi.')
client.disconnect()
print("success")
接收:
import paho.mqtt.client as mqtt
 
def on_connect(client, userdata, flags, rc):
# print("Connected with result code "+str(rc))
client.subscribe("pi")
 
 
def on_message(client, userdata, msg):
print(msg.topic + " " + ":" + str(msg.payload))
 
 
client = mqtt.Client()
client.username_pw_set('mymq','Mqttpassword')
client.on_connect = on_connect
client.on_message = on_message
client.connect("192.168.0.195", 1883, 60)
client.loop_forever()
 

博文最后更新时间:


评论

  • 暂无评论

发表评论

博客统计

访问量:529866

博文总数:21 评论总数:1

原创20 翻译0 转载1