酒店智能门锁接口pro[0922]D801 对接收银-SAAS本地化-未来之窗行业应用跨平台架构

news2025/2/22 13:35:26

proUSB接口函数[0922中性版]-D801

调用函数库:

提供Windows下的32位动态连接库proRFL.DLL,函数使用详细说明

//-----------------------------------------------------------------------------------//

功能:读DLL版本,不涉及USB口操作

C++原型:int __stdcall GetDLLVersion(uchar *bufVer)

返回:DLL版本

//-----------------------------------------------------------------------------------//

功能:打开USB

C++原型:int __stdcall initializeUSB(uchar d12)

参数说明:

d12 à USB类型,对于proUSB固定为1

返回:0表示成功,否则失败

注意:以下的函数均要用到此参数,均固定为1

//-----------------------------------------------------------------------------------//

功能:关闭proUSB

C++原型:void __stdcall CloseUSB(uchar d12)

参数说明:

d12 à USB类型,对于proUSB固定为1,只能关闭proUSB

返回:没有返回值

注意:关闭以后就不能操作USB了,如果要操作USB,请先用initializeUSB打开USB

//-----------------------------------------------------------------------------------//

功能:发卡器鸣叫一声

C++原型:int __stdcall Buzzer(uchar d12,unsigned char t)

参数说明:

d12 à USB类型,对于proUSB固定为1

t à鸣叫时间,乘以10毫秒

返回:0表示成功,否则失败

//-----------------------------------------------------------------------------------//

功能:发行“宾客卡”,又称“宾客卡”或“房卡”

C++原型:int __stdcall GuestCard(uchar d12,int dlsCoID,uchar CardNo,uchar dai,uchar LLock,uchar pdoors,uchar BDate[10],uchar EDate[10],uchar LockNo[8],uchar *cardHexStr)

参数说明:

d12 à USB类型,对于proUSB固定为1

  dlsCoID à 酒店标识,可以从现有卡片读取

  CardNo à 同一分钟内发卡最多16张,每发一张卡加1

  Dai à 客人代,0--255,用于后卡覆盖前卡,一般情况下固定为0

  LLock à 反锁标志,1能开反锁,0不能开反锁

  pdoors à 公共门标志,1能开公共门,0不能开

  BDate à 发卡时间10位数字字符串,包含年月日时分,各占两位

例:'0905201345'表示2009/05/20 13:45

  EDate à 退房时间10位数字字符串,包含年月日时分,各占两位

  LockNo à 房间号8位数字字符串,从门锁软件的房间定义里获取

cardHexStr à 返回的卡数据字符串

返回:0表示成功,否则失败

//-----------------------------------------------------------------------------------//

//常开宾客卡

C++原型:int __stdcall GuestCard1(uchar d12,int dlsCoID,uchar CardNo,uchar dai,uchar LLock,uchar pdoors,uchar BDate[10],uchar EDate[10],uchar RoomNo[8],uchar *cardHexStr)

所有参数跟GuestCard完全一样,只是发出来的宾客卡具备常开功能,也就是刷一下宾客卡,门锁处于常开状态。压住手柄再刷宾客卡,即解除常开。

//-----------------------------------------------------------------------------------//

功能:读取卡片数据

C++原型:int __stdcall ReadCard(uchar d12,uchar *buffData)

d12 à USB类型,对于proUSB固定为1

buffData à 返回的卡数据字符串,有数据头551501表示成功,

从第25个字符开始的8个字符是卡的唯一号,也称为卡的ID号

返回:0表示成功,否则失败

对于M1卡,从第57个字符开始的8个字符是卡序列号,也称为卡的固有ID号

//-----------------------------------------------------------------------------------//

功能:注销卡片

C++原型:int __stdcall CardErase(uchar d12,int dlsCoID,unsigned char *cardHexStr)

d12 à USB类型,对于proUSB固定为1

  dlsCoID à 酒店标识,可以从现有卡片读取

cardHexStr à 返回的卡数据字符串

返回:0表示成功,否则失败

//-----------------------------------------------------------------------------------//

功能:挂失卡片

C++原型:int __stdcall LimitCard(uchar d12,int dlsCoID,uchar CardNo,uchar dai,uchar BDate[10],uchar LCardNo[4],uchar *cardHexStr)

参数说明:

d12 à USB类型,对于proUSB固定为1

  dlsCoID à 酒店标识,可以从现有卡片读取

  CardNo à 同一分钟内发卡最多16张,每发一张卡加1

  Dai à 代,0--255,用于后卡覆盖前卡,一般情况下固定为0

  BDate à 发卡时间10位数字字符串,包含年月日时分,各占两位

例:'0905201345'表示2009/05/20 13:45

  uchar LCardNo à 遗失卡的卡流水号,4个字节,由发卡时间、卡类型、卡号等组成

  cardHexStr à 返回的卡数据字符串

返回:0表示成功,否则失败

//-----------------------------------------------------------------------------------//

功能:读取卡类型

C++原型:int __stdcall GetCardTypeByCardDataStr(unsigned char *cardHexStr, unsigned char *CardType)

