您的位置首页>硬件>

RFID与Android平台怎样去清点物品

导读大家好,我是极客范的本期栏目编辑小友,现在为大家讲解RFID与Android平台怎样去清点物品问题。RFID技术是一种非接触式自动识别技术,由电

大家好,我是极客范的本期栏目编辑小友,现在为大家讲解RFID与Android平台怎样去清点物品问题。

RFID技术是一种非接触式自动识别技术,由电子标签和阅读器组成。它具有信息容量大、保密性高、无需人工干预、识别效率高的优点。结合上层应用软件和后台数据库,可实现商品管理、商品防伪、商品定位、身份识别等功能,广泛应用于物流管理、交通运输、工业自动化等领域。

在智能家居中,RFID主要用于门禁系统、人员定位[1]等。智能家居是一个住宅平台,具有建筑、网络通信、信息家电、设备自动化等功能。集系统、结构、服务、管理于一体,体现了高效、舒适、安全、便捷、环保的生活环境[2]。智能家居的核心功能是安全报警和智能控制。目前市场上的智能家居系统主要有三种:基于楼宇对讲技术的智能家居系统、基于现场总线技术的家庭自动化系统和基于智能手机的智能家居系统[3]。主要产品有:智能锁、监控设备、各种环境传感器、智能电动窗帘系统、家电控制等。国内智能家居行业起步较晚,智能家居产品存在系统复杂、价格高昂、不切实际等问题。智能家居企业卖的不是产品,而是针对特定人群量身定制的一整套个性化服务,价格昂贵,是给有钱人消费的,系统设计复杂,产品不够多样化。这将不利于智能家居的长远发展[4]。

因此,在当前客户个性化需求强烈的市场形势下,开发适合大众消费、易于操作的智能家居产品具有重要意义。本文基于便携式射频识别和安卓智能终端,是一个人群广、操作方便的智能商品库存移动应用系统,用于实现家庭仓库管理。

1相关技术

1.1射频识别技术

射频识别是一种利用无线电的自动识别技术。典型的射频识别系统通常由电子标签、阅读器、射频识别中间件和应用系统软件组成[5]。电子标签通过无线电天线与读写器通信,可读取标签的ID信息,实现非接触识别,同时识别多个标签。电子标签具有一定的存储容量,能够唯一识别物品,具有使用寿命长、可重复使用的优点。RFID中间件是阅读器和应用系统软件之间的中介,管理阅读器及其读取的数据,并将数据传递给上层应用软件(如数据库)。具有无线通信功能(如蓝牙、WiFi)的RFID读写器将无线通信模块嵌入读写器,上层软件通过无线通信信号获取电子标签信息,使用户随时随地获取RFID标签信息,解决了有线读写器的不可移动性限制。

RFID系统按其射频可分为低频RFID系统、高频RFID系统和超高频RFID系统。广泛应用于门禁系统、身份识别、产品管理、集装箱管理、生产线自动化管理等领域。在识别距离方面,读写器的识别范围与其制造工艺有关,如天线设计、读写器功率设计等。一般低高频系统的读写距离比较小,大概10 cm左右。在降低传输速率、增加天线设计和读写功率的情况下,高频标准ISO15693的识别距离可达1m;超高频可以在较宽的工作范围内实现较快的传输速率,工作距离可达3 m~10 m,但超高频无线电波受环境影响较大,无法穿透水、灰尘等多种物质。在实际应用中,需要考虑价格、读写距离、安全特性、信息存储等因素来确定合适的频段和方案[6]。

1.2蓝牙技术

蓝牙是一种低功耗、中短距离的无线通信技术,为移动设备之间提供快速便捷的无线通信连接,在手机中得到广泛应用,其中蓝牙耳机就是一个典型的应用。蓝牙通信规范为全球通用,工作频段为全球统一开放的2.4 GHz频段,无需向各国无线电资源管理部门申请许可证即可使用。当不同的蓝牙设备通信时,可以建立临时的实时对等连接。微微网是蓝牙最基本的网络形式,通常由一个主设备(即主动发起连接请求的蓝牙设备)和几个从设备组成,可以同时实现一对多的通信[7]。蓝牙技术的优点是:可以轻松建立无线连接;移植性强,应用广泛;安全性高;设备功耗低,成本低;设计相对简单。

1.3安卓系统蓝牙编程

蓝牙技术的发展核心是基于蓝牙标准的蓝牙协议栈。协议栈包括很多协议,包括L2CAP协议、SDP协议、RFCOMM协议等等。SDP协议是基于C/S结构的协议,是蓝牙协议栈的核心协议。在蓝牙系统中,用户依靠SDP获取建立蓝牙连接所需的设备信息、服务信息和服务特征[8]。

安卓SDK从2.0版本开始就支持蓝牙功能,应用必须给AndroidManifest.xml文件添加一定权限才能使用蓝牙服务:android.permission

.BLUETOOTH权限允许用户连接蓝牙设备,android.permission.BLUETOOTH_ADMIN权限允许用户管理蓝牙硬件及使用相关服务,包括开启或关闭蓝牙硬件、扫描可连接蓝牙设备、传送数据等。相关的蓝牙API在android.bluetooth包中进行定义,包含以下几个主要类:

(1)BluetoothAdapter类代表设备上的蓝牙硬件;

(2)BluetoothDevice类定义远程蓝牙设备;

(3)BluetoothServerSocket类用来打开监听到达连接的套接字,并且在连接后提供一个BluetoothSocket对象;

(4)BluetoothSocket类用来建立同远程设备的连接,获取输入输出流。

通过蓝牙进行数据传输的过程包括:

