收藏 分享(赏)

一卡通接口说明.doc

上传人:kpmy5893 文档编号:9187140 上传时间:2019-07-28 格式:DOC 页数:8 大小:54.50KB
下载 相关 举报
一卡通接口说明.doc_第1页
第1页 / 共8页
一卡通接口说明.doc_第2页
第2页 / 共8页
一卡通接口说明.doc_第3页
第3页 / 共8页
一卡通接口说明.doc_第4页
第4页 / 共8页
一卡通接口说明.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、1790 一卡通接口说明本文档将用最简单的方法说明一卡通接口,如该文档不能满足客户的需求,请参考详细说明文档中的内容一、简单说明操作流程:将更衣柜钥匙设置成有效,就可以开柜锁;设置成无效就不能开柜锁。如果此更衣柜钥匙还要开包房锁,则写该包房锁的验证码到此钥匙,则就可以开相应的包房锁。当客人结帐时,如果读取到占用寄存柜,管理软件应提示客人是否有东西落到寄存柜里,然后清除该钥匙中所存储的寄存柜号码。软件流程:主程序启动后,应调用 FindCk()打开串口,接着调用StartupforRecv(),启动接收线程;主程序一定要建立消息响应机制,然后主程序处理其他事务。当有开门卡(即更衣柜钥匙)接触读头

2、后,动态库将发送自定义消息到主程序,主程序自动进入消息处理,调用GetInfoFromCom(),获取开门卡的卡号序列,调用 IsValid()获得该卡是有效还是无效。如果需要设置有效或无效则调用SetValid() ;如果需要读取该开门卡所占用的寄存柜号则调用ReadCabinet() ;如果需要清除该开门卡所占用的寄存柜号调用ClearCabinet();如果需要设置包房号(即包房验证码)则调用SetRoomNum() 。期间,如果需要声音提示,则调用SetReaderVoice(),驱动读卡器发声(建议驱动电脑音箱进行声音提示,可靠性和灵活性要好) 。如果操作多张卡,要不断的重复带下划线

3、文字所描绘的操作。如果遇到异常情况,可调用 CancelCommand()取消命令。SetReaderVoice()可按主程序的意愿随时调用,发卡器不主动发出任何声音。要退出主程序时,调用 EndforRecv(),退出接收线程。最后调用 CloseCK(),关闭串口,退出主程序。注:SetValid() 、ReadCabinet() 、SetRoomNum() 、ClearCabinet()4 个函数为阻塞调用(不操作成功不返回,需等待) ,可随时通过调用 ExitWaiting()退出上述函数(如果不再需要执行此操作,需要调用 CancelCommand(),彻底终止此操作) 。分步说明如

4、下:1、必须步骤: 主程序启动后,应调用 FindCk()打开串口,接着调用 StartupforRecv()启动接收线程( 主程序必须建立消息响应机制,参考“如何使用该开发语言自定义消息(自己查资料) ”) ;任何操作均在启动接收线程后,才有意义。要退出主程序时,调用 EndforRecv(),退出接收线程。最后调用 CloseCK(),关闭串口,退出主程序。2、如何读取卡号?主程序必须建立消息响应机制。当有开门卡接触读头后,动态库会自动发送消息到主程序,主程序要自动进入消息处理,然后调用 GetInfoFromCom(),获取开门卡的卡号序列,调用 IsValid()获得该卡是有效还是无效

5、。3、如何设置有效无效?调用 SetValid() ,设置有效或无效,返回 TRUE 表明设置成功,返回 FALSE 表明设置失败。4、如何读取或清除手牌所占用的寄存柜号?调用 ReadCabinet() 读取手牌所占用的寄存柜号。调用 ClearCabinet()清除手牌所占用的寄存柜号。5、如何设置包房验证码(包房锁如何操作)?根据用户需求,包房锁有两种工作方式。(1) 、包房锁钥匙固定(需将锁设置到客房模式):即包房和钥匙一一对应,和柜门锁操作一样,没有特殊之处。只要把包房锁视为柜门锁使用即可。(2) 、包房锁钥匙不固定(需将锁设置到包房模式):即任何一张更衣柜钥匙,都可以写入包房锁所对

6、应的验证码,从而打开相应的包房锁。这时需要调用 SetRoomNum() 写验证码到更衣柜钥匙。二、相关函数1、 void _ CloseCK()函数功能:关闭串口返回:无2、 BOOL FindCk()函数功能:自动搜索插有发卡器的串口并打开返回:找到发卡器并成功打开串口返回 TRUE,没找到发卡器或打开失败返回 FALSE;说明 :在主程序启动时调用 FindCk()打开串口,在主程序退出时调用 CloseCK()关闭串口。3、 BOOL StartupforRecv(HWND hWnd,unsigned int MSS)函数功能:此函数在动态库中产生一个接收线程,用于循环接收串口的数据,