cardHexStr à ReadCard函数返回的卡数据字符串

返回:0表示成功,否则失败

CardType==’0’ 控制卡

CardType==’1’ 记录卡

CardType==’2’ 房间设置卡

CardType==’3’ 时钟设置卡

CardType==’4’ 限制卡,也称为挂失卡

CardType==’5’ 区域号设置卡

CardType==’6’ 宾客卡

CardType==’7’ 退房卡

CardType==’8’ 区域卡

CardType==’9’ 未知卡,没有此卡类型

CardType==’A’ 应急卡

CardType==’B’ 总管卡

CardType==’C’ 楼栋卡

CardType==’D’ 楼层卡

CardType==’E’ 未知卡,没有此卡类型

CardType==’F’ 空白卡

//-----------------------------------------------------------------------------------//

功能:读取宾客卡的房间号

C++原型:int __stdcall GetGuestLockNoByCardDataStr(int dlsCoID,unsigned char *cardHexStr, unsigned char *LockNo)

dlsCoID à 当前酒店的酒店标识

cardHexStr à ReadCard函数返回的卡数据字符串

返回:0表示成功,否则失败,

1—卡数据串无效

2—非本酒店卡

3—不是宾客卡

LockNo:房间号,有8位数字字符串组成,同GuestCard函数

//-----------------------------------------------------------------------------------//

功能:读取宾客卡的离店时间

C++原型:int __stdcall GetGuestETimeByCardDataStr(int dlsCoID,unsigned char *cardHexStr, unsigned char *ETime)

dlsCoID à 当前酒店的酒店标识

cardHexStr à ReadCard函数返回的卡数据字符串

返回:0表示成功,否则失败

1—卡数据串无效

2—非本酒店卡

3—不是宾客卡

ETime:离店时间,有10位数字字符串组成,分别为年月日时分,各占两位

//-----------------------------------------------------------------------------------//

功能:读取采集器数据

C++原型:int __stdcall ReadRecord(uchar d12, uchar bufRec[20000])

返回:0表示成功,否则失败

一般来讲,数据仪返回64帧数据,每帧数据包含74个字符,其中前6个固定为552101,最后两个是帧号,倒数第3第4个是校验,中间64个是数据。从第9帧数据开始,每帧数据有4条记录,每16个字符为一条记录

//-----------------------------------------------------------------------------------//

功能:根据采集器数据解析开门记录

C++原型:int __stdcall GetOpenRecordByDataStr(unsigned char *DataStr, unsigned char *sOpen)

返回:0表示成功,否则失败

DataStr:从“记录仪”返回的8字节数据(16个字符)。

sOpen[0]:卡类型,同“读取卡类型”函数

sOpen[1...12]:开门时间,有12位数字字符串组成,分别为年月日时分秒,各占两位(其中秒只能精确到2秒)

//-----------------------------------------------------------------------------------//

功能:读取T5557卡固有的ID号

C++原型:int __stdcall ReadCardID_T5557(uchar d12,uchar *buffData)

d12 à USB类型,对于proUSB固定为1

buffData à 返回的字符串,有数据头550901表示成功,从第7个字符开始的16个字符是T5557卡固有的ID号,一般以E015开头。

返回:0表示成功,否则失败

//-----------------------------------------------------------------------------------//

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1955916.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【大数据】:hdfs相关进程启停管理命令

HADOOP_HOME/sbin/start-dfs.sh,一键启动HDFS集群 执行原理: 在执行此脚本的机器上,启动SecondaryNameNode 读取core-site.xml内容(fs.defaultFS项),确认NameNode所在机器,启动NameNode 读取wor…

AI变现:科技与商业化的交织

随着科技的飞速发展,人工智能(AI)已经从科幻电影中的概念走进了现实生活的各个领域,深刻影响着经济、社会与科技的发展。AI不仅代表着技术的革新,更是推动商业变现的重要力量。本文将深入剖析AI的发展历程,…

数据结构(5.3_5)——二叉树的线索化

第一种寻找中序前驱方法 中序线索化 本质上就是一次中序遍历,只不过需要在一边遍历一边处理结点线索化 代码: //全局变量pre 指向当前访问结点的前驱 ThreadNode* pre NULL;struct ElemType {int value; };//线索二叉树结点 typedef struct ThreadNode…

姜夔,师法自然的不仕道人

姜夔(ku),字尧章,号白石道人,约生于南宋绍兴二十四年(公元1154年),卒于南宋嘉定十四年(公元1221年),享年67岁。他的艺术成就涵盖了诗词、散文、书…

JAVA (IO流) day7.25

ok了家人们今天继续学习io流,废话不多说,我们一起看看吧 一.File类 1.1 File类的概述 通过 File 类与 IO 流进行搭配使用就可以通过 Java 代码将数 据从内存写入到硬盘文件 或者从硬盘文件读取到内存 中。 File 类就是文件和目录路径名的抽象表示形式…

ElasticSearch(es)倒排索引

