小议家校通网络控制器通信科技_第1页
小议家校通网络控制器通信科技_第2页
小议家校通网络控制器通信科技_第3页
小议家校通网络控制器通信科技_第4页
小议家校通网络控制器通信科技_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编号:时间:2021年X月X日书山有路勤为径,学海无涯苦作舟 页码:第2页共5页开始标志读卡器地址信息长度命令和参数校验2B1B2B14B1B(3)命令字:A1:从读卡器读取一条记录。A2:控制器正确接收记录信息后,返回更新记录的读地址命令,使地址指针指向下一条记录。A4:设置校正读卡器时间。A6:测试控制器与读卡是否正常通信。3.2网络控制器与服务平台的网络通信协议网络协议通常分不同的层次进行开发,每一层分别负责不同的通信功能。TCP/IP通常是一个4层协议,包括数据链路层、网络层(含IP协议)、传输层(含TCP协议)和应用层。本网络协议就是基于TCP/IP协议之上的应用层协议,采用请求应答

2、的通信模式。考虑到协议的可靠性和实现的方便性,数据采用ASCII码表示。4通信技术控制器建立socket连接后,向服务器发送连接请求和数据传输,并实时判断连接的有效性,在有效连接的状态下,实现控制器、服务器、读卡器三者的正常通讯,程序流程如图2所示。4.1 网络通信技术的实现socket初始化消.先要对RTL8019AS的控制寄存器进行初始化配置,DynamicC已将这部分配置封装成函数放入REALTEK.LIB库中,应用时只需调用相关函数。之后再调用函数库dcrtcp.lib中的几个简单函数可完成socket的初始化,以下是程序的主体框架。#defineTCPCONFIGl#memmapxm

3、em#usedcrtcp.libmain()sockCD#*2init();while(ifpending(IFCD#*2DEFAULT)=IPCD#*2COMINGCD#*2UP)tcpCD#*2tick(NULL);tcpCD#*2open(&socket,0,destIP,sockport,null);在建立TCP的连接中,DynamicC有两种方法打开TCPsocket:一种是被动的方式,调用函数tcpCD#*2listen(),等待客户端进行连接;一种是主动的方式,调用函数tcpCD#*2open(),根据相应的参数(IP地址和端口号)主动连接到服务器端。本通信技术采用的就是

4、主动方式(作为客户端)。Socket数据的发送与接收:数据发送调用sockCD#*2write(&socket,strCD#*2send,strCD#*2sendCD#*2len)°在读取socket缓冲区数时,先判断缓冲区中是否有数据,有数据再进行读操用,同时有超时设置。startCD#*2time=SECCD#*2TIMER;/*SECCD#*2TIMER为秒级系统时间*/endCD#*2time=startCD#*2time;while(endCD#*2time!recvCD#*2count)/*READCD#*2TIME为设定的等待时间*/strCD#*2recvbu

5、fCD#*2len=sockCD#*2bytesready(&socket);/*判断socket读缓冲区是否有数据*/if(strCD#*2recvbufCD#*2len>0)recvCD#*2count=sockCD#*2read(&socket,strCD#*2recvbufzstrCD#*2recvbufCD#*2len);/*读socket*/if(revcCD#*2count)*拆分接收到的命令字,读取有效信息第4页共5页书山有路勤为径,学海无涯苦作舟页码:第4页共5页编号:时间:2021年x月X日*/elsebreak;4.2 串口通信技术的实现主要包含3个

6、步骤:命令字的组合,设置串口D,通过设置Rabbit2000的PE3来控制数据的发送与接收。以A6命令为例,程序主体框架如下:command0=0xA6;/*A6命令*/createCD#*2command(addr/command,pack);/*组合命令字*/serDopen(9600);/*9600为波特率*/sendCD#*2command(command,returnlen);/*发送数据*/readCD#*2command(readbuf,sizeof(readbuf),10);/*接收数据*/voidsendCD#*2command(char*packJntlen)inti;Wr

7、Portl(PEDR,&PEDRShadow,0x08);WrPortl(PEB3R,NULL,0);for(i=0;iserDputc(packi);intreadCD#*2command(char*buf/intlen/inttime)intiCD#*2return;WrPortl(PEB3R,NULL,l5数据采集与分析网络控制器联网正常运行时,向服务器发送的一包测试记录数据为:对数据包进行分析:0244为数据包的总长度,01为协议版本号,02为命令字,000003为序列号,21000102*1(为设备号,09为数据包中的刷卡记录总数,0080D122为测试卡号,07070414

8、152715为刷卡时间(顺序为年周月日时分秒),03为状态。采集从服务器返回的命令:001501020000031,其中列号,1为正确接收。返回命令格式符合协议要求,内容正确。网络控制器向读卡器发送的命令(以A6为例):aaff010003a64141fl,其中aaff表示本命令为控制器发给读卡器,01为读卡器地址,0003为数据长度,a6为命令字,4141为测试数据,fl为校验位。采集从读卡器返回的命令:第5页共5页编号:时间:2021年X月X日书山有路勤为径,学海无涯苦作舟 页码:第2页共5页bbff010002414147dl220707041415421716b000000,其中bbff表示本命令为读卡器发给控制器,01为读卡器地址,0002为数据长度,4141为测试数据,47为校验位,之后的为无效数据。6结语基于Rabbit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论