POS机通信协议参考资料POS- OPEN:AT+CIPSTART="TCP","%Address","%Port"\r%Address: 服务器IP地址(IPV4格式)%Port: 服务器监听端口TCPCLOSE:AT+CIPCLOSE\r TCPSEND:AT+CIPSEND=%DataLength\r%Data %DataLength: 准备发送的数据长度%Data: 准备发送的数据流应用层协议应用层数据结构请求命令:校验码2Bytes2Bytes4Bytes2Bytes5Bytes1Byte响应命令:校验码2Bytes2Bytes2Bytes5Bytes2Bytes1Byte说明命令号命令说明数据说明备注请求0x1取服务器时间请求无数据0x2下载黑名单请求0x3上传数据请求Log1+Log2+…+LogNLog长度为16,N=(数据长度)/160x4VIP挂失检查无数据目前没有定义响应0x81服务器时间响应年(2Bytes)+月(1Byte)+日(1Byte)+时(1Byte)+分(1Byte)+秒(1Byte)0x82下载黑名单响应0x83上传数据响应OK(校验正确)0x84VIP挂失检查响应OK目前没有定义0x88让POS失效无数据注:POS编号说明初始为0,开机后检查若为0,则提示输入6位编号(数据库定义的编号);服务器收到命令后,校验失败,返回数据为SB服务器每次接收到命令后,检查pos编号是否合法,若非法,则发送命令码0x88。POS接收的命令编码为0x88,则让POS机失效(状态)。流水号:无符号整数,长度2Bytes,系统开机初始值为0。每发送1次命令,流水号+1,0-65535循环使用,响应命令必须和请求命令的流水号一致。Log格式,16BYTES,扩展的字节为FF销售会员卡0100A0000005000107050611FF//售卡金额160元typdefstruct{ u8_tcmd[1], //log类型 u8_tmoney[3], //销售金额 u8_tsno[4], //卡流水号 u8_tacttime[4] //从2000年到现在的分数间隔}注销(退)会员卡020096000005000107050611FF//退卡金额150元typdefstruct{ u8_tcmd[1], //log类型 u8_tmoney[3], //退卡金额 u8_tsno[4], //卡流水号 u8_tacttime[4] //从2000年到现在的分数间隔 u8_tquitfee[4] //退卡手续费(元)}租车0300960000000**********typdefstruct{ u8_tcmd[1], //log类型 u8_tmoney[3], //卡内余额 u8_tsno[4], //会员卡流水号 u8_tacttime[4] //从2000年到现在的分数间隔}还车0400003200000**********//{ u8_tcmd[1], //log类型 u8_tmoney[3], //消费金额 u8_tsno[4], //会员卡流水号 u8_tacttime[4] //从2000年到现在的分数间隔 u8_trenttime[4], //租车时间
POS机通信协议和卡存储结构 来自淘豆网m.daumloan.com转载请标明出处.