☰
HoloCubic_AIO MQTT服务器部署教程:3步为心跳APP搭建私有免费通道
2026/10/2 21:56:50 网站建设 项目流程

HoloCubic_AIO MQTT服务器部署教程:3步为心跳APP搭建私有免费通道

【免费下载链接】HoloCubic_AIOHoloCubic超多功能AIO固件 基于esp32-arduino的天气时钟、相册、视频播放、桌面投屏、web服务、bilibili粉丝等项目地址: https://gitcode.com/GitHub_Trending/ho/HoloCubic_AIO

HoloCubic_AIO 是一款运行在 HoloCubic 透明小电视上的 ESP32 超多功能 AIO 固件,内置天气时钟、相册、视频播放、桌面投屏、Web 服务等应用。本文带你从零部署一个免费的 MQTT 服务器,为其中最有意思的心跳(Heartbeat)APP搭建私有消息通道,让两台小电视隔空"心有灵犀"。

心跳APP是什么?为什么需要MQTT服务器?

心跳 APP 的玩法很简单:两台 HoloCubic 小电视通过 MQTT 消息互相发送"心跳",一方前倾小电视按下,另一方屏幕就会显示心跳动画。它复现自 LizCubic 项目,核心源码在 heartbeat.cpp。

MQTT 是什么?可以把它理解成一个"快递中转站":

  • 小电视 A 把消息(自己的 MAC 地址)发布到中转站;
  • 中转站(MQTT 服务器)负责转发;
  • 小电视 B订阅了同一个主题,立刻收到消息,屏幕亮起来。

固件内置 PubSubClient 库负责 MQTT 通信,设备发布和订阅的主题格式固定为/cubic/hb/<你的ID>(例如/cubic/hb/77318186),两台设备的 ID 填成一样的,它们就能"对上暗号"。

部署前的准备工作

心跳 APP 的运行条件(来自官方 README.md):

  1. 联网状态,且需要开启性能模式;
  2. 一台开放1883 端口的 MQTT 服务器(可自建,也可使用社区免费服务);
  3. 两台 HoloCubic 小电视。

固件其实预置了一套默认服务器参数(heartbeat.cpp 中的climbsnail.cn:1883),想体验完整私有部署的话,下面教你自己搭一个,成本为零。

最快配置方法:Docker一行命令自建MQTT服务器

推荐用 Docker + Mosquitto 在任意 Linux 机器(树莓派、NAS、云服务器均可)上部署,全程免费:

  1. 安装 Docker 并启动 Mosquitto(宿主机 1883 端口映射出去):

    docker run -d --name mosquitto -p 1883:1883 -v ~/.mosquitto:/mosquitto eclipse-mosquitto:2
  2. 放行端口:在防火墙/安全组中放行 TCP 1883,确保局域网或小电视所在网络能访问。

  3. 验证连通性:可用 MQTT 客户端工具(如 MQTTX)连接你的服务器IP:1883,能连上就说明部署成功。

💡 没有服务器?QQ 群内不定时提供免费 MQTT 服务,配置参数可咨询群友(见 README 说明)。自建的优势是延迟低、数据完全私有。

在Web Server中填写MQTT配置参数

服务器就绪后,回到小电视配置。开启Web ServerAPP,用浏览器访问AP_IP(热点名为HoloCubic_AIO,无密码),进入设置后台。在心跳设置区(表单定义见 web_setting.cpp)填写:

字段说明
role0 或 1,代表互动的两台设备角色
qq_num(ID)两台设备必须填同一个ID,它决定订阅主题
MQTT Server你部署的服务器地址(IP 或域名)
MQTT 端口号默认1883
MQTT 用户名/密码按你的服务器配置填写,可留空

配置会自动持久化到 flash(heartbeat_v2.01.cfg),之后开机自动联网并开启 MQTT 客户端,无需重复设置。

使用效果:两台小电视如何"对话"

配置完成后,心跳 APP 的工作逻辑(heartbeat_process):

  • 正常前倾进入 APP→ 自动向对方发布一条心跳消息;
  • 在 APP 内再前倾→ 手动再发一条;
  • 对方收到消息→ 自动进入 APP 并显示心跳动画,双方都收到则显示"互搏"效果;
  • 固件每 5 秒保活一次,断线自动重连,你只管摇晃小电视就行。

操作方式沿用 AIO 惯用手势:左右摇晃 0.5 秒切换 APP,向前倾斜 1 秒进入,后仰 1 秒退出。

常见问题速查

  • 收不到消息?检查两台设备qq_num是否一致、服务器 1883 端口是否放行、是否开启了性能模式;
  • 连接失败反复重连?串口日志会打印failed, rc=xxx(见 mqtt_reconnect),多为地址、端口或用户名密码错误;
  • 只想快速体验?直接使用固件内置的默认服务器参数即可,跳过部署步骤。

整套流程下来,你花不到十分钟就拥有了一个私有的、免费的心跳消息通道——两台 HoloCubic 小电视从此"心有灵犀"。更多 APP 玩法可继续翻阅 README.md 中的 APP 介绍章节。

【免费下载链接】HoloCubic_AIOHoloCubic超多功能AIO固件 基于esp32-arduino的天气时钟、相册、视频播放、桌面投屏、web服务、bilibili粉丝等项目地址: https://gitcode.com/GitHub_Trending/ho/HoloCubic_AIO

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询