前言

  • 1. 准备工作
  • 2. 连接路由器
  • 3. 基于 TCP 的 MQTT 连接(适用于数据量少)
  • 4. 基于 TCP 的 MQTT 连接(适用于数据量多)
  • 5. 联系我们


1. 准备工作

需要准备的软硬件:Ai-WB2系列模组或者开发板,Type-C数据线

2. 连接路由器

  1. 先保证模块或者开发板上电打印ready,如下图:
  2. java mqtt批量连接 mqtt连接池_java mqtt批量连接

  3. 发送AT+CWMODE=1;AT+CWJAP=“WIFI名称”,“WIFI密码”,比如我现在测试的WIFI名称为aithinker123,密码为123456789,如下图:
  4. java mqtt批量连接 mqtt连接池_服务器_02

3. 基于 TCP 的 MQTT 连接(适用于数据量少)

该示例以 wx.ai-thinker.com 作为 MQTT 服务器,控制台端口号:18083,TCP MQTT连接端口:1883

  1. 先登录MQTT服务器控制台,打开浏览器输入http://wx.ai-thinker.com:18083打开控制台,在箭头处输入用户名和密码并保存登录
    如下图:
  2. java mqtt批量连接 mqtt连接池_websocket_03

  3. (1) 输入账号
    (2) 输入密码
    (3) 打钩
  4. 登录后点击Settings设置成中文界面方便进行调试
  5. java mqtt批量连接 mqtt连接池_tcp/ip_04

  6. (1) 切换主题
    (2) 切换语言
  7. 点击Websocket选项,连接区域直接点击连接,参数默认。设置好订阅主题和消息主题并点击订阅,主题均为aithinker
  8. java mqtt批量连接 mqtt连接池_tcp/ip_05

  9. 打开扩展框,填入所有配置指令,如图:
  10. java mqtt批量连接 mqtt连接池_java mqtt批量连接_06

  11. 如果之前已经连接上路由器则可以忽略设置STA模式和连接路由器这部分指令的操作,直接点击配置服务器,连接服务器,订阅主题,发布信息,以上步骤操作无误可以得到如下截图
  12. java mqtt批量连接 mqtt连接池_服务器_07

  13. (1) 设置 wifi 连接模式,这里设置STA模式
    (2) 设置接入的wifi账号与密码并启动连接
    (3) 设置连接参数
    (4) 连接服务器
    (5) 设置订阅参数
    (6) 设置发布参数并发布数据
    (7) 订阅到发布的内容
  14. 同时,在控制台上的消息框点击发送,模组和订阅消息列表会同时收到{ “msg”: “Hello, World!” }
  15. java mqtt批量连接 mqtt连接池_java mqtt批量连接_08

  16. (1) 模组发布的数据,平台订阅情况
    (2) 平台发布的数据,以及其订阅情况

4. 基于 TCP 的 MQTT 连接(适用于数据量多)

如果您 MQTT上报的数据量相对较多,已经超过了单条 AT 指令的长度阈值 256,则建议您可以使用 AT+MQTTPUBRAW 命令。
假设你想要上报的 JSON 数据如下,长度为 427 字节。

{“headers”: {“Accept”: “application/json”,“Accept-Encoding”: “gzip, deflate”,“Accept-Language”: “en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7”,“Content-Length”: “0”,“Host”: “httpbin.org”,“Origin”: “http://httpbin.org”,“Referer”: “http://httpbin.org/”,“User-Agent”: “Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36”,“X-Amzn-Trace-Id”: “Root=1-6150581e-1ad4bd5254b4bf5218070413”}}
命令:AT+MQTTPUBRAW=0,“aithinker”,427,0,0

模组将订阅到刚刚发布的数据,同时,控制台上收到了模块上报的数据,如下图:

java mqtt批量连接 mqtt连接池_数据_09


(1) 表示发送的数据长度已到达427个字节

(2) 订阅到的数据

(3) 平台订阅到的数据内容