(1)检查可用的蓝牙硬件。并不是所有Android终端都具有蓝牙功能,因此使用前需确定是否有可用的蓝牙硬件;

(2)开启蓝牙;

(3)查询已配对设备;

(4)搜索设备;

(5)建立设备间的连接;

(6)数据交互;

(7)关闭蓝牙硬件。

当两个设备连接后,各自拥有一个BluetoothSocket对象,并获得用来读取信息的InputStream对象和发送信息的OutputStream对象[9]。

1.4 Android平台数据存储方式

基于Android平台的数据存储方式分外部存储和内部存储两类。外部存储方式指:内容提供器和网络数据库,内部存储方式有:系统配置、文件存储、SQLite数据库[10]。在实际应用开发中主要使用内部存储方式。系统配置方式指通过Android平台提供的SharedPreferences类,保存应用程序的一些简单的配置信息的机制。文件存储方式使用Java中的IO类实现对内部存储器或SD卡等外部存储设备中的文件的读写与解析,该方式实现数据插入与修改操作较复杂,每次操作都需读取整个文件,效率较低。SQLite是一款超轻量级的嵌入式数据库,支持SQL语句,能实现查询、插入、删除、修改等操作,具有小、安全、免费等特点。本文提到的系统所选择的数据存储方式便是SQLite数据库,对数据进行操作简单而快速。

2 系统概述

在日常生活中,当家庭里物品被闲置一段时间后,会出现被遗忘的状况,而得不到再次使用;在外出需要携带较多物品时,常常在清点过后,依然会出现遗漏东西的状况。本系统的功能是帮助人们记录物品信息,能自动识别对物品进行清点,并显示清点结果(该步操作类似于仓库管理中的出库,对照出库清单清点出库物品是否有遗漏)。其系统结构如图1所示。

首先根据物品的不同特性,准备好合适的RFID电子标签,贴或挂在物品上;使用带蓝牙通信功能的手机和便携式RFID读写器。当系统工作时,由读写器读取标签上的ID信息,通过蓝牙传给手机应用程序端;在应用程序上填写与标签ID对应的物品名称,并保存于本地的SQLite数据库中。登记完标签信息后,用户可根据每次不同需求,选中要清点的物品名称,通过RFID读写器的扫描后,便可完成对一定空间内的物品的清点。

3 软硬件设计及系统评价

3.1 软件设计

软件开发所涉及模块有:物品RFID标签信息添加、物品信息删除、物品信息修改、物品选择、物品RFID标签清点扫描等。

应用程序的工作流程如图2所示。

应用程序在实现物品RFID标签信息添加及物品RFID标签清点扫描前,应首先打开蓝牙连接,搜索附近的蓝牙设备,然后选择与便携RFID读写器建立连接。在进行添加操作时,应用程序向读写器发送单标签扫描的命令,读写器返回标签的ID,用户输入物品名称后,应用程序将其录入数据库中并标注为未选中状态。

在列出所有物品界面中,用户可对需要清点的物品进行选中或取消选中。当用户选中物品后,物品的状态属性(THING_STATUS)值为“1”,表示该物品将要被清点;否则为“0”,表示该物品已在数据库中登记,但暂时不需要清点。

应用程序清点扫描物品时,向读写器发送防冲突识别(多标签识别)命令,读写器不断返回带标签ID信息的数据流。应用程序从数据流中提取出标签ID,并在数据库中查询其状态,若为“1”,则在已扫描列表中以系统默认字体颜色(灰色)显示其物品名称;若为“0”,则以其他非系统默认字体颜色(深灰色)显示物品名称。扫描个数是在扫描过程中实时显示已被读写器扫描到的、并进行登记过的标签个数。

当识别完一定空间内的物品后,用户按下读写器上的停止识别按钮,读写器向应用程序发送停止识别的响应。应用程序接收后,在未扫描列表中输出已被选中未被扫描到的物品名称,扫描结果显示界面如图3所示。

3.2 硬件选择

现如今,蓝牙通信在智能手机中是一种十分常见的功能。本系统开发选用Android 2.3版本系统的触屏手机,有蓝牙硬件模块,具备蓝牙通信功能,且自带SQLite数据库,无需用户安装。RFID读写器的选择要考虑读写距离不能太短,否则识别效率较低,容易扫描不全;价格应较适合大众消费;为了便于使用及携带,外形应小巧。因此选择带蓝牙通信功能的超高频读写器,读写距离20 cm左右,体积小,易于携带,如图4所示。当按下图中所示的扇形按钮“R”时,读写器开始或停止识别标签。

3.3 系统评价

目前该系统是一个独立的系统,能实现文中提到的功能。受读写器读写距离限制,进行清点扫描过程中需来回在电子标签中移动,以确保扫描结果的准确度。系统在未部署智能家居系统的场所中亦能使用。用户只需拥有具备蓝牙通信功能的Android终端及便携RFID读写器,即可实现物品清点工作,移动性强。所使用的电子标签,可贴或挂于物品上,使用方便。适用于家庭式仓储管理、外出或旅行的物品清点等个人日常或办公物品管理。

当下手机已成为人们日常生活的一部分。智能手机为开发各种移动应用软件提供了很好的平台。关于RFID技术的研究倍受关注,RFID应用范围在摸索中越来越广。目前智能家居市场仍具有很大的发展空间及潜力。本文中的智能物品清点系统,作为智能家居的子系统将来可以:(1)通过无线通信技术,实现智能手机本地数据与智能家居系统中个人数据库的对接;(2)选用读写距离合适的读写器,增加包裹内物品防盗功能;(3)开发基于其他移动平台的应用程序,如IOS、windows phone等。

责任编辑:ct

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。