Decent 薄款蓝牙秤程序员编译指南

* 通过蓝牙发送这些命令时,应使用二进制格式

  • 通过 USBWiFi 发送这些命令时,应使用十六进制字符串格式
  • 另请参阅旧的 Decent 秤 API 文档。Half Decent 秤兼容该指令集,但增加了大量新命令
  • 还提供了 Python 库
  • JavaScript 应用和称重库(支持蓝牙、USB 和 WiFi!)


  • 新的“心跳”功能解决了 Android 9 及更早版本中的连接问题。

  • 应用程序需要每 5 秒至少发送一次“心跳”信号,否则蓝牙连接将会断开
  • 发送给秤的心跳命令为:“03 0a 03 ff ff 00 0a”
  • 为什么需要此功能?
  • 较旧版本的 Android 存在一个问题:即使应用程序已断开连接,蓝牙仍会保持与设备的连接。
  • 心跳功能解决了该问题,也是 Decent 在 DE1 上采用相同方法解决同一问题的方式。
  • 不了解心跳功能的旧版应用程序将自动禁用心跳要求
  • 当它们发送 LED 打开蓝牙命令时,若该命令的第 6 个字节设置为 00
  • 或发送 TARE 命令时,若最后一个字节为 00。
  • 希望使用心跳功能的应用程序(强烈推荐使用),
  • 应将 LED 打开命令的最后一个数据字节设置为 01,例如:“03 0A 01 01 00 01 08”
  • 同时应将 TARE 命令的最后一个数据字节设置为 01,例如:“03 0F 01 00 00 01 0C”
  • 这些变体的 LED 打开和 TARE 命令对不具备心跳功能的旧版 Decent 秤不会产生任何负面影响。
  • DE1 用户应更新至日期为 4 月 11 日或更新的 NIGHTLY 版 de1app


  • HDS 可接收的命令 (v2.5.8)

    03 0F TARE(含校验和)

    (请阅读上述关于心跳功能的注意事项)

    03 0A 00 关闭 OLED

    03 0A 01 打开 OLED

    (请阅读上述关于心跳功能的注意事项)

    03 0A 02 关机

    03 0A 03 00 退出省电模式,OLED 正常亮度

    03 0A 03 01 进入省电模式,OLED 最低亮度

    03 0B 00 计时器停止

    03 0B 02 计时器重置

    03 0B 03 计时器启动

    03 1A 00 手动校准

    03 1A 01 智能校准

    03 1B WiFi OTA

    03 1D 00 设置采样数为 1

    03 1D 01 设置采样数为 2

    03 1D 02 设置采样数为 4

    03 1E 00 00 隐藏菜单

    03 1E 00 01 显示菜单

    03 1E 01 00 隐藏关于信息

    03 1E 01 01 显示关于信息

    03 1E 02 00 隐藏调试信息

    03 1E 02 01 显示调试信息

    03 1F 重置

    03 20 00 禁用 USB 重量传输

    03 20 01 启用 USB 重量传输

    03 22 发送一次电池电压数据


    重量:

    data[0] = modelByte;

    data[1] = 0xCE; // 重量稳定的类型字节

    data[2] = weightByte1;

    data[3] = weightByte2;

    data[4] = 0x00;

    data[5] = 0x00;

    data[6] = calculateXOR(data, 6); // 最后一个字节为 XOR 校验


    按键事件:

    data[0] = modelByte;

    data[1] = 0xAA; // 按键事件的类型字节

    data[2] = buttonNumber; // 1 表示 O 键,2 表示 ▢ 键

    data[3] = buttonShortPress; // 1 表示短按,2 表示长按

    // 根据需要用虚拟数据或真实数据填充剩余部分

    data[4] = 0x00;

    data[5] = 0x00;

    data[6] = calculateXOR(data, 6); // 最后一个字节为 XOR 校验


    关机事件:

    data[0] = modelByte;

    data[1] = 0x2A;

    data[2] = buttonNumber;

    data[3] = buttonShortPress;

    data[4] = 0x00;

    data[5] = 0x00;

    data[6] = calculateXOR(data, 6); // 最后一个字节为 XOR 校验


    电池电压:

    data[0] = modelByte;

    data[1] = 0x22;

    data[2] = voltageByte1;

    data[3] = voltageByte2;

    data[4] = 0x00;

    data[5] = 0x00;

    data[6] = calculateXOR(data, 6); // 最后一个字节为 XOR 校验


    通过 USB 调试

    您可以连接 USBC 线缆,并使用 Serial 等程序(设置参数为 115200,8,N,1)观察秤的运行状态。这使得调试变得极为简单。

    HDS 串口


    Half Decent 秤手册:目录

    #programmer #api #bluetooth #wifi #usb



  • 这是以下内容的翻译: Programmers guide to the Half Decent Scale


    jwang created 2025/02/25, updated 2026/07/27