7、如读到有合法数据,则发送一个消息到主程序。主程序接到该消息后,进行数据处理。参数:hWnd ,主程序的窗口句柄; MSS,为自定义的消息值。动态库接收到合法数据后,将发送 MSS 消息到主程序,主程序只要响应该消息即可。进入消息处理后,调用GetInfoFromCom(),获取该字符串。返回:返回 TRUE,表明创建接收线程成功,返回 FALSE,表明创建接收线程失败。4、BOOL EndforRecv();函数功能:结束接收线程。返回:成功结束已启动的线程返回 TRUE,反之返回 FALSE。说明:通常在主程序启动并成功打开串口后,调用 StartupforRecv()启动接收线程,等待消息

8、处理。在退出程序前,先调用EndforRecv()结束接收线程,关闭串口后,退出程序。5、 char * GetInfoFromCom();函数功能:主程序接收到消息后,获取串口接收到的字符串。返回:返回字符串指针,除起始符和结束符外,为 16 进制字符串。格式说明:1990 只读卡:“* RR RR RR RR RR RR .”,其中“*”起始符,“RR RRRRRRRRRR”卡号, “.”为结束符。1790 读写卡卡号:“#RRRRRRRRRRRRXX. ”,其中“#”起始符,“RRRRRRRRRRRR”为卡号, “XX”为参数,该参数直接描述卡的类型等特性,详见函数 JieMa1790I

9、D(), “.”为结束符。1790 读写卡数据:“:AAXXXXXXXX. ” 其中“:”起始符,“AA”为数据的起始地址, “XXXXXXXX”为数据, “.”为结束符。1790 客房锁时间:“| AABBCCDDEEFF .”,其中“| ”起始符,“AABBCCDDEEFF”时间信息串, “.”为结束符。6、 BOOL SetReaderVoice(int num,int len);函数功能:控制发卡器发出声音参数:num,响声次数,范围 1 到 5 次。Len,响声长度,1 级到 5级。返回:命令成功发送到发卡器返回 TRUE,反之返回 FALSE;说明:此函数在启动接收线程后,可由主程

10、序随时调用,用于提示用户。但在不恰当的时候调用此函数,也会引起接收不到正确的数据,使用时要引起注意。7、 BOOL CancelCommand();函数功能:清除串口发送和接收缓冲区,并取消之前下发给发卡器的操作命令。返回:命令成功发送到发卡器返回 TRUE,反之返回 FALSE;8、 BOOL IsValid()函数功能:判断开门卡是有效还是无效返回:返回 TRUE 表明此开门卡为有效状态,返回 FALSE 表明此开门卡为无效状态;此函数一定在调用 GetInfoFromCom()后调用才有实际意义。GetInfoFromCom()也必然是在进入消息处理后调用才有意义。9、BOOL SetV

11、alid(int st,unsigned long overtime)函数功能:设置开门卡(服务卡等)到有效或无效状态。参数:St: st=0,设置开门卡到无效状态。St=1,设置开门卡到有效状态。Overtime: 超时值,如果超出指定的时间仍然没有操作成功(没有卡贴上) ,则返回 FALSE。overtime=60 超时约为 1 秒,overtime=600超时约为 10 秒。返回:执行成功返回 TRUE,反之返回 FALSE;10、int ReadCabinet(unsigned long overtime)函数功能:读取开门卡所占用的寄存柜号.Overtime: 超时值,如果超出指定的

12、时间仍然没有操作成功(没有卡贴上) ,则返回 FALSE。overtime=60 为 1 秒超时,overtime=600 为10 秒超时。返回:如果大于 0,返回值为读到的寄存柜号码(如果该号码大于9999,通常认为该号码为出厂默认值,该寄存柜号码没有经过设置);等于 0,未读到合法的寄存柜号码。说明:用此函数读到的寄存柜号码为 10 进制,所以设置寄存柜号时,按 10 进制设置,不要有“A、B、C、D、E、F” 16 进制字母。11、BOOL ClearCabinet(unsigned long overtime)函数功能:清除开门卡所占用的寄存柜号.Overtime: 超时值,如果超出指

13、定的时间仍然没有操作成功(没有卡贴上) ,则返回 FALSE。overtime=60 为 1 秒超时,overtime=600 为10 秒超时。返回:清除成功返回 TRUE,清除失败返回 FALSE。12、BOOL SetRoomNum(int Baofang,int valid,char *input,unsigned long overtime)函数功能:设置包房验证码到洗浴开门卡参数:Baofang: Baofang0, 可设置包房号;Baofang=0,不可设置包房号valid: valid0,设置有效期;valid=0, 解除有效期input:验证码,12 位长 16 进制字符串。此验证码应和包房锁中的验证码一致,方能开锁。实际应用中,主程序应在包房房间号和验证码间建立一个对应关系。返回:如果执行成功返回 TRUE,反之返回 FALSE;13、void ExitWaiting()函数功能:此 SetValid()、ReadCabinet() 、 SetRoomNum()、ClearCabinet () 4 个函数,在函数尚未退出时,想强行退出,则调用此函数退出。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报