RFID射频卡超市购物结算系统

  这段时间在做RFID射频卡超市购物结算系统,这个系统的设想来自于大学研究课题,但是我们在淘宝网上购买设备的时候淘宝店主都认为RF射频技术不好应用在超市购物结算系统,原因有几点:第一个是超市有许多商品是水、饮料、肉类,射频会被削弱导致漏扫,第二个是超市每天卖出商品量很大,而RF卡的成本并不低,例如nxp sli卡的价格在1.6元以上 ,而FM1108的价格也在0.3元以上,如果商品采用这种卡,成本太高。

  但既然是研究课题,也就是要通过项目实施去解决这些问题,对于各种问题提出解决方案。以下简单记录截止今天之前的开发过程:

一、硬件选型,采购:

  在淘宝上、阿里巴巴等网站进行对比之后选择了RD201这套射频卡读写设备,这套设备的照片和参数如下:

设备参数如下:

工作频率: 13.56MHZ
支持标准: ISO/IEC 15693和ISO/IEC 18000-3标准
发射功率: 1.5W
识别距离: 单天线最远70CM,双天线最远100CM
识别速度: 高达60张/秒
天线接口: 1xSMA(50Ω)
通讯接口: 1路Rs232(可选USB、韦根26/34、蓝牙2.0)
I/O口: 一路继电器
工作模式: 主机模式,扫描模式(可通过软件设置)
工作指示: 1个内置蜂鸣器、2个工作指示灯
供 电: 12V DC
功 耗: 5W以内
物理物性:
尺 寸 125x105x28MM
重 量 250克
环境参数:
工作温度 -20度~60度
储存温度 -45度~85度
相对湿度 5%-80%

以上参数中黄色部分是比较关键的参数。

