feat: 数据真实化、企业展示墙、全局手势识别与 3D 模型完善

- 数据大屏改用真实数据(xls 统计表 + 宣传册口径);TOKEN/工具调用基于真实锚点测算
- 新增企业展示墙页(/wall,39 家全量档案 + MQTT/admin/ESP32 控制文档)
- 新增全局手势识别(GlobalVision 全局挂载 + dpm:gesture 事件分发)
- 3D 模型墙面逐间修复、去除门/过道顶棚/调试标签、房间资产不穿墙、会议室多小桌
- 侧栏企业分布扩展至 39 家完整信息,分区按官方四大孵化区域
- 语音页多轮对话展示优化、去除页脚与检测横条、背景对齐
This commit is contained in:
Pine
2026-08-18 05:48:56 +08:00
parent 1581b62154
commit 0af159a175
21 changed files with 1690 additions and 588 deletions
+24
View File
@@ -164,6 +164,30 @@ void reconnect() {
其他可用指令(自定义映射):`ai_input`AI 页提问)、`ai_company`(切企业)、`ai_zone`(切分区)、`voice_stop``next`/`prev`(媒体)、`alert`(通知)——参数见 `docs/mqtt-commands.md`
## 5.1 企业展示墙控制(/wall,39 家入驻企业滚动墙)
**MQTT 控制消息**ESP32 解码红外键码后发布到 `opc/display/command`JSON 载荷):
| 遥控器按键 | 建议指令 action | params | 效果 | 示例消息 |
|---|---|---|---|---|
| 1 / 2 / 3 | `wall_speed` | `speed: "slow" \| "normal" \| "fast"` | 慢速 150s / 标准 80s / 快速 40s 一圈 | `{"action":"wall_speed","params":{"speed":"slow"}}` |
| CH | `wall_pause` | `{}` | 暂停滚动 | `{"action":"wall_pause","params":{}}` |
| CH | `wall_resume` | `{}` | 继续滚动 | `{"action":"wall_resume","params":{}}` |
| 电源 | `navigate` | `page: "/wall"` | 切换到企业展示墙 | `{"action":"navigate","params":{"page":"/wall"}}` |
**ESP32 固件映射示例**(在 §4 固件的 `MAP[]` 键码映射表中追加):
```cpp
// 键码 → MQTT 指令(payload 为 JSON 字符串,经 publishCommand 发布)
{ 0x02, R"({"action":"wall_pause","params":{}})" }, // VOL 暂停墙滚动
{ 0x03, R"({"action":"wall_resume","params":{}})" }, // VOL 继续墙滚动
{ 0x00, R"({"action":"wall_speed","params":{"speed":"fast"}})" }, // CH 快速
{ 0x01, R"({"action":"wall_speed","params":{"speed":"slow"}})" }, // CH 慢速
{ 0x0B, R"({"action":"navigate","params":{"page":"/wall"}})" }, // 电源 切到展示墙
```
> 前端 `useMqttControl` 收到 `wall_*` 指令后派发 `dpm:wall-control` 事件,展示墙页据此暂停/继续/变速;未在展示墙页时 `wall_*` 指令不产生副作用(安全幂等)。
## 6. 学习模式(首次必须)
键码采集固件(只需串口打印,不用连 MQTT):
+18 -2
View File
@@ -42,7 +42,7 @@
| action | params | 效果 |
|---|---|---|
| `navigate` | `page: "/" \| "/twin" \| "/ai" \| "/voice" \| "/screen"`(或别名 home/twin/ai/voice/screen/数据大屏…) | 切换到指定页面 |
| `navigate` | `page: "/" \| "/twin" \| "/ai" \| "/voice" \| "/wall" \| "/screen"`(或别名 home/twin/ai/voice/wall/screen/数据大屏/企业展示墙…) | 切换到指定页面 |
| `navigate_rel` | `delta: 1 \| -1` | 向右 / 向左循环切换页面 |
### 4.2 全局视觉识别
@@ -79,7 +79,17 @@
| `settings_changed` | 设置对象 | 应用设置变更 |
| `playlist_changed` | — | 重新加载播放列表 |
### 4.6 全局
### 4.6 企业展示墙页(/wall
> 39 家入驻企业信息缓慢滚动展示墙(数据来源:《入驻企业信息表》)
| action | params | 效果 |
|---|---|---|
| `wall_pause` | — | 暂停滚动 |
| `wall_resume` | — | 继续滚动 |
| `wall_speed` | `speed: slow \| normal \| fast` | 滚动速度:慢速 150s / 标准 80s / 快速 40s 一圈 |
### 4.7 全局
| action | params | 效果 |
|---|---|---|
@@ -118,6 +128,12 @@ mosquitto_pub -h 192.168.1.3 -p 1883 -u <用户名> -P <密码> \
-t opc/display/command -m '{"action":"voice_start","params":{}}'
mosquitto_pub -h 192.168.1.3 -p 1883 -u <用户名> -P <密码> \
-t opc/display/command -m '{"action":"next","params":{}}'
# 切到企业展示墙 / 暂停滚动
mosquitto_pub -h 192.168.1.3 -p 1883 -u <用户名> -P <密码> \
-t opc/display/command -m '{"action":"navigate","params":{"page":"/wall"}}'
mosquitto_pub -h 192.168.1.3 -p 1883 -u <用户名> -P <密码> \
-t opc/display/command -m '{"action":"wall_pause","params":{}}'
```
### Pythonpaho-mqtt,后端 venv 自带)