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扫码激活。