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. 灵感闪现 篇 (一) 2d场景 3d 效果

    中途打断一下 ,框架文档的 更新. 另开一篇主题为 灵感闪现的 板块. 在工作生活中,总有发现新事物或新东西 而让自己突然 灵感闪现的时候,那么这个时候,我必须要抓住,并尽快把 这份灵感实现下来. 之 ...

  2. HDU 5768 Lucky7 (容斥原理 + 中国剩余定理 + 状态压缩 + 带膜乘法)

    题意:……应该不用我说了,看起来就很容斥原理,很中国剩余定理…… 方法:因为题目中的n最大是15,使用状态压缩可以将所有的组合都举出来,然后再拆开成数组,进行中国剩余定理的运算,中国剩余定理能够求出同 ...

  3. AndroidGradle--瘦身apk(转发)

    apk瘦身一般有两条线, 去除无用的代码,例如引用一个比较大的lib,只使用了其中很少的功能.其他无用的代码可以想办法去掉 去除无用的资源文件,可能是第三方lib中的,也有可能是开发中引入了无用的资源 ...

  4. IOS小工具以及精彩的博客

    IOS小工具以及精彩的博客 工具 Log Guru是一个收集Log的小工具, 可以在 Mac 上查看 iOS 设备的实时系统日志. 现在可以直接高亮显示在 FIR.im 上安装 app 失败的原因.后 ...

  5. 用Visual Studio 2015 编写驱动之前一定要注意的问题!!!

    如果你确定要使用Visual Studio 2015 编写驱动,那么在你安装Visual Studio 2015 和WDK之前,一定一定要注意一件事情,那就是确保SDK和WDK版本保持一致,切记切记! ...

  6. Javascript模块化编程:AMD规范及require.js用法【转】 - loheonly的笔记 - 前端网(W3Cfuns)

    http://www.w3cfuns.com/blog-5425789-5399326.html

  7. 使用curl获取乱码问题

    今天通过curl获取百度地图接口数据,获取到居然是乱码,于是我查看是不是编码问题,发现返回的编码和自己的编码都是utf-8, 继续找原因,发现header报文中  Content-encoding 为 ...

  8. subversion javahl

    新建android项目时,总是说"javahl, require version 1.8"云云. dpkg -l | grep libsvn-java1.6 apt-get upd ...

  9. <a href="#" onclick="history.back();"></a>这样写为什么是对的? -(转)

    为什么不用这样写?<a href="#" onclick="javascript:history.back();"></a> 正解是: ...

  10. Android--->Button按钮操作

    main.xml中设置两个按钮 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xm ...