赞
踩
Eclipse Mosquitto是一个开源(EPL/EDL许可)的消息代理,实现了MQTT协议的版本5.0、3.1.1和3.1。Mosquitto是轻量级的,适用于从低功耗单板计算机到完整服务器的所有设备。
MQTT协议提供了一种轻量级的消息传输方法,采用发布/订阅模型。这使得它非常适合用于物联网消息传递,例如低功耗传感器或手机、嵌入式计算机或微控制器等移动设备。
Mosquitto项目还提供了一个用于实现MQTT客户端的C库,以及非常流行的mosquitto_pub和mosquitto_sub命令行MQTT客户端。
Mosquitto是Eclipse Foundation的一部分,是iot.eclipse.org项目的一部分。该项目由Cedalo推动开发。
在GitHub上拥有8.3KStarts.项目的仓库地址为:mosquitto
docker search mosquitto
我们下载带有OFFICIAL标志的镜像
docker pull eclipse-mosquitto
docker run -d --name my-mosquitto -p 1883:1883 -p 9001:9001 -v /d/docker/mosquitto/data:/mosquitto/data -v /d/docker/mosquitto/log:/mosquitto/log -v /d/docker/mosquitto/config:/mosquitto/config eclipse-mosquitto
创建配置文件,并且写入配置内容,保存完毕后重启。
listener 1883
listener 9001
protocol websockets
persistence true
persistence_file mosquitto.db
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
#Authentication
allow_anonymous true
password_file /mosquitto/config/pwfile
为了方便测试,我在这里开启了匿名访问allow_anonymous true。生产环境,应当改为False.
在config文件夹新增空文件pwfile.conf
查看容器
docker ps
docker exec -it b7c36ec27a62 sh
mosquitto_passwd -b /mosquitto/config/pwfile.conf root root
4. 查看生成密码文件内容
mosquitto_pub 和 mosquitto_sub 是 Mosquitto MQTT 代理的命令行客户端工具,用于发布(publish)和订阅(subscribe)MQTT 消息。
它们的基本用法示例:
mosquitto_pub:
mosquitto_pub -h <hostname> -t <topic> -m "message"
其中:
mosquitto_sub -h <hostname> -t <topic>
其中:
mosquitto_sub -h localhost -t topic
mosquitto_pub -h localhost -t topic -m "message"
连接成功,发布Key,值为value-2024
订阅Key,接收值为:
如果你觉得Docker安装Eclipse Mosquitto比较麻烦的话,也可以直接安装应用程序。官网详细介绍安装步骤:
How to Install the Mosquitto MQTT Broker on Windows? - IoTEDU
此文章有详细的安装教学:Setting up the Mosquitto MQTT Broker using Docker Compose - Pi My Life Up
docker-compose 代码如下:
services:
mosquitto:
image: eclipse-mosquitto
container_name: mosquitto
volumes:
- ./config:/mosquitto/config
- ./data:/mosquitto/data
- ./log:/mosquitto/log
ports:
- 1883:1883
- 9001:9001
stdin_open: true
tty: true
其他配置步骤类似。
环境安装只是开发的第一步,后续我们将在此基础上进行MQTT的开发。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。