本文以C Link SDK中的Demo文件./demos/devinfo_posix_demo.c为例,介绍如何调用Link SDK的API,向物联网平台,上报或删除设备标签。

背景信息

  • 设备标签功能的更多信息,请参见概述

  • 设备标签功能基于MQTT接入,开发过程中涉及MQTT接入的代码说明,请参见MQTT接入

步骤一:初始化

  1. 添加头文件。
    ……
    ……
    
    #include "aiot_devinfo_api.h"
  2. 配置底层依赖和日志输出。
        aiot_sysdep_set_portfile(&g_aiot_sysdep_portfile);
        aiot_state_set_logcb(demo_state_logcb);
  3. 调用aiot_devinfo_init,创建Devinfo客户端实例,并初始化默认参数。
        devinfo_handle = aiot_devinfo_init();
        if (devinfo_handle == NULL) {
            demo_mqtt_stop(&mqtt_handle);
            printf("aiot_devinfo_init failed\n");
            return -1;
        }

步骤二:配置功能

调用aiot_devinfo_setopt,配置以下功能。

  1. 关联MQTT连接的句柄。
    注意 配置设备标签功能参数前,请确保已配置设备认证信息等相关参数。具体操作,请参见MQTT配置连接参数
    • 示例代码:
          aiot_devinfo_setopt(devinfo_handle, AIOT_DEVINFOOPT_MQTT_HANDLE, mqtt_handle);
    • 相关参数:
      配置项 示例 说明
      AIOT_DEVINFOOPT_MQTT_HANDLE mqtt_handle 设备标签功能的请求基于MQTT连接,通过该配置项,关联MQTT连接句柄。
  2. 配置消息回调
    • 示例代码:
          aiot_devinfo_setopt(devinfo_handle, AIOT_DEVINFOOPT_RECV_HANDLER, (void *)demo_devinfo_recv_handler);
    • 相关参数:
      配置项 示例值 说明
      AIOT_DEVINFOOPT_RECV_HANDLER demo_devinfo_recv_handler 接收到设备标签相关消息时,调用该函数。
  3. 配置状态监控