返回首页

旧式保龄球设备的集成:挑战与解决方案

本文分析了三年将旧式保龄球设备与移动应用集成的案例。描述了三个关键问题:制造商的商业限制、过时技术栈和数据不稳定性。介绍了通过对传感器数字化单元进行逆向工程的解决方案。

pinsetter 的逆向工程:旧式设备集成案例
Advertisement 728x90

# # 逆向工程置瓶机:我们如何将老旧保龄球设备与移动应用集成

在经过三年失败尝试从机械保龄球机(置瓶机)中提取数据后,Brooklyn Bowl 团队转向逆向工程关键的传感器数字化单元。主要障碍包括专有接口、过时的技术栈以及缺乏文档。本文将拆解系统的架构奇葩之处,为什么标准集成方法失败,以及那个虽然不优雅但真正奏效的解决方案。

置瓶机架构与数据流

机械置瓶机是一台复杂的机器,让人联想到坦克的自动装弹机。球投出后,光学传感器触发检测物体经过。然后,一个带有孔洞的测量框架下降,使用光电二极管或触点探针检查每个位置是否有瓶子。传感器数据输入 NextGen 单元,该单元将其转换为游戏事件(比如击倒的瓶子数量)。这个单元通过专有的电流环串行接口连接到 Dell OptiPlex 3020 服务器(2014 款)。服务器处理游戏状态,并在球道上方的显示器上显示结果。

关键是要明白,机器本身不数字化信号——这是外部 NextGen 单元的责任。数据以原始十六进制格式发送,没有标准协议。系统不支持现代技术如 IoT 或 MQTT,这使得与外部系统(如移动应用)的集成极其困难。

Google AdInline article slot

三大根本集成挑战

提取数据的尝试遭遇三大不可逾越的障碍:

  • Brunswick 和 AMF 的商业限制。 制造商故意阻断第三方集成,以垄断附加模块销售(例如,用于在网站显示比分或与会员卡集成的模块)。任何变通方案都需要购买许可证,从经济上不可行。
  • 过时的技术栈。 Dell 服务器运行 FoxPro 和 Sybase SQL Anywhere 数据库。FoxPro 在写入时锁定数据库,如果同时读取会导致主软件崩溃。Sybase 需要 ODBC 驱动,凭证埋藏在 Brunswick 二进制文件中,没有反编译几乎无法访问。
  • 无推送机制且数据不稳定。 系统不在事件时推送数据;服务器不断轮询它。而且,游戏状态可能被修正:例如,先记录击倒两瓶,然后瞬间修正为十瓶全倒。这些异步修正导致数据不一致,无法实现可靠的事件流。

失败方法:剖析缺陷

团队和聘请的工程师测试了四种方法,都不适合生产环境:

  • 读取 Dell 服务器上的数据库。 连接 FoxPro 或 Sybase 会引发锁冲突并崩溃核心软件。即使成功读取也有延迟,不适合实时移动应用。
  • 与 NextGen 单元集成。 直接访问电流环获得原始十六进制数据,但没有文档,解码像解谜。流量分析显示格式随机器状态变化,状态修正在流中添加“噪声”。
  • 球道上的计算机视觉。 安装摄像头,使用 OpenCV 检测瓶子位置,需要完美照明和校准。在真实条件下(球员移动、阴影、眩光),准确率降至 70% 以下,无法接受。
  • 完全重写 NextGen。 模拟该单元技术上极具挑战:需要复制所有置瓶机交互,包括状态修正处理。项目在原型阶段因复杂度而搁浅。

像通过 HDMI 分路器从显示器 OCR 或打印机仿真这样的方法没测试——由于额外故障点,可靠性似乎很低。

Google AdInline article slot

有效解决方案:替换数字化单元

当前方案逆向工程了 NextGen 单元。工程师没有与遗留系统集成,而是构建了一个自定义模块,直接连接置瓶机的传感器。这个模块:

  • 捕获光电二极管和触点探针的模拟信号。
  • 以 100 Hz 频率数字化数据,过滤误触发。
  • 生成 JSON 格式事件,并通过 MQTT 发送到服务器。

关键优势是与遗留系统隔离:新模块完全绕过 Dell 和 NextGen,避开所有限制。缺点是对每台机器进行物理改装,需要 2-3 小时球道停机。但对于 Brooklyn Bowl 的 12 家保龄球馆网络,这是最优修复。

工程师关键经验

  • 别浪费时间绕过商业锁。 如果制造商有意限制访问(如 Brunswick),与其集成遗留系统,不如隔离关键组件。
  • 原始传感器数据是你的最佳伙伴。 在没有数字接口的系统中,直接接入模拟传感器往往比解码专有协议更简单。
  • 逆向工程需要耐心。 分析电流环流量花了 6 个月,但揭示了用于过滤状态修正的十六进制数据模式。

这个解决方案不完美,但它有效。对于其他拥有类似设备的保龄球馆老板,我们乐于分享经验——联系方式在文末。

Google AdInline article slot

— Editorial Team

Advertisement 728x90

继续阅读