Skip to content

智能仿真婴儿开发文档(二代)

MQTT 规则

shell
/baby/v2/<mac>/<action>
/child/v3/<mac>/<action>

婴儿二代 MQTT 指令

服务器

shell
服务器订阅
/baby/v2/+/result           # 返回结果
/baby/v2/+/state            # 返回状态结果

服务器下发
/baby/v2/<mac>/cmd          # 下发指令
/baby/v2/<mac>/check        # 状态检测

客户端

shell
客户端订阅
/baby/v2/<mac>/cmd              操作指令
/baby/v2/<mac>/check            检测状态

客户端发送
/baby/v2/online                 在线状态
/baby/v2/<mac>/login            登录信息发送
/baby/v2/<mac>/result           发送结果
/baby/v2/<mac>/state            发送状态结果

交互指令

服务器下发指令格式

json5
{
  baby_macs: [],
  item_code: "milk_food",
  mode: 1,
  uuid: 111111111,
  // 测试模式
  test: 1,
}
  • baby_macs 娃娃的 mac 地址
  • item_code 操作项目代码
  • mode 操作模式代码
  • uuid 操作记录唯一值(主板程序直接回调)
  • ret 操作详细信息

注意指令执行结果

  • 指令下发之后需要等待执行,然后再返回结果。
  • 状态检测下发之后立马可以得到结果。

主板程序回调指令格式

json
{
  "item_code": "milk_food",
  "uuid": "111111111",
  "mac": "e4b06392a478",
  "result": {
    "data": [
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
    ],
    "times": 90
  }
}

个性化配置参数

json5
{
  time_zero: 1731478842,
  gender: 1,
  temp_change: 0,
}

状态指令

登录状态

客户端 - 发送信道

/baby/v2/login

客户端 - 发送数据

json
{
  "utc_time": 1733077981,
  "mac": "e4b06392a478"
}

服务器 - 发送信道

/baby/v2/e4b06392a478/login

服务器 - 回调数据(个性化配置)

json
{
  "time": 1733123059
}

检测与设置质量

/baby/v2/a085e3e70bfc/check
json
{
  "mac": "e4b06392a478",
  "name": "solenoid",
  "data": {
    "opt": "open",
    "time": 2
  }
}

语音操作

主板上电之后播报 欢迎使用金职伟业智能仿真婴儿

发现新固件,准备升级,请稍等。

三种模式的区别

  • 竞赛模式

    竞赛模式没有提示音

  • 实训模式

    实训模式有各种提示音

  • 娱乐模式

    竞赛模式赛项规程

MQTT 核心技能点组合

主板程序可以同时处理多个项目的 item_code

后端需要发送 UUID + item_code 列表的 MQTT 消息到主板程序 后端需要生成多条详情记录

json
{
  "uuid": 463785300906016,
  "details": {
    "acc_ret": [
      [9, 6, 78],
      [8, 6, 78],
      [12, 7, 70],
      [10, 6, 73],
      [9, 5, 76],
      [9, 6, 76],
      [10, 6, 76],
      [11, 6, 74],
      [10, 7, 76],
      [12, 5, 76]
    ],
    "gy_ret": [
      [0.08, 0.08, 0.07],
      [0.06, 0.09, 0.07],
      [0.05, 0.06, 0.07],
      [0.07, 0.08, 0.09],
      [0.06, 0.09, 0.07],
      [0.07, 0.1, 0.07],
      [0.06, 0.08, 0.08],
      [0.07, 0.07, 0.06],
      [0.07, 0.09, 0.05],
      [0.06, 0.06, 0.07]
    ],
    "ret": [0, 44, 0, 0, 0, 0, 0, 0, 0, 0],
    "times": 10
  },
  "mac": "a085e3e70bfc",
  "item_code": "hamrich"
}

下发指令进行测试

/baby/v2/a085e3e70bfc/cmd

json
{
  "item_code": "temp",
  "opt_mode": "1",
  "uuid": "111111111",
  "set_times": 10,
  "test": 1
}
json
{
  "uuid": 463793528543264,
  "details": {
    "acc_ret": [
      [-2, -70, 46],
      [-1, -71, 44],
      [-1, -73, 37],
      [-1, -70, 46],
      [-3, -68, 46],
      [-2, -68, 44],
      [-3, -71, 43],
      [-3, -73, 42],
      [-3, -66, 43],
      [0, -72, 44]
    ],
    "gy_ret": [
      [0.08, 0.08, 0.08],
      [0.07, 0.09, 0.08],
      [0.09, 0.08, 0.07],
      [0.08, 0.11, 0.07],
      [0.05, 0.1, 0.08],
      [0.07, 0.08, 0.06],
      [0.08, 0.09, 0.05],
      [0.07, 0.1, 0.09],
      [0.07, 0.1, 0.07],
      [0.07, 0.1, 0.07]
    ],
    "ret": [0, 33, 0, 0, 0, 0, 0, 0, 0, 0],
    "times": 10
  },
  "mac": "a085e3e70bfc",
  "item_code": "milk"
}