免费公益 MQTT 服务
mqttyyc.top
面向物联网开发者和学习者的公共 MQTT Broker。支持 TCP、SSL、WebSocket、WSS 四种接入方式,注册账户即可免费连接使用,适用于设备接入、课程实验和个人项目开发。
四种连接端口
根据你的设备和场景选择合适的接入方式。涉及密码传输的场景请优先使用加密端口(8883 / 8084)。
MQTT over TCP
标准 MQTT 协议端口,兼容所有 MQTT 客户端,适合内网测试和嵌入式设备快速接入。
mqtt://mqttyyc.top:1883
MQTT over SSL/TLS
TLS 加密的 MQTT 连接,凭据和数据全程加密传输,生产环境推荐使用此端口。
mqtts://mqttyyc.top:8883
MQTT over WebSocket
WebSocket 接入端口,适合浏览器前端、小程序等无法使用原生 TCP 的场景。
ws://mqttyyc.top:8083/mqtt
MQTT over WSS
加密的 WebSocket 连接,HTTPS 页面必须使用此端口(浏览器禁止 https 页面连接 ws)。
wss://mqttyyc.top:8084/mqtt
三步开始使用
选择端口接入
在你的 MQTT 客户端(MQTTX、ESP32、Python 等)中填入上方任意一个连接地址,以及刚注册的用户名和密码。
订阅与发布
连接成功后即可订阅和发布主题。建议使用带项目前缀的主题(如 myproj/sensor/temp),避免与他人冲突。
常见平台接入参考
将 your_username 和 your_password 替换为你在账户中心注册的凭据。
Node.js / 浏览器 WebSocket
// npm install mqtt const mqtt = require('mqtt'); const client = mqtt.connect('mqtts://mqttyyc.top:8883', { username: 'your_username', password: 'your_password', }); client.on('connect', () => { client.subscribe('myproj/sensor/#'); client.publish('myproj/sensor/temp', '26.5'); }); client.on('message', (topic, payload) => { console.log(topic, payload.toString()); });
树莓派 / 上位机 / 脚本
# pip install paho-mqtt import paho.mqtt.client as mqtt client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2) client.username_pw_set('your_username', 'your_password') client.tls_set() # 8883 加密端口需要 client.on_connect = lambda c, u, f, rc, p: c.subscribe('myproj/sensor/#') client.on_message = lambda c, u, msg: print(msg.topic, msg.payload.decode()) client.connect('mqttyyc.top', 8883) client.loop_forever()
PubSubClient 库
// Arduino IDE 安装 PubSubClient 库 #include <PubSubClient.h> WiFiClient wifiClient; PubSubClient mqtt(wifiClient); mqtt.setServer("mqttyyc.top", 1883); mqtt.connect("device-001", "your_username", "your_password"); mqtt.publish("myproj/sensor/temp", "26.5");
桌面 / Web 版通用配置
连接地址:mqtts://mqttyyc.top:8883 用户名: your_username 密码: your_password # WebSocket 场景使用: wss://mqttyyc.top:8084/mqtt
公益服务公约
为了让服务长期稳定地为大家所用,请遵守以下约定。
- 请勿传输敏感数据。1883 与 8083 为明文端口,密码和内容可能被窃听;涉及凭据或隐私数据请务必使用 8883 / 8084 加密端口。
- 请控制发布频率。本服务为公益资源,请勿用于高频数据轰炸、挖矿、压测或任何商用场景,单账户请保持合理的消息频率。
- 主题请加前缀。公共 Broker 上所有人都可见彼此的主题,建议用项目名或用户名作为主题前缀,避免订阅冲突和误收消息。
- 服务不承诺 SLA。公益服务由个人维护,可能出现临时重启或调整;重要业务请自建 Broker,勿将本服务作为唯一依赖。
技术限制说明
为了保障所有用户共享资源,服务端已强制执行以下限制,请据此设计你的应用。
| 单条消息大小 | ≤ 64 KB。超限消息将被丢弃并可能断开连接,请勿用 MQTT 传输文件或图片。 |
|---|---|
| 单客户端订阅数 | ≤ 100 个主题,超出后订阅请求将被拒绝。 |
| 连接建立速率 | 每个接入端口限制 每秒 5 个新连接。仅在大规模并发接入时触发,正常设备接入不受影响;批量设备上线请加入错峰重连。 |
| 连接抖动封禁 | 同一客户端 1 分钟内反复连接断开 超过 15 次 将被自动封禁 15 分钟。请检查重连策略,避免断线后立即全速重连。 |
| 账户注册限制 | 单个 IP 每天最多注册 2 个账户。一个账户支持多台设备同时连接,但每台设备必须使用不同的 Client ID。 |
| 心跳(keepalive) | 建议设置为 30~120 秒,既能及时感知断线,又减少空闲资源占用。 |
FAQ
连接被拒绝 / 认证失败怎么办?
本服务已关闭匿名连接,必须使用账户中心注册的用户名和密码。请检查:① 账户是否已在 user.mqttyyc.top 创建成功;② 用户名密码是否复制完整(注意前后空格);③ 端口与协议是否匹配(如 mqtts:// 对应 8883)。
浏览器 / 小程序里如何连接?
浏览器和小程序无法使用原生 TCP,请使用 WebSocket 方式:HTTPS 页面用 wss://mqttyyc.top:8084/mqtt,HTTP 页面用 ws://mqttyyc.top:8083/mqtt。注意路径 /mqtt 不能省略。
为什么我的客户端连 8883 报证书错误?
请确认客户端已启用 TLS 并信任系统根证书。大多数客户端(MQTTX、paho-mqtt 等)默认信任公共 CA 证书即可直连;若使用自签校验,请关闭严格校验或导入服务端证书链。
一个账户可以给多台设备用吗?
可以,但注意同一账户的多台设备必须使用不同的 Client ID,否则相同 Client ID 会互相踢下线。建议为每台设备单独注册账户,便于管理和排查问题。
忘记密码或账户无法使用怎么办?
出于安全考虑密码不会被保存,也无法找回。请直接在 账户中心 注册一个新账户使用。