选择这个设备的原因是1、可并发每秒扫描60张卡,2、读取距离比较合适,3、提供sdk(java、vb、C#),4、价格适中

提供的sdk及开发文档已上传百度云。

项目思路:

  现在说说项目的思路:使用RF卡标识超市商品,用户进入超市后使用手机扫描超市购物车上的二维码(二维码和车上的RF卡绑定在一起),扫描后手机终端把购物车上的信息发送给后台,后台在数据库中完成用户id和购物车id的绑定,在用户完成购物之后,推着购物车通过装有扫描天线的通道,然后由RD201完成购物车上物品的扫描,并通过平板电脑的屏幕显示给用户,并通过互联网把所有商品的id和购物车的id推送给后台,由后台通过查询完成商品和用户的匹配并计算价格,然后把商品数量和总价推送给平板电脑显示给用户。同时生成账单推送给用户的手机终端,供用户完成结算。

本系统分三大部分,1、读卡、商品信息扫描,2、后台、数据库查询与计算,3、手机客户端、完成用户注册、购物车绑定、账单推送、付款等

1、读卡、商品信息扫描:这部分核心是驱动读卡的硬件完成读卡,购买设备的时候提供了sdk,最终选择了使用VB.NET完成这部分的开发,需要做一个界面,这个界面展示给用户扫描到的商品,并传送给后台,后台计算完成后反馈回来的数据要完成显示,要通过串口驱动设备完成扫描。这里面涉及到VB.net动态库的调用、计算机可用串口设备的查询与调用、数组和字符转换等功能。具体细节以后会上代码。

2、后台、数据库查询与计算:这是本系统的核心,当前数据库只需要实现最简单的功能,只需要有3张表,分别是用户表、商品表、购物车表。后台接收手机端的数据(用户进入超市之后扫描购物车上的二维码传送给后台)并完成用户id和购物车id的匹配。然后在本购物车进行商品结算扫描之后,接收由VB端传送来的数据(数据为商品id和购物车id的拼接字符串),对字符串进行解析后查询数据库并生成结算清单,把结算清单中的商品数量和商品信息发送给VB端供显示给用户,然后发送给手机端供用户使用手机支付结账。并对被购买的商品,在数据库中进行标识。扫描完成后要解绑购物车和用户。

3、手机客户端、完成用户注册、购物车绑定、账单推送、付款。这部分完成用户注册、绑定购物车、账单推送、在线支付等功能。

项目当前进度:(RD201单天线,被动模式)

读卡、商品信息扫描部分已经完成,天线可以同时读取几十张卡,读卡范围为:

NXP Icode SLI 尺寸:85.5×54mm(标准卡):60CM

Icode2钱币卡:20CM

注意:卡平面和天线平面完全垂直时无法读取,夹角要小于80度。

效果如下:

RFID射频卡超市购物结算系统的更多相关文章

  1. RFID射频卡超市购物结算系统问题记录--写入卡片时,后台php无法操作数据库

    后台管理人员要给每件商品贴上RF卡作为唯一标识,所以要先给对应的RFID卡中写入响应的信息,我这里为了便于模拟演示只写入商品编号,价格,名称这几个字段,然后要把已经写入的商品上传后台,由后台写入数据库 ...

  2. 编写Java程序_连锁超市购物结算系统

    目录 功能需求: 一.Use Case 1 显示商品信息列表: 二.Use Case 2 输入购买商品编号 三.Use Case 3 显示购物结算清单 需求分级: 实现代码: 功能需求: Soft f ...

  3. 射频识别技术漫谈(28)——基于MF1射频卡的酒店门锁设计

    电子门锁是现代星级酒店管理电子化.智能化的重要电子设备.相较于传统的机械锁,基于RFID技术的电子门锁使用方便,易于管理,安全性高,可实现对开锁用户的分优先级自动管理,对房间入住信息实现自动统计与报表 ...

  4. IC卡、ID卡、M1卡、射频卡的区别是什么【转】

    本文转载自:https://www.cnblogs.com/najifu-jason/p/4122741.html IC卡.ID卡.M1卡.射频卡都是我们常见的一种智能卡,但是很多的顾客还是不清楚IC ...

  5. IC卡、ID卡、M1卡、射频卡的区别是什么

    IC卡.ID卡.M1卡.射频卡都是我们常见的一种智能卡,但是很多的顾客还是不清楚IC卡.ID卡.M1卡.射频卡的区别是什么,下面我们一起来看看吧. 所谓的IC卡就是集成电路卡,是继磁卡之后出现的又一种 ...

  6. IC卡、ID卡、M1卡、射频卡的区别是什么(射频卡是种通信技术)

    IC卡.ID卡.M1卡.射频卡都是我们常见的一种智能卡,但是很多的顾客还是不清楚IC卡.ID卡.M1卡.射频卡的区别是什么,下面我们一起来看看吧. 所谓的IC卡就是集成电路卡,是继磁卡之后出现的又一种 ...

  7. MIFARE系列6《射频卡与读写器的通讯》

    1. 复位应答(Answer to request) 读写器呼叫磁场内的卡片,卡片对呼叫做出应答.对刚进入磁场得到电复位处于休闲状态的卡片,卡请求(REQA,0x26):对于已进行过读写操作并进入休眠 ...

  8. rfid 门卡系统和人体红外感应开发

    今天忙了一天了,因为毕昇杯我发现如果不加把劲,可能寒假之前代码搞不出了,今天突击了两个模块,一个人体感应模块,和rfid刷卡模块,这两个模块谈不上自己编写代码,今天的任务也仅仅是看懂了代码,现在我总结 ...

  9. IC卡,ID卡,M1卡,射频卡

    一般把可读可写,频率是13.56MHz的射频卡称为IC卡,IC卡可以写入数据, 只能读,频率是125KHz的射频卡称为ID卡, M1卡是NXP公司的S50卡的一种叫法,国内的复旦F08,达华的TKS5 ...

随机推荐

  1. 3d 人物残像

    前言: gameunity 框架 还在继续完善中,0.2版本将会是一次 重大的里程碑. 正文: 哈哈,大家一定流汗了吧.请原谅我为自己代言. 好了,今天我要讲的是  3d人物残像. 首先我来说下 目前 ...

  2. 转:loadrunner关联及web_reg_save_param方法浅析

    一.什么是关联 关联(correlation):脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态 ...

  3. Codeforces 691A Fashion in Berland

    水题. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #includ ...

  4. HDU 5739 Fantasia

    可以将这个图转换成森林来进行树形dp求解.看了这篇具体教学才会的:http://www.cnblogs.com/WABoss/p/5696926.html 大致思路:求解一下点双连通分量(Tarjan ...

  5. android使用百度app分享,app统计出现的异常,FrontiaApplication类

    想在app里加入百度分享和百度统计.查看了百度移动统计的文档后下载官网给的demo.参照demo给出的代码给自己的app加入代码.以上步骤比较简单.不细说,下面说下此过程需要注意的一些点,不然会引发异 ...

  6. 数据的软删除-管理员的CRUD

    数据的“软删除”---把数据真正删除在某些时候会有问题.IsDeleted字段,false表示不删除,而是让用户可以看到,true表示是软删除,用户看不到. 一个表引用另外一张表的时候一定要引用主键. ...

  7. push控制器 卡顿

    代码: RecommendController *rec = [[RecommendController alloc]init]; [self.navigationController pushVie ...

  8. HDU 1166 敌兵布阵(树状数组)

    之前用过了线段树的做法,树状数组的也补上吧 #include<iostream> #include<cstdio> #include<cstring> using ...

  9. Python3基础 list(reversed()) 将一个列表逆转并输出

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  10. 修炼dp(1)

    从最简单的开始: POJ:The Triangle #include <cstdio> #include <algorithm> #include <cstring> ...