概要
记录 mqtt 学习 内容大部分来源于 emqx官网
EMQX官网
整体架构流程
使用两种形式搭建
- window
- docker
最后使用 springBoot集成 mqtt服务
winows搭建mqtt
- 下载 wimdows 启动包 emqx
下载后解压,进入解压文件后执行
./bin/emqx start
如果执行不成功可以尝试下面这个
.\\bin\\emqx start
打开网址 : http://localhost:18083
首次登录 用户名、密码为 : amdin \ public
- 下载 mqttx客户端
mqttx下载地址 : mqttx
下载安装后打开
- 建立mqtt连接
- 订阅消息
5 测试发送消息 topic: testtopic/test
成功!!!
docker搭建mqtt
- 首先下载 docker
建议参考这篇文章了解 docker30分钟了解docker - docker下载 emqx镜像
参考 emqx官网https://www.emqx.io/docs/zh/latest/deploy/install-docker.html
下载 docke emqxr镜像
docker pull emqx/emqx:5.4.1
起头 emqx 服务
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.4.1
- 进入 http://localhost:18083 页面,后续步骤与windows 一样,测试mqtt服务。
SpringBoot集成 mqtt服务
本项目集成了 lombak swagger mqtt 服务,由于swagger版本为 2.9.2,所以 springboot选择了 2.5.6 ,因为2.6.x版本冲突。
- 引入依赖
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.1</version>
<scope>test</scope>
</dependency>
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mqtt</artifactId>
</dependency>
<!-- fastjson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.67</version>
</dependency>
<!--gson序列化工具-->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
项目连接 springColud_demo
参考博客:docker, 集成matt