# sdk-c **Repository Path**: zhedahe/sdk-c ## Basic Information - **Project Name**: sdk-c - **Description**: iotcam的C语言SDK - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2017-10-16 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SIEM测温相机接口文档 # ---------- Changelog: - 2016-11-04: 初始化文档 - 2016-11-13: 增加siem_sdk命令行说明 ---------- ## 一.以太网接口说明 ## **1.广播查询当前网段中的设备数目** **原型:** int siem_broadcast_query( int search_time, char device_ip[][64], char device_name[][64], int max_num_device ); **功能:** 通过udp广播查询设备个数 **输入:** - search_time: 轮询时间(单位s) - device_ip: 查询到的设备ip将会输出至该数组 - device_name: 查询到的设备名称将会输出至该数组 - max_num_device: 最大支持的设备数目 **输出:** 查询到的设备个数 **2.获取连接上下文** **原型:** HCTX siem_context( int local_port ); **功能:** 获得一个上下文(每个线程需要创建一个,且端口号不同) **输入:** - local_port: 上下文占用的本地端口 **输出:** 返回一个上下文 **3.连接一个设备** **原型:** HSIEM siem_connect( HCTX ctx, char* device_ip, int timeout ); **功能:** 连接siem相机,得到一个连接句柄 **输入:** - ctx: 上下文句柄 - device_ip: 设备的ip地址 - timeout: 连接及数据接收时间 **输出:** 连接上则返回相机连接句柄,否则返回NULL **4.获取可见光的JPEG图像** **原型:** int siem_get_jpeg( HSIEM siem, unsigned char* data, int * len_data ); **功能:** 获取一组JPEG图像 **输入:** - siem: 设备的连接句柄 - data: 存放jpeg的缓存区 - len_data: 缓存区大小指针 **输出:** 非0 为错误码, 0为获取成功 **5.获取温度阵列** **原型:** int siem_get_temperature( HSIEM siem, float * data, int * len_data ); **功能:** 获取一组JPEG图像 **输入:** - siem: 设备的连接句柄 - data: 存放温度的缓存区, 温度为16x4阵列 - len_data: 缓存区大小指针 **输出:** 非0 为错误码, 0为获取成功 **6.获取图像和温度的融合JPEG** **原型** int siem_get_fusion( HSIEM siem, unsigned char* bgr, int *w, int *h, int *stride, float low_tempa, float high_tempa, float fastcosr[2], int do_compression ); **功能** 获取融合后的bgr图像 **输入** - siem: 设备的连接句柄 - bgr: 存放bgr的缓存区 - w: 返回bgr的宽度 - h:返回bgr的高度 - stride: 图像的行字节数 - low_tempa: 色彩映射的最低温度 - high_tempa: 色彩映射的最高温度 - fastcosr: 温度场映射参数, 可由siem_get_param函数获得 res = siem_get_param(hsiem, "fastcosr", data); if (res == 0) { sscanf(data, "%f%f", fastcosr, fastcosr + 1); printf("Corresponding param: %f, %f\n", fastcosr[0], fastcosr[1]); } - do_compression: 是否做jpeg压缩, 当前无效. **输出** 非0 为错误码, 0为获取成功 **备注** 图像融合在上位机SDK中完成 **7.参数设定** **原型** int siem_set_param( HSIEM siem, char* param_name, char* param_value ); **功能** 设定参数 **输入** - siem: 设备的连接句柄 - param_name: 参数名称 - param_value: 参数值 **输出** 非0 为错误码, 0为获取成功 **8.重启相机** **原型** int siem_restart( HSIEM siem ); **功能** 设定参数 **输入** - siem: 设备的连接句柄 **输出** 非0 为错误码, 0为重启成功 **9.更新代码** **原型** int siem_bin_update( HSIEM siem, const char* bin_file ); **功能** 通过提供的二进制代码升级设备内核版本 **输入** - siem: 设备的连接句柄 - bin_file: 升级代码(bin)的路径 **输出** 非0 为错误码, 0为重启成功 **10.断开连接** **原型** int siem_disconnect( HSIEM siem ); **功能** 设定参数 **输入** - siem: 设备的连接句柄 **输出** 非0 为错误码, 0为获取成功 **11.释放上下文** **原型** int siem_context_free( HCTX ctx ); **功能** 设定参数 **输入** - ctx: 设备上下文句柄 **输出** 非0 为错误码, 0为释放成功 ## 二.串口接口函数说明 ## ## 三.可设定/读取参数列表 ##

参数名称

参数列表

light

1: 开启闪光灯

0: 关闭闪光灯

nightmode

0: 白天图像模式(速度快,噪声大)

1: 暗光模式(速度慢,图像质量好)

2: 暗光模式2

resolution

1280x1024:130万像素模式

800x600: 48万像素模式

640x480: VGA模式

320x240: QVGA模式

brightness

1,2,3,4,5:5级亮度模式

whitebalance

0: 自动 1: 太阳 2: 阴天 3: 办公室 4: 室内

agc

自动增益控制:

2: 2倍增益自适应

4: 4倍增益自适应

gain

手动增益控制:

1-4x:分别为1x到4x倍增益

ip

设置相机ip: Ip,netmask,gateway

示例:192.168.1.200,255.255.255.0,192.168.1.1

fastcosr

设置温度场对应参数: offset, scale

示例:0, 16 (默认值)

sdk-version

取得内部软件版本号,仅支持查询

## 四. siem_sdk命令行说明 ## siem_sdk是远鉴提供的标准设备测试命令,可在windows与linux下采用命令行方式查询,查看以及控制设备状态。 siem_sdk的基本使用方法为,使用-c指定命令参数,使用-i指定设备ip地址(处广播查询设备外): - 搜索设备: `siem_sdk.exe -c query` - 开启闪光灯: `siem_sdk.exe -c param -p light -v 1 -i 192.168.1.101` - 温度叠加测试: `siem_sdk.exe -c fusion -i 192.168.1.101` 其可设定的参数包括: - -c, --command: 指定当前命令 1. query: 查询命令,用于广播查询设备 2. jpeg: dump当前设备的可见光图像,输出jpeg 3. them: 输出当前设备的测温矩阵 4. video: 连续读取设备图像,显示视频 5. fusion: 显示融合完的设备图像与温度场信息 6. param: 读取或设定参数 7. restart: 重启当前设备 8. update: 更新当前设备的内核 - -p, --param: 指定参数名称 - -v, --value: 指定参数值,不输入则自动读取 - -t, --timeout: 设定超时时间,默认为10秒 - -i, --device_ip: 操作设备的ip地址