特别感谢贡献者:埃多阿多·蒙塔尼奥利先生 [意大利]

该项目托管在 GitHub 上:https://edwardmountain.github.io/AirFlash。采用 MIT 许可证,欢迎自由托管。

此链接中包含您向我索要的文件,方便您下载:

https://drive.google.com/drive/folders/1vfsXtdRB0dDbYD2ItJdzStRhN9_7CVo2?usp=share_link

---------------------------------------------------------------------

AirFlash

通过计算机更新蓝牙设备的固件。 无需安卓手机,无需安装。
AirFlash 是一个单一网页,可通过蓝牙低功耗(BLE)向基于 Telink 芯片的设备刷写固件——这些设备通常由制造商建议使用安卓应用 OTA_Telink 进行固件更新。它采用与该应用相同的协议,可直接通过 Windows、macOS、Linux 和安卓系统上的 Chrome 或 Edge 浏览器进行操作。

该工具的诞生源于一个实际问题:GAODIMIC AT210 / DT228 / DWM240 无线麦克风系统的固件只能通过安卓手机更新,而用户却使用的是 Mac 电脑。 该工具已在 DT228 发射器和机架式接收器上经过测试,理论上应适用于任何使用 Telink BLE OTA 服务的设备。

> **警告。** 写入错误的固件,或在更新过程中断电,可能会导致设备无法启动。请仅使用制造商针对您具体型号和硬件版本提供的固件文件。使用本工具需自行承担风险(参见 [许可协议](LICENSE))。

-----------

完整手册、协议技术说明及测试报告:AirFlash-Documentation.html(英语 / 中文)。
 

系统要求 

浏览器Chrome 或 Edge。仅限此两种:Safari 和 Firefox 不支持 Web Bluetooth。
计算机Windows 10/11、macOS、Linux 或 Android 手机/平板电脑。不支持 iPhone 和 iPad(iOS 上的浏览器均不支持 Web Bluetooth)。
蓝牙蓝牙 4.0 及以上版本适配器。过去十年间生产的每台笔记本电脑都配备了此类适配器。
固件 来自制造商的 `.bin` 文件。

 

无需安装任何内容。该页面无任何依赖项,也不会发起网络请求;支持离线运行。


访问该页面
有两种方式,任选其一:

  1. 从项目页面在线打开(需使用 https 地址;GitHub Pages 即可)。
  2. 下载 `AirFlash.html` 并双击该文件。它将在您的默认浏览器中打开;如果不是 Chrome 或 Edge,请右键单击 → “用其他程序打开”。

请勿通过普通 `http://` 地址或在其他页面的框架内打开:浏览器会在此处阻止蓝牙连接,AirFlash 会提示您此情况。
 

设备更新分步指南

该页面按操作顺序组织内容:左侧为固件,右侧为设备,底部为日志。每张设备卡片显示四个步骤,突出显示当前步骤并附有说明。


1. 加载固件

将 `.bin` 文件拖拽至左侧的框中,或点击该框进行选择。您可以同时加载多个文件(例如发射器和接收器)。

在发送任何数据之前,系统会先对每个文件进行验证:

  • 必须是 Telink 固件(文件开头带有 `KNLT` 签名),
  • 其头部标注的大小必须与文件实际大小一致,
  • 其 CRC32 校验和必须正确。

若文件不符合上述任一条件,将以红色显示且无法刷写。在文件名下方,您会看到版本字符串及其中嵌入的设备名称,AirFlash将在第3步中使用这些信息。

 

2. 将设备置于更新模式并连接

每台设备都有进入更新(OTA)模式的按键组合;具体操作请参阅制造商的说明书。启用 GAODIMIC 预设后(见下文),AirFlash 会在卡片上直接显示 DT228 的按键组合:

  • 发射器:开机时长按 MENU 键。
  • 机架式接收器:开机时长按“左”键。

点击“连接”。浏览器将打开其自带的设备选择器;选择您的设备并确认。连接过程只需几秒钟;随后卡片上将显示“已连接”及设备的蓝牙名称。

如果设备未出现在选择器中,请在“设置”中启用“显示所有蓝牙设备”选项,然后重试。

首次连接时,浏览器会请求使用蓝牙的权限。在 macOS 系统中,系统还会提示一次是否允许浏览器使用蓝牙:请选择“是”。

 

3. 刷写

AirFlash 会自动选择嵌入式设备名称与已连接设备匹配的固件;您可在下拉菜单中进行更改。如果名称不匹配,系统会显示警告且“刷写”按钮保持禁用状态,因为这正是导致接收器固件被刷入发射器的情况。如果您确定无误,请在“设置”中关闭“检查固件是否与设备匹配”选项。

点击“刷写”,确认后等待。进度条会显示已发送的数据包数量和已用时间。通常更新过程需要 30 到 90 秒。请勿触碰设备,也请勿关闭页面。

可选:“检查”功能会发送版本查询请求,并报告设备的响应结果,但不会进行任何写入操作。首次使用未知设备时,此功能非常有用。

 

4. 完成

