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

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开发Ⅰ-连接仪器的更多相关文章
- DALSA网口线扫相机SDK开发详解例程(C#版)
首先吐槽一句,官方的demos写的真的不好,坑爹啊.对于小白来说,开发官方demos为我所用太难了.为什么呢?因为它Dalsa的DALSA.SaperaLT.SapClassBasic.dll中,不仅 ...
- Dalsa线扫相机SDK开发-小试牛刀(1)
拿到了dalsa相机,可以用Sapera软件配置相机,进行图像采集.但是自己开发的话就得撸起袖子写代码了,查了两篇不错的博文,作为指导. Sapera帮助文档 - <好好先生>专栏 - 博 ...
- 25-ESP8266 SDK开发基础入门篇--控制WIFI连接路由器
https://www.cnblogs.com/yangfengwu/p/11324411.html 说个事情,现在SDK的版本已经出到3.0了,但是我还是使用2.0 如果只是为了学习研究 选择3 ...
- Kinect for Windows SDK开发入门(15):进阶指引 下
Kinect for Windows SDK开发入门(十五):进阶指引 下 上一篇文章介绍了Kinect for Windows SDK进阶开发需要了解的一些内容,包括影像处理Coding4Fun K ...
- Kinect for Windows SDK开发入门(二):基础知识 上
原文来自:http://www.cnblogs.com/yangecnu/archive/2012/03/31/KinectSDK_Application_Fundamentals_Part1.htm ...
- Kinect for Windows SDK开发入门(一):开发环境配置
[译]Kinect for Windows SDK开发入门(一):开发环境配置 前几天无意中看到微软发布了Kinect for windows sensor,进去看了一下Kinect应用的例子,发现K ...
- 海康抓拍机SDK开发
前言 项目采购的海康威视的抓拍机,需要首先获取抓拍图片,之后基于抓拍图片进行图像处理.本文基于海康SDK开发文档,按照开发步骤,咨询海康技术人员,现将开发过程记录如下. 主要过程的c++代码: /** ...
- Vmware Vsphere WebService SDK开发(第一讲)-基本知识学习
刚开始这方面开发的时候,不知道如何下手,能够查到的资料特别少,而且看到很多网友和我一样也在找这方面的资料.接下来的一段时间我就结合自己所参与的项目,完成关于Vmware Vsphere WebServ ...
- 如何使用Add-on SDK开发一个自己的火狐扩展
黄聪:如何使用Add-on SDK开发一个自己的火狐扩展 火狐开放了扩展的开发权限给程序员们,相信很多人都会希望自己做一些扩展来方便一些使用. 我最近做一些项目也需要开发一个火狐扩展,方便收集自己需要 ...
- 黄聪:如何使用Add-on SDK开发一个自己的火狐扩展
火狐开放了扩展的开发权限给程序员们,相信很多人都会希望自己做一些扩展来方便一些使用. 我最近做一些项目也需要开发一个火狐扩展,方便收集自己需要的数据,因此研究了几天怎么开发,现在已经差不多完成了,就顺 ...
随机推荐
- 使用 python 快速搭建http服务
python -m SimpleHTTPServer 8888 使用上面的命令可以把当前目录发布到8888端口. 直接浏览器访问 但是这条命令是当前运行的,不是后台运行的,也就是说如果Ctrl + C ...
- Combobox后台绑定
本文主要介绍WPF中Combobox的后台绑定,我在这里主要讲解数据驱动 1.对于前台绑定,我们首先写出想要绑定的对象 新建一个Models文件夹,将Student类写入 public class S ...
- 开机自动打开termux以及启动termux的服务
ps:因为我们的服务是安装在平板上面的termux,客户不想维护麻烦,如果平板重启之后还需要手动启动ternux,还要开启命令启动服务,这样比较麻烦,所以研究如下操作 1.安装macroDroid 直 ...
- mybatis-plus+nacos配置中心和服务发现保姆级教程
默认你已经看了我的Mybatis-Plus+Mysql的教程,现在有了一个简单的项目如下(之前的教程: https://www.cnblogs.com/leafstar/p/17638741.htm ...
- [信友队图灵杯中级组-D]基础循环结构练习题
2023-5-13 题目 题目传送门 难度&重要性(1~10):6.5 题目来源 信友队图灵杯 题目算法 构造 解题思路 我们可以知道,在一开始我们得到的 \(a\) 数组是 \(1,2,3, ...
- TCP 粘包
TCP(Transmission Control Protocol,传输控制协议)是一种传输层协议. TCP提供了以下主要功能: 可靠性:TCP使用确认.重传和校验等机制来确保数据的可靠传输.它能够检 ...
- AgileConfig-1.7.0 发布,支持 SSO 🎉🎉🎉
AgileConfig 已经好久好久没有更新过比较大的功能了.一是 AgileConfig 本身的定位就是比较轻量,不想集成太多的功能.二是比较忙(懒).但是本次升级给大家带来了一个比较有用的功能 S ...
- msvc++中的预编译头文件pch.hpp和stdafx.h
预编译头文件 在 Visual Studio 中创建新项目时,会在项目中添加一个名为 pch.h 的"预编译标头文件". (在 Visual Studio 2017 及更高版本中, ...
- ios添加库文件
- Redis沙盒逃逸(CVE-2022-0543)漏洞复现
0x01 概述 Redis 是著名的开源 Key-Value 数据库,其具备在沙箱中执行 Lua 脚本的能力.Debian 以及 Ubuntu 发行版的源在打包 Redis 时,在 Lua 沙箱中遗留 ...