涂鸦云平台设备授权介绍

涂鸦云平台设备授权介绍

想要使用涂鸦云 IoT 平台,需要对设备进行授权,本文便是对使用涂鸦云常见的几种授权方式进行一个介绍。

1. 授权方式介绍

对于嵌入式开发来说,在使用涂鸦云时常见的授权方式有两种,一种是使用上位机进行烧录授权,另一种则是使用 UUID 和 AuthKey 的方式进行授权。

在进行授权时,主要有下图中三种方式:生产凭证,授权码清单,生产凭证-仅授权。

在这里插入图片描述

  • 生产凭证:要使用涂鸦提供的上位机进行烧录授权。

  • 授权码清单:提供 UUID 和 AuthKey ,开发者通过代码的方式将提供的 UUID 和 AuthKey 写入到加密 flash 中(也就是本文要详细介绍的方式)。

  • 生产凭证-仅授权:要使用涂鸦提供的上位机仅进行授权操作,不烧录固件。

在使用上述几种方式进行授权,其原理都是一样,都是将 UUID 和 AuthKey 写入到指定的 flash 中。只不过使用生产凭证进行授权时,是通过上位机将 UUID 和 AuthKey 写入到加密 flash 中。

2. 使用授权码清单进行授权

通过使用授权码清单进行授权,就不用再通过使用使用上位机进行授权了,方便开发。

具体操作代码如下:

#include "tuya_iot_wifi_api.h"

#define UUID "tuyaxxxxxxxxxxxxa4c6"
#define AUTHKEY "GPwIxxxxxxxxxxxxxxxxxxxxxxxx1maj" // 这里的 UUID, Authkey 是无效的!!!

WF_GW_PROD_INFO_S prod_info = {
    
    UUID, AUTHKEY};
ws_db_init_mf();
op_ret = tuya_iot_set_wf_gw_prod_info(&prod_info);
if (OPRT_OK != op_ret) {
    
    
    PR_ERR("tuya_iot_set_gw_prod_info err:%d", op_ret);
}

这里的是通过 tuya_iot_set_wf_gw_prod_info() 函数将 UUID 和 AuthKey 写入到加密 flash 中的。ws_db_init_mf() 是用来初始化加密 flash 的。

还有一点需要的注意的是,该函数的调用应该在 tuya_iot_wf_soc_dev_init() 函数之前,这是因为tuya_iot_wf_soc_dev_init() 执行之后设备就进入了配网模式,如果之前连过网那么设备就会直接去连接云。如果在此之后进行初始化的话,就有可能会出现设备连云的时候 UUID 和 AuthKey 还没写入。

还有最为重要的一点,一个 UUID 和 AuthKey 代表一台设备,不能多个设备同时使用一个 UUID 和 AuthKey 。如果多个设备同时使用一个 UUID 和 AuthKey 这样会导致设备频繁掉线的,这就有点类似于你使用多台手机同时登录一个 QQ 一样。

3. 应用示例

这里提供了一个简单的应用示例,基于 TuyaOS 3.3.0,也就是通过 VS code 中的 Wind IDE 插件下载的。

关于 TuyaOS 3.3.0,可以点击查看更多详情。

猜你喜欢

转载自blog.csdn.net/sandwich_iot/article/details/126765926
今日推荐