上两篇文章介绍了IC/ID卡的一些基本知识以及安卓下串口的开发,这篇文章将会介绍安卓下如何与读卡器进行交互,读取卡信息。

读卡器的类型:

根据卡的类型决定了读卡器也有多种类型,有IC卡的读卡器也有ID卡的读卡器,它们的区别在于读卡时的频率,除了读卡的频率不同,读卡器与上位机的通讯方式也有不同,本文只介绍三种读卡器读卡号的方式,分别是串口通讯读卡器,USB通讯读卡器以及网络读卡器。

串口通讯读卡器:

安卓设备可以通过监听某个串口与读卡器建立连接,数据包一般为十六进制,一般会有校验和进行包的完整性监测,这种读卡器有主动和被动之分,主动的会在读到卡号之后主动上传给上位机,在485通讯中,如果存在多个读卡器同时上传数据会有可能出现数据丢失问题。所以有了被动的方式,被动的读卡器读到卡号会先寄存在读卡器里面,等待上位机发指令然后进行数据上传,在等待的过程中读卡器不会进行新一轮的读卡,由于各个读卡器的数据上传和指令接收都是由上位机控制,所以被动的读卡器在并发时数据丢失的问题为少一些,但由于线路和干扰等原因,任何通讯方式都会存在数据丢失的可能,所以要做好超时和重试的逻辑判断。

USB读卡器:

这是一种最简单,成本最低的读卡器,读卡器只需要插入到设备的USB接口,然后打开一个输入框,刷一下卡,十进制的卡号便会自动填充到输入框,注意前提是这个输入框已获取到焦点,另外这种读卡器对window和mac等设备同样适用。

网络读卡器

这种读卡器一般只需要上位机与下位机在同一个局域网,监听对应的网络端口便可以进行通讯,网络读卡器一般通过UDP/TCP的方式进行通讯,数据包一般为十六进制,不同读卡器的包的内容和格式会有所不同。需要注意的是UDP是不可夸网段通讯的,如果要夸网段需要用TCP。

Android下如何与读卡器进行交互相关推荐

  1. Android下的串口开发

    一.前言 由于安卓的开源性以及可拓展性,近些年,Android在各种智能设备上的使用越来越多,如电视机.机顶盒.车载系统以及公交刷卡系统等等.在我们的认识中Android系统是手机系统,它的物理接口一 ...

  2. android webview调js方法,Android中WebView与H5的交互,Native与JS方法互调

    项目中经常用到WebView与H5的交互,一个是H5调本地方法,一个是本地调H5方法,在此记录一下. 首先,启用JS支持 //启用js支持 webSettings.setJavaScriptEnabl ...

  3. Android TabLayout定制CustomView与ViewPager交互双向联动

     Android TabLayout定制CustomView与ViewPager交互双向联动 我之前写了一些关于Android Material Design TabLayout的文章, (1)& ...

  4. Android 下拉刷新框架实现

    前段时间项目中用到了下拉刷新功能,之前在网上也找到过类似的demo,但这些demo的质量参差不齐,用户体验也不好,接口设计也不行.最张没办法,终于忍不了了,自己就写了一个下拉刷新的框架,这个框架是一个 ...

  5. 高通android usb otg,Android OTG支持USB读卡器

    我们知道,三星Android手机将USB读卡器通过OTG线插入Micro USB插口后,插拔读卡器里的SD卡,文件管理器也能够识别卡的插拔:而很多手机的OTG连上USB读卡器也来插拔SD卡,会发现文件 ...

  6. Android下音频的测试程序tinyalsa(录音,放音,查看声卡信息)

    audio代码比较复杂,除了音频参数,我们平时客制化的地方不多.所以没有太深入了解. 建议先抽空看看如下代码: kernel, linux alsa 架构: kernel-3.10/sound/soc ...

  7. android 发送语音功能和ios交互格式aac

    android 发送语音功能和ios交互格式aac 看到标题大家应该都知道了,本文主要实现android发送语音功能 前面几篇博客写的webSocket,notifaction和service,当然了 ...

  8. android下拉五级菜单联动

    android下拉五级菜单联动 一.问题引出 本人是一个不擅长Android的开发的,但是这几天在做联通的一个服务器配件管理系统,做完B/S的又要写C/S的,老板要求没办法.在做的过程中遇到了一个下拉 ...

  9. Android下音频tinyalsa(tinymix/tinycap/tinyplay/tinypcminfo)--------mark详细

    Android下音频tinyalsa(tinymix/tinycap/tinyplay/tinypcminfo) 2017年05月29日 10:02:03 songze_lee 阅读数:10224更多 ...

最新文章

  1. Pycharm断点失效(不起作用),原来是matplotlib.pyplot.show()函数的原因
  2. 【转载】tkinter多线程防假死
  3. 对称密码的编程使用(DES、3DES、AES)
  4. 在Android命令行启动程序的方法
  5. 拒绝用户“root”@“localhost”的访问(使用密码:yes)_使用PHP和Github Webhook实现自动部署
  6. python源码剖析 豆瓣_在数据分析师的分析中豆瓣的书那些值得读
  7. string 方法 java_String 的几个 方法。 (java)
  8. 求最大子数组(贪心算法)
  9. Uniapp Android原生插件开发
  10. 中国第一家区块链形式化验证公司获种子轮投资
  11. 快速当前目录下打开cmd命令窗口
  12. 罗永浩是个挺能折腾的人
  13. 江苏省领航杯人工智能竞技人车协同赛项记录
  14. NBA数据的Echarts 数据分析图表
  15. matlab中isequal函数,MATLAB中的isequal函数的用法
  16. web工程师的自我修养
  17. 锐起无盘精华100问!(包括3.1,3.0版本)
  18. 批量抓取东方财富EastMoney的宏观经济数据
  19. R语言中dim函数_R语言中的方差分析方法汇总
  20. DHT11温湿度LCD显示

热门文章

  1. grid - gap
  2. 使用APICloud AVM框架开发人事档案管理助手APP
  3. 关于系统架构你不知道的那些事-架构设计流程:设计备选方案
  4. 程序员的忧桑:有人向你反馈了一个Bug!
  5. 怎么改锁定计算机的背景,电脑修改登录界面背景壁纸的操作方法
  6. python制作相册
  7. vue-路由篇页面跳转和页面参数传递
  8. OPA1612AIDR IC AUDIO 2 CIRCUIT 8SOIC
  9. linux 7 realm,系统运维|Samba 系列(十五):用 SSSD 和 Realm 集成 Ubuntu 到 Samba4 AD DC...
  10. 三十七、缓存注解@Cacheable、@CacheEvict、@CachePut详解