大立科技DM63红外相机SDK开发Ⅰ-连接仪器

本文介绍了如何利用VisualStudio2022和C++,结合DMSDK库来连接和操作仪器。首先下载VisualStudio并创建项目,然后导入DMSDK的头文件和库。接着初始化数据,包括IP地址、端口、用户名和密码,调用DM_ConnectWithName进行连接。成功连接后,可以进行设置测温区域、获取仪器时间等操作。最后,程序会等待用户按下Esc键再断开仪器连接。
摘要由CSDN通过智能技术生成

1、开发准备

为了方便发开,需要下载Visual Studio,本开发基于Visual Studio 2022,使用C++。

通过Visual Studio创建好项目后,将DMSDK V1.16.3内所有文件复制到创建好的项目文件内。

2、导入头文件

 通过Visual Studio在源文件处创建C++文件,用来开发,如下图所示。

在C++文件内包含所需要使用的头文件。

#include <iostream>
#include <windows.h>
//#include <stdio.h>
#include <conio.h> // 用于读取键盘输入
#include "DMSDK.h"
#pragma comment(lib, "DMSDK.lib")

 3、数据初始化,连接仪器

 将我们需要使用到的相关数据进行初始化,如IP地址、端口、用户名、密码等

DM_Init();
// 连接仪器
HWND hwnd = NULL(); // 替换为实际的消息处理窗口句柄
char ipAddress[] = "192.168.1.2";  // 替换为实际的仪器IP地址
int port = 80;                       // 替换为实际的命令端口
char userName[] = "admin";           // 替换为实际的用户名
char password[] = "admin";          // 替换为实际的密码

 通过DM_ConnectWithName函数进行连接,并判断是否连接成功

int handle = DM_ConnectWithName(hwnd, ipAddress, port, userName, password);
if (handle > 0) {
    std::cout << "连接成功,操作句柄:" << handle << std::endl;
    //进行相关操作..

}
else {
    std::cout << "连接失败" << std::endl;
}

4、仪器相关操作

连接成功后我们可以对仪器进行相应的控制,比如设置测温区域,得到仪器时间等

// 设置测温区域.
DM_SetArea(handle, 1, 100, 100, 300, 200, 90, 2);

//得到仪器时间
char DateTime[100];
DM_GetDateTime(handle, DateTime);
std::cout << "仪器时间:" << DateTime << std::endl;

5、断开连接

最后我们需要断开仪器的连接,并判断是否断开成功

// 断开连接
int disconnectResult = DM_Disconnect(handle);
if (disconnectResult >= 0) {
    std::cout << "断开连接成功" << std::endl;
}
else {
    std::cout << "断开连接失败" << std::endl;
}

6、总代码

#include <iostream>
#include <windows.h>
#include <conio.h> // 用于读取键盘输入
#include "DMSDK.h"
#pragma comment(lib, "DMSDK.lib")

int main() {
    DM_Init();
    // 连接仪器
    HWND hwnd = NULL(); // 替换为实际的消息处理窗口句柄
    char ipAddress[] = "192.168.1.2";  // 替换为实际的仪器IP地址
    int port = 80;                       // 替换为实际的命令端口
    char userName[] = "admin";           // 替换为实际的用户名
    char password[] = "admin";          // 替换为实际的密码
    int handle = DM_ConnectWithName(hwnd, ipAddress, port, userName, password);
    if (handle > 0) {
        std::cout << "连接成功,操作句柄:" << handle << std::endl;

        // 设置测温区域.
        DM_SetArea(handle, 1, 100, 100, 300, 200, 90, 2);

        //得到仪器时间
        char DateTime[100];
        DM_GetDateTime(handle, DateTime);
        std::cout << "仪器时间:" << DateTime << std::endl;

        //等待按下Esc键
        std::cout << "按下Esc键关闭连接..." << std::endl;
        while (!_kbhit() || _getch() != 27) { // 按下的键不是Esc键,则继续等待
            // 在此处可以执行其他操作
        }

        // 断开连接
        int disconnectResult = DM_Disconnect(handle);
        if (disconnectResult >= 0) {
            std::cout << "断开连接成功" << std::endl;
        }
        else {
            std::cout << "断开连接失败" << std::endl;
        }
    }
    else {
        std::cout << "连接失败" << std::endl;
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放氮气的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值