当所有数据发送完毕后,AirFlash 会发送结束命令,设备将自动关机或重启。这是正常现象:设备正在验证接收到的镜像并启动新固件。

卡片将显示结果:

  • 已确认:设备报告成功(仅限较新固件)。
  • 已发送:所有数据均已发送,但该设备不报告结果(经典协议,包括 DT228)。请正常开启设备,并在其菜单中检查版本。
  • 失败 / 停止:设备状态未发生任何变化。请参阅“故障排除”。

此时卡片已恢复初始状态,可准备更新下一台设备。

---

同时
更新多台设备

点击“+ 添加设备”以添加一张卡。每张卡都代表一个独立的流程,拥有各自的连接、固件选择和进度。连接每台设备后,可选择在每张卡上点击“刷写”,或点击“刷写所有已就绪设备”以一次性确认所有设备。

设备之间不会相互干扰:每个蓝牙连接都是独立的私有链接。并行更新的唯一影响是,由于计算机需要在不同连接之间切换,因此每次传输速度会略微变慢。当设备数量较多(五台或以上)时,请分组进行操作,因为设备固件的整个更新过程有时间限制。

---

设置

设置功能说明默认
GAODIMIC 预设为 GAODIMIC 系统应用以下设置,并在卡片中显示 DT228 键位组合。所有内容均可编辑。关闭
设备名称以...开头根据名称前缀过滤浏览器的设备选择器。空(带预设的 GAODIMIC)
显示所有蓝牙设备在选择器中列出所有附近的设备,而不仅仅是那些发布 OTA 服务的设备。关闭
检查固件是否与设备匹配当固件中未找到设备名称时,将阻止刷写。开
每 N 个数据包同步读取一次每 N 个数据包执行一次读取请求,用作流量控制。这相当于官方应用中的“速度”滑块。8
数据包间隔(毫秒)每个数据包的额外延迟。保持为0:设备固件会限制总更新时间,传输速度过慢的数据包最终将被拒绝。0
带确认的写入若设备支持,则使用带确认的写入操作。速度较慢;大多数设备不支持此功能。 关闭

 

浏览器会记住语言、预设和数值设置。
---


故障排除

  • 页面显示蓝牙不可用。

您当前未使用 Chrome 或 Edge 浏览器,或者该页面是从 `http://` 打开的,或位于框架内。请直接打开 `AirFlash.html`,或在单独的标签页中打开其 https 地址。

  • 设备未出现在选择器中。

请确认设备是否确实处于更新模式(开机时必须按住指定键组合)。启用“显示所有蓝牙设备”选项。将设备移近。在 macOS 上,请确保浏览器在“系统设置”→“隐私与安全”→“蓝牙”中已获得蓝牙权限。

  • 设备在更新后重启,但版本号未发生变化。

设备在最终检查时拒绝了镜像文件。最常见的原因是传输时间过长:请将“数据包间暂停时间”设为 0,并将“同步读取”设为 8 或更高。否则,该文件可能适用于其他硬件版本;请咨询制造商。

  • 更新在半途停止。

请将设备重新置于更新模式并再次运行。设备上的设置并未发生任何变化:只有在完整且经过验证的镜像文件接收完毕后,新固件才会被激活。

  • 设备显示的蓝牙名称与之前不同。

某些固件包含两个名称(一个是广播名称,另一个是内部名称)。首次连接后,macOS 会缓存内部名称,并从那时起显示该名称。 

设备本身没有变化;AirFlash 能识别这两个名称。

  • 提示“无 OTA 服务”。

设备未处于更新模式,或者该设备并非基于 Telink 的设备。AirFlash 无法对其进行更新。

---

 

工作原理

AirFlash 实现了制造商 Android 应用所使用的 Telink BLE OTA 协议:

  • 服务 `00010203-0405-0607-0809-0a0b0c0d1912`,特征 `…2b12`;
  • 命令 `FF00`(准备)、`FF01`(开始)、`FF02`(结束);
  • 数据以 20 字节数据包形式传输:16 位索引、16 字节固件(用 `0xFF` 填充)、CRC-16/MODBUS;
  • 每 N 个数据包执行一次读取操作,作为流量控制;
  • 结束命令携带最后一个索引、其补码以及一个CRC;设备验证镜像后重启。

固件写入设备闪存的备用区域,并仅在设备完成最终自检后才被激活,因此若更新被中断或拒绝,原固件将保留不变。

所有操作均通过 Web Bluetooth API 在浏览器中运行。固件文件绝不会离开您的计算机。

 

语言

英语(默认)、意大利语、德语、法语、西班牙语、葡萄牙语、俄语、中文、日语、韩语。点击顶部的国旗图标;系统会记住您的选择。

 

许可

MIT 许可,并附有关于固件损坏的明确免责声明:只要保留版权声明,即可使用、复制、修改和托管该软件。详见 LICENSE。AirFlash 是一个独立项目,与 GAODIMIC、infoSVC 或 Telink 均无隶属关系。

 

作者:DoDo7

Topic_PIC_AirFlash

Related Components

Related Series

Related Documents