简体中文

基于IOTCAPIs的局域网设备搜索

星空无限传媒xk8027-高清全集免费看

一、功能概述

TUTK SDK 的 IOTCAPIs 提供一套局域网设备搜索接口,支持在同一路由器下发现在线设备。核心用于 APP 端快速获取局域网内的设备列表,为后续连接、控制等操作提供基础。

当前推荐使用「IOTC_Search_Device_Start + IOTC_Search_Device_Stop + IOTC_Search_Device_Result」组合接口,另外两个旧接口已废弃,不建议再使用。

二、API列表说明

局域网搜索相关API共3组,其中2组已废弃,1组为当前推荐使用接口:

API名称状态功能描述备注
IOTC_Lan_Search2已废弃局域网设备搜索(旧版接口)无替代场景,不建议使用
IOTC_Lan_Search2_Ex已废弃增强版局域网设备搜索(旧版接口)无替代场景,不建议使用
IOTC_Search_Device_Start
IOTC_Search_Device_Stop
IOTC_Search_Device_Result
推荐使用启动搜索 + 停止搜索 + 获取结果组合接口支持自定义超时时间、搜索间隔,非阻塞获取结果

三、使用示例(推荐方案)

以下示例以 C 语言为例,展示完整的局域网设备搜索流程:启动搜索 → 循环获取结果 → 停止搜索。支持最多发现20台设备,非阻塞模式避免UI卡顿。

启动搜索设备

int startRet = IOTC_Search_Device_Start(10000, 100); if (startRet != 0) {    printf("启动设备搜索失败,错误码:%d\n", startRet);    return -1; }

获取最新的设备(可定时查询):

// 设备搜索结果结构体数组 struct st_SearchDeviceInfo devices[20]; int deviceCount = 0; // 获取搜索结果 // 参数1:设备信息存储数组指针 // 参数2:数组长度(最多20) // 参数3:获取模式(0=仅返回新发现设备,1=返回所有已发现设备) int ret = IOTC_Search_Device_Result(devices, 20, 0); if (ret < 0) {    // 搜索出错,退出循环    printf("获取设备搜索结果失败,错误码:%d\n", ret);    break; } else if (ret > 0) {    // 发现新设备,更新设备计数并打印设备信息    deviceCount = ret;    printf("\n本次发现%d台新设备:\n", deviceCount);    for (int i = 0; i < deviceCount; i++) {        printf("  设备%d:\n", i + 1);        printf("    UID:%s\n", devices[i].UID);        // 设备唯一标识        printf("    设备名称:%s\n", devices[i].DeviceName); // 自定义设备名称(需设备端配置)        printf("    IP地址:%s\n", devices[i].IP);        // 设备局域网IP    } }

结束搜索

IOTC_Search_Device_Stop();

示例说明

• 搜索启动:IOTC_Search_Device_Start 传入超时时间和搜索间隔,SDK 内部自动发送广播包搜索设备;

• 结果获取:IOTC_Search_Device_Result 采用非阻塞模式(获取当前最新结果),ret 为本次新发现的设备数量;

• 搜索停止:无论正常结束还是异常退出,都需调用 IOTC_Search_Device_Stop 释放资源,避免内存泄漏。

四、开发Tips

1. 隐藏设备UID,使用自定义标识

若不想在搜索过程中暴露设备 UID(唯一标识),可通过以下方式配置自定义标识:

• 设备端:调用 IOTC_Set_Device_Name(const char* user_define_string) 设置自定义字符串(如设备型号、昵称等);

• APP端:通过 st_SearchDeviceInfo.DeviceName 获取该自定义标识,替代 UID 用于设备展示或识别。

2. 自定义局域网搜索端口

SDK 默认使用 32761 端口发送广播包进行设备搜索,若需修改端口(如避免端口冲突),可调用:

int32_t IOTC_Set_LanSearchPort(uint16_t nPort)

即刻开启您的物联网之旅

联系解决方案专家
Kalay App
资讯安全白皮书
全球专利布局
解决方案
新闻动态
公司动态
行业资讯
媒体报道
永续发展
经营者的话
社会参与
环境永续
公司治理

+86 755 27702549

7×24小时服务热线

法律声明 隐私权条款

关注“TUTK”

TUTK服务尽在掌握

© 2022 星空无限传媒xk8027版权所有粤ICP备14023641号
在线咨询
扫一扫

TUTK服务尽在掌握

全国免费服务热线
+86 755 27702549

返回顶部