目录 一、ElasticSearch 二、倒排索引 1. 正向索引 2. 倒排索引 具体细节 1. 文档分析 2. 索引构建 3. 索引存储 4. 词条编码 5. 索引优化 6. 查询处理 示例 总结 3. 正向和倒排 三、总结 倒排索引的基本概念 为什么倒排索引快 一、ElasticSearch Elasticsear…

让开发者生活更轻松的 JavaScript 字符串方法

前端岗位内推来了 JavaScript 最初被引入作为一种简单的客户端脚本语言,但现在,它已经成为一种真正的 WORA(一次编写到处运行)语言,使开发者能够构建桌面、移动、电视、CLI 和嵌入式应用程序。JavaScript 的初学者友好…

HiveSQL题——炸裂+开窗

一、每个学科的成绩第一名是谁? 0 问题描述 基于学生成绩表输出每个科目的第一名是谁呢? 1 数据准备 with t1 as(selectzs as name,[{"Chinese":80},{"Math":70}],{"English"…

IOS-04 Swift 中数组、集合、字典、区间、元组和可选类型

在 Swift 编程语言中,数据结构和类型的合理运用对于高效编程至关重要。接下来,我们将深入探讨数组、集合、字典、区间、元组和可选类型的相关知识。 一、数组(Array) (一)元素定义 可以通过多种方式定义数…

关于 OSPF 序列号范围 0x80000001-0x7FFFFFFF 正本清源

注:机翻,未校对。 正本:RFC 2328 OSPF Version 2 中相关解释 April 1998 12.1.6. LS sequence number 12.1.6. 序列号 The sequence number field is a signed 32-bit integer. It is used to detect old and duplicate LSAs. The space …

【React】详解 React Hooks 使用规则

文章目录 一、Hooks 的基本原则1. 只在最顶层调用 Hooks2. 只在 React 函数组件和自定义 Hooks 中调用 Hooks 二、常见 Hooks 及其使用规则1. useState2. useEffect3. useContext4. useReducer5. useMemo6. useCallback 三、常见错误及其解决方案1. 在条件语句中调用 Hooks2. 在…

「C++系列」数组

文章目录 一、数组1. 声明数组2. 初始化数组3. 访问数组元素4. 遍历数组注意事项示例代码 二、多维数组1. 声明二维数组2. 初始化二维数组3. 访问二维数组元素4. 遍历二维数组注意事项示例代码 三、指向数组的指针1. 声明指向数组的指针2. 通过指针访问数组元素3. 指针和数组的…

文件上传漏洞(ctfshow web151-161)

Web151 F12修改源代码 exts后面png改为php 这样就可以上传php的文件了 Web152: 考点:后端不能单一校验 就是要传图片格式,抓个包传个png的图片 然后bp抓包修改php后缀解析 然后放包 Web153-web156 在php代码中可以使用“{}”代替“[]” …

Go语言实战:基于Go1.19的站点模板爬虫技术解析与应用

一、引言 1.1 爬虫技术的背景与意义 在互联网高速发展的时代,数据已经成为新的石油,而爬虫技术则是获取这种“石油”的重要工具。爬虫,又称网络蜘蛛、网络机器人,是一种自动化获取网络上信息的程序。它广泛应用于搜索引擎、数据分…

机械学习—零基础学习日志(高数14——函数极限概念)

零基础为了学人工智能,真的开始复习高数 后续的速度要加快了~!~~~!! 概念 如何理解 方法一:吴军老师——无穷小是一种动态概念 函数极限,更多表达的是一种动态趋势,而不是一种静态的数值。以…

linux脚本:自动检测的bash脚本,用于检查linux的系统性能

目录 一、要求 二、脚本介绍 1、脚本内容 2、解释 3、使用方法: (1)脚本文件 (2)赋予权限 (3)执行结果 三、相关命令介绍 1、top (1)定义 (2&…

Springboot 整合Elasticsearch

1 java操作ES方式 1.1 操作ES 9300端口(TCP) 但开发中不在9300进行操作 ES集群节点通信使用的也是9300端口如果通过9300操作ES,需要与ES建立长连接 可通过引入spring-data-elasticsearch:transport-api.jar不在9300操作原因:1.springboot版本不同&…

Hive多维分析函数——With cube、Grouping sets、With rollup

有些指标涉及【多维度】的聚合,大的汇总维度,小的明细维度,需要精细化的下钻。 grouping sets: 多维度组合,组合维度自定义;with cube: 多维度组合,程序自由组合,组合为…

学习react-Provider解决props需要层层传递问题

1.组件数据传递问题 数据传递:A(顶级组件)-》B组件(子组件)、C组件(孙子组件)…很多组件 这样得通过props层层传递到下面的组件 还有另一种解决方法,即通过全局对象来解决,使用Prov…

Android 10.0 framework默认沉浸式状态栏功能实现

1. 前言 在10.0的系统rom定制化开发中,在实现状态栏的某些定制化开发中,在某些产品需要实现沉浸式状态栏,就是需要app 能全屏显示同样也能显示状态栏,接下来就来分析下相关的功能实现 如图: 2.framework默认沉浸式状态栏功能实现的核心类 frameworks\base\core\java\andro…