TuyaOS中控SDK使用二维码扫码的方式进行激活,接入涂鸦云,详细流程如下。
准备工作
配置文件实例
后续的激活相关配置信息都可以从示例config.json中找到,如下所示:
Code: Select all
{
    "pid": "xxxx",
    "uuid": "xxxx",
    "authkey": "xxxxx",
    "storage_path": "/tuya/data/",
    "log_level": 4,
    "sw_ver": "1.0.0",
    "oem": true,
    "tuya": {
        "zigbee": {
            "storage_path": "/tuya/data/",
            "cache_path": "/tmp/",
            "dev_name": "/dev/ttyS0", 
            "cts": 1,
            "thread_mode": 1
        }
    }
}授权信息介绍
在涂鸦开发者平台创建产品,获取到授权信息,包括:pid,uuid,authkey。
● 产品 pid:每一个产品在涂鸦IOT前台创建后,都会生成唯一的ID(product id),此ID可标识产品;
● 固件 key:IOT前台硬件开发新增硬件后,都会生成一个固件key,代表这个固件的唯一标识;
● oem:表示客户开发的固件是否支持oem。打个比方,开发者开发的同一个中控程序,可以适配不同型号的中控,虽然pid不相同,但是固件key可以相同,便于后续统一ota升级等。
因此,config.json文件配置可以如下:
1、不需要oem,pid字段填写pid信息,oem设置为false
Code: Select all
{
    "pid": "pidxxxxxx",
    "uuid": "xxxxxx",
    "authkey": "xxxxxx",
    "oem": false,
}2、需要oem,pid字段填写固件key信息,oem设置为true
Code: Select all
{
    "pid": "keyxxxxxx",
    "uuid": "xxxxxx",
    "authkey": "xxxxxx",
    "oem": true,
}开发者可以根据需要灵活使用。
其他配置信息介绍
storage_path:存储目录,TuyaOS中控SDK运行中需要存储数据,请分配一个独立的存储路径,避免SDK内部数据与开发者自己的数据有冲突
log_level:日志等级,最好设置成4,偏于问题排查,不设置的话默认为4
sw_ver:固件版本号,该版本号用于管理固件的升级,适配ota相关接口既可使用涂鸦IOT平台进行固件升级。
zigbee字段:如果需要开发中控的网关功能需要关注,配置zigbee模组的相关信息。
以上相关信息填写正确后,就可以进入中控激活阶段的流程了。
中控激活流程
接口说明
SDK提供了shortURL用于激活设备,您可以将其转换成二维码,用户通过App扫码激活设备。
用法示例:
Code: Select all
static void active_shourturl_cb(char *shorturl)
{
    if (NULL == shorturl) {
        return;
    }
    PR_DEBUG("shorturl : %s", shorturl);
    return;
}
TY_GW_INFRA_CBS_S gw_cbs = {
    .gw_reset_cb       = __gw_reset_cb,
    .gw_upgrade_cb     = __gw_upgrade_cb,
    .gw_active_stat_cb = __gw_active_stat_cb,
    .gw_reboot_cb      = __gw_reboot_cb,
    .gw_active_url_cb  = active_shourturl_cb,
};
op_ret = user_svc_init(&gw_cbs);
if (op_ret != OPRT_OK) {
    PR_ERR("user_svc_init err: %d", op_ret);
    return op_ret;
}二维码生成
在开发阶段,如果没有开发好二维码功能的话,可以使用在线二维码平台,如下:
输入上面日志中的shorturl,生成二维码,然后使用涂鸦智能APP扫码激活。