案例

ILX MultiPad

Works with Nexting · 键盘案例

Nexting Devices SDK · 案例

ILX MultiPad

保留 MultiPad 原有控件,通过 Bridge 接到 Nexting,并让每一步都有可观察的结果。

案例:把 ILX MultiPad 接入 Nexting

MultiPad 是立创开源硬件平台上的 STM32F103VET6 桌面控制键盘,配有按键、旋钮和显示位。下面说明如何保留原有控制能力,并通过 Bridge 接入 Nexting。

MultiPad 的公开资料确认了 STM32F103VET6 主控、Electron 上位机和 GPL-3.0 许可。下载接口、USB 协议和 BLE 实现仍需按实物与上游源码确认;Type-C 接口不等于 UF2 拖放烧录。
MultiPad 正面,透明机械按键、旋钮和显示位
正面:按键、旋钮与显示位。具体键位由固件映射决定。
MultiPad 外壳背面和 USB-C 线缆
背面:可见 Type-C 接口,具体下载方式以原理图和实测为准。
拆开后的 MultiPad 电路板
拆机:展示 STM32 主板、按键、旋钮和显示模块。

硬件与协议说明

来源说明
上游 MultiPad 项目页STM32F103VET6 主控、Electron 上位机和 GPL-3.0 项目许可。
你这块实物照片有透明机械按键、多个旋钮、显示位和 Type-C 接口。下载接口和引脚仍需拆机核对。
Nexting Devices SDKapproval/1、status/1、keys/1、rotary/1 和 text/1 可表达通用设备意图;MultiPad 通过 Bridge 接入这些 Profile。

连接方式

Nexting 设备协议使用加密 BLE GATT。MultiPad 保留原固件和 Electron 上位机,由电脑上的 Bridge 将 USB/上位机事件转换为 Nexting Profile;要让手机直接发现,需要 BLE 伴侣模块或新的无线固件。

控件映射:协议不规定哪一个键

MultiPad 控件(示例)Nexting 语义Profile第一阶段做法
你选定的一个按键一次性请求的 allowapproval/1在固件或 Bridge 中声明映射,不存在固定 Allow 键
你选定的另一个按键一次性请求的 denyapproval/1只回传当前 request id 的选择
任一旋钮转动方向或增量事件rotary/1先在 Bridge 中记录 delta,再映射到 Host
旋钮按压或其他按键确认、选择或命令事件keys/1 / navigation/1由 Host 配置语义,不写死在设备外壳
屏幕或显示位Agent 状态、标题、短文本status/1 / text/1先确认显示控制器与分辨率,再声明 Device Info
映射草图(不是 MultiPad 厂商固件代码)c
/* 物理槽位由你的 MultiPad 固件决定,SDK 不规定第几个键。*/
if (event.slot == MULTIPAD_CONFIRM_SLOT &&
    event.gesture == NEXTING_DEVICE_GESTURE_PRESS) {
    nexting_device_state_choose(
      &approval, NEXTING_DEVICE_CHOICE_ALLOW, now_ms, &answer);
    transport_send(answer);
}

/* 另一个自定义控件可以映射为 deny、navigation 或 rotary。*/

固件准备

  1. 保留原固件并记录状态

    先用原项目 Electron 上位机确认按键、旋钮、屏幕和 Type-C 都正常;保存原始固件或至少记录可恢复方式。
  2. 确认 STM32 的下载入口

    拆机后从原理图和板上丝印确认 SWD、Boot0/串口或 USB 下载芯片。Type-C 只是接口外形,不代表可以拖放 UF2。
  3. 先做 Bridge,不先改主控固件

    如果原固件能把输入交给电脑,第一版在电脑上实现 USB/上位机到 Nexting Profile 的适配,风险最低,也方便回滚。
  4. 确认产物后再烧录

    只有拿到与 STM32F103VET6、启动方式和板级连接完全匹配的构建产物,才执行烧录;目前不能使用 Nexting Zephyr 的 UF2。
当前没有可直接刷入 MultiPad 的 Nexting 固件。确认 STM32 下载接口、板级连接和构建产物后,再补充具体工具、命令、固件格式和回滚方法。

验证顺序:每一步都有可观察结果

顺序验证动作通过标准
1原项目上位机操作全部控件原固件功能没有被破坏
2Bridge 报告设备身份与声明能力Host 能看到稳定的 model、firmware 和 profiles
3只映射一个按键到 approval/1一次请求只产生一个 allow 或 deny,重复包不会重复执行
4旋钮与屏幕做 status/1 或 rotary/1 回环方向、增量、状态和断连清理都可观察
5拔线、重连、过期和升级回滚过期请求失效,断连不保留旧状态,原固件可恢复