- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
POS機通信协议和卡存储结构
POS机通信协议
参考资料
POS-design.doc
传输层协议
TCP OPEN:AT+CIPSTART=TCP,%Address,%Port\r
%Address: 服务器IP地址(IPV4格式)
%Port: 服务器监听端口
TCP CLOSE:AT+CIPCLOSE\r
TCP SEND:AT+CIPSEND=%DataLength\r%Data
%DataLength: 准备发送的数据长度
%Data: 准备发送的数据流
应用层协议
应用层数据结构
请求命令:
命令号 流水号 网点编号 数据长度 数据 黑名单截止时间 BCC校验码 2Bytes 2Bytes 4Bytes 2Bytes 5Bytes 1Byte
响应命令:
命令号 流水号 数据长度 数据 黑名单截止时间 黑名单卡数 黑名单卡号 BCC校验码 2Bytes 2Bytes 2Bytes 5Bytes 2Bytes 1Byte
说明
命令号 命令说明 数据说明 备注 请求 0x1 取服务器时间请求 无数据 0x2 下载黑名单请求 0x3 上传数据请求 Log1+Log2+…+Log N Log长度为16,
N=(数据长度)/16 0x4 VIP挂失检查 无数据 目前没有定义 响应 0x81 服务器时间响应 年(2Bytes)+月(1Byte)+日(1Byte)+时(1Byte)+分(1Byte)+秒(1Byte) 0x82 下载黑名单响应 0x83 上传数据响应 OK(表示BCC校验正确) 0x84 VIP挂失检查响应 OK 目前没有定义 0x88 让POS失效 无数据 注:
POS编号说明
初始为0,开机后检查若为0,则提示输入6位编号(数据库定义的编号);
服务器收到命令后,如果BCC校验失败,返回数据为SB
服务器每次接收到命令后,检查pos编号是否合法,若非法,则发送命令码0x88。
POS接收的命令编码为0x88,则让POS机失效(状态)。
流水号:无符号整数,长度2Bytes,系统开机初始值为0。每发送1次命令,流水号+1,0-65535循环使用,响应命令必须和请求命令的流水号一致。
Log格式,16BYTES,扩展的字节为FF
销售会员01 00 A0 00 00 05 00 01 07 05 06 11 FF //售卡金额160typdef struct
{
u8_t cmd[1], //log类 u8_t money[3], //销额
u8_t sno[4], //号 u8_t acttime[4] //从2000现数间
}
注销会员02 00 96 00 00 05 00 01 07 05 06 11 FF //退卡金额150typdef struct
{
u8_t cmd[1], //log类 u8_t money[3], //退卡金额
u8_t sno[4], //号 u8_t acttime[4] //从2000现数间
u8_t quitfee[4] //退卡手续费(元)
}
租车03 00 96 00 00 00 01 14 07 05 06 11
typdef struct
{
u8_t cmd[1], //log类 u8_t money[3], //卡内余额
u8_t sno[4], //会员号 u8_t acttime[4] //从2000现数间
}
还车04 00 00 32 00 00 01 14 07 05 06 11 //消费额0.50typdef struct
{
u8_t cmd[1], //log类 u8_t money[3], //消费额
u8_t sno[4], //会员号 u8_t acttime[4] //从2000现数间
u8_t renttime[4], //租车时间,从2000现数间}
接收赔付05 00 32 00 00 00 01 14 07 05 06 11 //赔付50元
typdef struct
{
u8_t cmd[1], //log类 u8_t money[3], //金额
u8_t sno[4], //会员号 u8_t acttime[4] //从2000现数间
}
充值
06 00 32 00 00 00 01 14 07 05 06 11 //充值50元
typdef struct
{
u8_t cmd[1], //log类 u8_t money[3], //金额
u8_t sno[4], //会员号 u8_t acttime[4] //从2000现数间
}
考勤
07 00 00 00 00 00 01 14 07 0
文档评论(0)