Requirements

开始开发之前,必须理解项目要求。这些规格说明了软件或系统需要满足哪些条件才能正确运行。请查看下面关于 serial number、RDM (Remote Device Management)、DMX (Digital Multiplex) 和 DFU (Device Firmware Update) 的要求。

Serial number (S/N)

灯具必须具有唯一的 serial number,并且该 serial number 应在灯具上可见。App 使用该 serial number 来识别灯具。serial number 可以是任何小于 72057594040000000 的数字。理想情况下,serial number 由两部分组成。固定的前半部分用于表示灯具类型和硬件版本,递增的后半部分则让用户可以将其理解为数字编号。

Example serial number:

1000100100

Front Part: 用于推导灯具类型和硬件版本。

Back Part: 递增编号,因此用户可以识别这是第 100 台灯具。


Firmware Versioning

我们要求使用 semantic versioning 方案。
[Major,Minor,Patch,Release] (Semantic Versioning)。每个部分为 8 bit。我们额外加入 Release 部分,用于表示该固件是否为发布版本。Release 必须为 255,固件才可以通过服务器公开使用。否则服务器会拒绝该软件,因为它只被视为 developer version。

Major: 不兼容变更。该变更会改变灯具行为。

Minor: 固件中新增功能。

Patch: 固件中的 bug fix。

Release: 0-254: 用于测试的内部固件;255: 可公开发布的固件。

RDM (Remote Device Management)

完整实现需要一个可正常工作的 RDM 接口。以下链接说明了 RDM 的工作方式,请先阅读:

查看 RDM 说明

  1. RDM Manufacturer ID
    由 ESTA 分配给每个制造商的 16-bit (2-byte) 值。
    它确保每个制造商都可以创建全球唯一的标识符。
    可以把它理解为 Ethernet MAC 地址中的 "Organizationally Unique Identifier" (OUI)。示例:
    VCS Vision Control Solutions GmbH : 0x0969
  2. RDM UID 每个支持 RDM 的设备都有一个 48-bit (6-byte) 唯一标识符。
    格式:[16-bit ManufacturerID] + [32-bit DeviceID]
    DeviceID 由制造商分配,每个设备必须唯一。它可以是顺序编号、随机数,也可以基于 serial number。示例:
    Manufacturer ID = 0x6574 (ETC)
    DeviceID = 0x12345678
    RDM UID = 0x6574:12345678。因此该 UID 在全球范围内唯一标识一个物理 RDM 设备。
  3. RDM DeviceModelID 是 16-bit 值,用于在制造商范围内标识设备型号。
    该值由制造商分配,不由 ESTA 分配。
    同一制造商可以有多个型号,每个型号都有自己的 DeviceModelID。示例:
    Vision External Module: DeviceModelID = 0x0001
    Vision Core Module: DeviceModelID = 0x0002。二者仍属于 ManufacturerID 0x0969,但通过 DeviceModelID 区分。

  • 应支持 DeviceInfo 等标准 RDM Commands。Software 文档中提供了详细列表。
  • Custom RDM Commands。我们需要您支持一些简单的 custom PIDs,用于 get/set 所有必需信息。
请注意,每个 RDM UID 和每个 serial number 都必须唯一。否则在控制和读取这些灯具时可能出现问题。

如果您作为 OEM 制造商为多家公司生产灯具,而所有灯具使用相同的 RDM Manufacturer 和相同的 RDM Device Model ID,我们将无法区分这些灯具。请至少为这些灯具提供不同的 RDM Device Model IDs。

DMX (Digital Multiplex)

为了正确控制您的灯具,我们有一些具体要求。通过我们协议传输时,刷新周期固定为 20ms。可实现的组件也有一些要求:

  • LED Color Control
    • 最多支持 6 种颜色
    • 最多支持 100 个像素独立控制
    • 8 bit 或 16 bit linear
    • 响应速度应为即时响应 (Snap)。如需 dimming 平滑处理,请使用我们的代码模板。
  • LED White Control
    • 最多支持 100 个像素独立控制
    • 8 bit 或 16 bit linear
    • 响应速度应为即时响应 (Snap)。如需 dimming 平滑处理,请使用我们的代码模板。

DFU (Device Firmware Update)

为了进行软件更新,您的控制器上必须有 bootloader。示例中提供了一个简单 bootloader。我们支持 dual bank 和 single bank bootloader。

© KKT Künzler Technologies GbR.
Developed by KKT - Künzler Technologies GbR