示例工程说明

更新时间:2025-02-20 10:31:20下载pdf

基本功能示例

Wukong AI 硬件开发框架提供了基本功能示例,包括系统、驱动、网络等,详情请参考 联网单品开发框架 > 示例工程说明

AI 玩具示例

tuyaos_demo_ai_toy 是一个 AI 玩具演示程序,支持以下功能:

  • 涂鸦云端语音智能体
  • 按键长按对话
  • 各种状态提示音,如配网、离线、低电量等
  • 低功耗,待机时间长达 10 天,支持连续对话 10 小时
  • 红绿双色提示灯,根据电量、充电状态切换不同的颜色
  • App 音量调节
  • 电池电量上报

初始化代码

OPERATE_RET __soc_device_init(VOID_T)
{
    OPERATE_RET rt = OPRT_OK;

    // .......
    // .......
    TY_AI_TOY_PARA_T para = TY_AI_PROC_PARA_AIBOX_HOLD;
    /* Network button initialization */
    app_key_init(para.reset_key_pin);
    /* AI toy initialization */
    TUYA_CALL_ERR_RETURN(ty_ai_toy_init(&para));
    TUYA_CALL_ERR_RETURN(ty_ai_toy_start());
    return 0;
}

引脚和模式配置

AI 玩具需要配置几个引脚,以实现系统重置、唤醒、扬声器开光等功能。Demo 示例程序通过 TY_AI_TOY_PARA_T 结构体进行参数设置,并预制了 5 个基本参数供快速启动,可以按需选择或者根据自己的需求修改:

TY_AI_PROC_PARA_DEF
TY_AI_PROC_PARA_DEF2
TY_AI_PROC_PARA_CUSTOM
TY_AI_PROC_PARA_AIBOX
TY_AI_PROC_PARA_AIBOX_HOLD(默认配置)

触发方式分短按连续对话和长按对话,目前 Demo 只针对长按触发进行过优化。

系统重置引脚初始化接口

初始化重置引脚,实现长按引脚 5s 之后设备重置,重新进入配网模式。

/**
* @brief init key
* @param[in] pin_id: key pin number 
*/
VOID_T app_key_init(TUYA_GPIO_NUM_E pin_id);

初始化接口

初始化 AI 玩具功能。

/**
* @brief init ai toy demo
* 
* @param[in/out] para: init parameters
* @return OPERATE_RET: OPRT_OK on success, others on failed
*/
OPERATE_RET ty_ai_toy_init(TY_AI_TOY_PARA_T *para);

启动接口

启动 AI 玩具功能。

/**
* @brief start ai toy demo
* 
* @return OPERATE_RET: OPRT_OK on success, others on failed
*/
OPERATE_RET ty_ai_toy_start(void);

其它说明

Demo 代码还包括了电量检测代码,如果对应的开发板没有电池检测,可以在代码中注释对 tuya_ai_toy_battery_inittuya_ai_toy_battery_uninit 两个接口的调用。