一。酒店智能门锁/门禁智能系统开发需要技术基础有:
1.RFID系统技术基础(常用125KHz和13.56M)
2.八位微处理器开发技术,如C51或者AVR C语言编程技术
3.酒店智能门锁管理软件,常用VB/VC/VS2005/VS2008/DEPHI开发,还需要懂数据库,如SQL
4.卡片知识 ID卡 H4001/
IC卡T5557/E5550/
Mifare I 卡S50/S70
二。技术详解(以低频125KHz为例解剖电子门锁的核心技术)
1.RFID系统原理(详见电子书《无线射频识别技术理论与应用》)
在RFID系统中有两个LC电路:由基站线圈和连接电容组成的LRCR电路以及由应答器线圈和连接电容组成的LTCT电路。在单线圈系统中,要求两个LC电路调谐在相同的谐振频率上。如果基站和应答器的谐振频率不匹配,零调制就会产生,从而降低系统的性能。在系统设计成型后,天线的电感是固定的,因此要改变LC电路的谐振频率,只有调节回路中的电容量。
2.曼码调制的非接触式IC卡的译码及C51编程技术详解
解码程序范例及分析如下:
解码程序结果放在
unsigned long Id[2]={0,0}; //存放ID内码 共64 BIT
没有做检验,因为最终目标是复制用,所以所有数据全部读进来共64BIT,包括前面那9个1。 由于2270芯片,没卡时也会一直有杂波,所以正好下面的函数不需要做错误退出延时处理了, 如果没有杂波,那就说明读卡电路不正常程序经过逻辑分析仪分析,速度一流,载波使能后第一个完整周期就能够正确捕获。 也就是说,平时将2270的CFE置0,要读卡时再置1,再调用该函数就行。 商业的好象半秒读一次。这样省电。
#define Manchester_IN (PIND&(1<<PD2)) //曼彻斯特_码输入端
#define DELAYVALUE 350 //RF64 一个位=512us * 0.75 不用很严格,大于半个周期,小于一个周期就行。
//跟实际的读卡器的125K载波精确度相关,也与卡本身相关
unsigned long Id[2]={0,0}; //存放ID内码 共64 BIT
int ReadAllCode(unsigned long iid[]){ //读所有数据 读到正确 返回1
int k,i,j;
for(k=0;k<200;k++){ //找01 找200次,不能小于100,再大无意义
while(Manchester_IN); //找下降
while(!Manchester_IN); //找上升
delayMicroseconds(DELAYVALUE); //等 T
//digitalWrite(TPin, HIGH);
//digitalWrite(TPin, LOW);
if(Manchester_IN){ //是否找到01
//Serial.println(“Found 01”);
// digitalWrite(TPin, HIGH);
// digitalWrite(TPin, LOW);
for(i=0;i<8;i++){ //再找8次1
while(Manchester_IN); //找下降
delayMicroseconds(DELAYVALUE); //等 T
//digitalWrite(7, HIGH);
//digitalWrite(7, LOW);
if(!Manchester_IN) //不是1就重找01
break;
};
if(i==8)
break; //退出01循环,解数据体
};
}
if(k>=200) //未找到01与9个1
return 0;
//以上找数据头
digitalWrite(TPin, HIGH); //测试用,这样用逻辑分析仪就能看到我的程序运行到哪儿了,找到了什么波形 分析起来很方便。
//以下为读真正的数据共 64-9=55bit
//9个1
iid[0]=0x1ff; //9个1
iid[1]=0x0;
while(Manchester_IN); //找下降
for(i=0;i<2;i++) { //共找2 长整型(32bit) 实际是找 55 bit
for( j=0;j<32;j++){ //找32位
if((i==0) && (j==23)) //第一位只要读23位,前面是9个1
break ;
delayMicroseconds(DELAYVALUE); //等 T
iid[i]<<=1;
if(Manchester_IN) { //是1
iid[i]|=1;
while(Manchester_IN); //等下降
}else{ //是0
while(!Manchester_IN); //等上升
};
};
//digitalWrite(7, HIGH);
//digitalWrite(7, LOW);
} ;
//delayMicroseconds(5);
digitalWrite(TPin, LOW);
return 1;
} //ReadAllCode()
实验的测试结果如下:
1.没放4001卡时用示波器实测的波形如下:
实验OK!现在说得好象很轻松,俺开始因为对时序理解有偏差,调试好几天失败后才研究时序问题,解决问题后的那种因成就快乐感觉不是金钱能能买到的,感谢 友们的支持,没有你们支持俺或者没有这么大的工作激情!
3.酒店智能门锁管理软件的开发
上位机开发俺并不是高手,如果有说错的,大家给俺指出来。
参照 上有关电子门锁的建议和实例,和上位机的程序员商量用何种语言编写,最后决定用VS2008和SQL2005来完成,当然软件功能的实现应该由软件工程师来完成。但要注意通常PC机编程人员对硬件不太了解,因此酒店门锁管理接口需要硬件开发人员来完成通信接口的设计,和软件开发人员协商确定通信协议,此接口在很多星级酒店中需要和他们的酒店管理软件对接,如果不能提供此接口,相信大多数星级酒店会让你损失订单。在酒店方向门锁厂商索要接口开发包后,并会让自己的技术人员自行测试接口开发包是否与门锁系统匹配,详见《制作门锁接口注意事项》。
如果接口开发包没有问题,厂商会根据该接口开发包制作接口安装包。在酒店方安装好我方实现的接口后,还需按以下步骤进行设置和测试:
通过[系统管理->系统参数设置]菜单打开“系统参数设置窗口”(下图1)。洗浴管理系统然后门锁接口选择“仅启用门锁接口” 选项,门锁类型选择“雅洁门锁”,再单击旁边的按钮打开门锁设置窗口。
注意:如果要严格门卡控制,请选中“客人登记保存时才允许制卡”和“结帐退房时需注销门卡”选项。
3. A1=B1,F1,R1 在完成上述步骤后,门锁接口设置工作才算完成。保存设置并退出系统,然后重新登录,就可在酒店管理系统中读卡和制卡了。 4.卡片知识T5557/T5567/T5577 上资料很多,大家找一下吧,这里不介绍拉。 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
A2=B2,F2,R2
…
An=Bn,Fn,Rn
其中, Ai为酒店管理系统的房 ;
Bi为Ai在门锁系统中对应的楼栋 ;
Fi为Ai在门锁系统中对应的楼层 ;
Ri为Ai在门锁系统中对应的房 。