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;
}

大立科技DM63红外相机SDK开发Ⅰ-连接仪器的更多相关文章

  1. DALSA网口线扫相机SDK开发详解例程(C#版)

    首先吐槽一句,官方的demos写的真的不好,坑爹啊.对于小白来说,开发官方demos为我所用太难了.为什么呢?因为它Dalsa的DALSA.SaperaLT.SapClassBasic.dll中,不仅 ...

  2. Dalsa线扫相机SDK开发-小试牛刀(1)

    拿到了dalsa相机,可以用Sapera软件配置相机,进行图像采集.但是自己开发的话就得撸起袖子写代码了,查了两篇不错的博文,作为指导. Sapera帮助文档 - <好好先生>专栏 - 博 ...

  3. 25-ESP8266 SDK开发基础入门篇--控制WIFI连接路由器

    https://www.cnblogs.com/yangfengwu/p/11324411.html 说个事情,现在SDK的版本已经出到3.0了,但是我还是使用2.0 如果只是为了学习研究   选择3 ...

  4. Kinect for Windows SDK开发入门(15):进阶指引 下

    Kinect for Windows SDK开发入门(十五):进阶指引 下 上一篇文章介绍了Kinect for Windows SDK进阶开发需要了解的一些内容,包括影像处理Coding4Fun K ...

  5. Kinect for Windows SDK开发入门(二):基础知识 上

    原文来自:http://www.cnblogs.com/yangecnu/archive/2012/03/31/KinectSDK_Application_Fundamentals_Part1.htm ...

  6. Kinect for Windows SDK开发入门(一):开发环境配置

    [译]Kinect for Windows SDK开发入门(一):开发环境配置 前几天无意中看到微软发布了Kinect for windows sensor,进去看了一下Kinect应用的例子,发现K ...

  7. 海康抓拍机SDK开发

    前言 项目采购的海康威视的抓拍机,需要首先获取抓拍图片,之后基于抓拍图片进行图像处理.本文基于海康SDK开发文档,按照开发步骤,咨询海康技术人员,现将开发过程记录如下. 主要过程的c++代码: /** ...

  8. Vmware Vsphere WebService SDK开发(第一讲)-基本知识学习

    刚开始这方面开发的时候,不知道如何下手,能够查到的资料特别少,而且看到很多网友和我一样也在找这方面的资料.接下来的一段时间我就结合自己所参与的项目,完成关于Vmware Vsphere WebServ ...

  9. 如何使用Add-on SDK开发一个自己的火狐扩展

    黄聪:如何使用Add-on SDK开发一个自己的火狐扩展 火狐开放了扩展的开发权限给程序员们,相信很多人都会希望自己做一些扩展来方便一些使用. 我最近做一些项目也需要开发一个火狐扩展,方便收集自己需要 ...

  10. 黄聪:如何使用Add-on SDK开发一个自己的火狐扩展

    火狐开放了扩展的开发权限给程序员们,相信很多人都会希望自己做一些扩展来方便一些使用. 我最近做一些项目也需要开发一个火狐扩展,方便收集自己需要的数据,因此研究了几天怎么开发,现在已经差不多完成了,就顺 ...

随机推荐

  1. Avalonia 列表拖拽替换

    实现目标,在一个ListBox中选择一个子项进行拖拽到另一个ListBox中,拖拽到某一子项区域进行替换 下面是axaml代码 1 <ListBox 2 Name="consumabl ...

  2. 好用的css3特性-过渡和2D变换

    css3中有很多非常好用的特性,今天来总结一下与动画相关,包括过渡.2D变换. 首先来介绍一下过渡,过渡是在进行变化的时候进行的一个缓冲,如果没有过渡,当变更了元素的位置.大小的数据时,会一瞬间完成变 ...

  3. 桌面应用打包:pyinstaller

    1 背景 在使用python开发一些小工具时,如果其他人电脑中没有python环境或者没有安装相应的第三方库,是没办法运行的,而要求对方安装又不现实,尤其是对方不是技术人员,因此如何将一个独立的pyt ...

  4. [数据分析与可视化] Python绘制数据地图5-MovingPandas绘图实例

    MovingPandas是一个基于Python和GeoPandas的开源地理时空数据处理库,用于处理移动物体的轨迹数据.关于MovingPandas的使用见文章:MovingPandas入门指北,本文 ...

  5. ctfshow--web入门--文件上传

    ctfshow--web入门--文件上传 web151(前端校验) 题目中提示前端检验不可靠,应该对前端检验进行绕过 检查前端代码进行修改,使php文件可以通过前端校验,成功上传后进行命令执行,找到f ...

  6. Qt安卓开发经验技巧总结V202308

    01:01-05 pro中引入安卓拓展模块 QT += androidextras . pro中指定安卓打包目录 ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android ...

  7. 《Kali渗透基础》13. 无线渗透(三)

    @ 目录 1:无线通信过程 1.1:Open 认证 1.2:PSK 认证 1.3:关联请求 2:加密 2.1:Open 无加密网络 2.2:WEP 加密系统 2.3:WPA 安全系统 2.3.1:WP ...

  8. 如何用PHP写接口

    当用PHP编写API接口时,可以使用PHP中的框架(如Laravel.Symfony.CodeIgniter等)来简化开发过程.接下来,以使用Laravel框架为例,提供一个简单的示例代码: 首先,确 ...

  9. QA|Pycharm:allure : 无法将“allure”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。|Allure

    Pycharm中生成allure测试报告时报错如图: 单独执行allure --version也不行,cmd这样执行也报同样的错 网上查了 说是环境变量问题,加一下cmd可以了,重启pycharm也可 ...

  10. PowerShell收集信息及绕过PowerShell权限

    PowerShell脚本的4种执行权限: Restricted:默认设置,不允许任何script运行 AllSigned:只能运行经过数字证书签名的script RemoteSigned:本地脚本不做 ...