前言:想要写出一篇引人入胜的文章?我们特意为您整理了蓝牙标签信息管理系统的设计与实现范文,希望能给你带来灵感和参考,敬请阅读。
【摘要】传统RFID电子标签有着通信距离短、需要匹配读写器等缺点,在物联网的应用中受到一定限制。本文设计并实现了基于BLE技术的蓝牙标签管理系统,该系统设计了新型蓝牙标签,在Android平台下使用Java语言开发APP,通过Android智能移动终端APP与蓝牙标签通信实现数据的读写。采用Java2EE技术开发Web后台,MySQL实现数据库管理,融合蓝牙技术和移动通信技术将数据与信息更新至Web后台。该系统验证了蓝牙标签管理系统的可行性,并为电子标签系统提供了新的解决方案。
【关键词】BLE技术蓝牙标签Android平台开发Web后台管理系统
引言
本项目基于蓝牙4.2技术[1]标准设计了一款新型蓝牙标签,并通过智能移动终端APP取代了传统的固定或手持RFID读写器,通过后台实时管理和监控标签信息。该系统集成了智能移动终端APP、数据库、移动通信等技术,为电子标签系统提供了新的解决方案。它由蓝牙4.2标签、智能移动终端APP和基于Web的后台管理系统三大部分构成。同传统RFID标签[2]相比,该系统具有读写距离更远、获取数据速度更快、功耗更低、安全更高、功能扩展能力更强的特点,可实现大范围物品和人员的精确管理。蓝牙标签信息管理系统应用前景广泛、商业价值高,可以用作于RFID标签技术的重要补充。
一、系统简介
蓝牙标签管理系统由蓝牙标签硬件、智能移动终端APP、Web后台管理系统3个部分组成。智能移动终端APP可以通过蓝牙技术读取和写入信息,Web后台管理系统[3]和智能移动终端APP可以实现实时信息交互。蓝牙标签信息管理系统系统具有如下特点:(1)蓝牙标签比传统RFID标签读写距离更远,低功耗[4],安全性高,功能扩展能力强。(2)智能移动终端APP取代了传统的固定或手持RFID读写器,更灵活。(3)Web后台管理系统,可实现各类信息精确和可视化的管理,长期保存方便进行大数据分析。(4)作为RFID标签技术的重要补充,系统部署简单,大大节省成本,系统兼容性好,商业价值高。(5)蓝牙标签除了进行物品管理,还可以进一步实现室内定位、身份识别[5]等功能。
二、系统设计
2.1蓝牙标签设计
蓝牙标签核心部分为NRF52832蓝牙芯片。电源部分中电容主要是为了滤波,使电源更加稳定,其中使用的电池为CR2032纽扣电池,UART部分为串口预留部分,主要为后续扩展应用提供接口。下行接口为Jtag口。按钮中,按钮1为功能选择按键,按钮2为复位键。LED部分中,LED0为进入模式选择指示灯,LED1为蓝牙标签模式指示灯,LED2为蓝牙信标模式指示灯。
2.2智能移动终端APP设计
安卓平台(4.4版本及以上)通过GATT协议库支持BLE通信协议软件程序的开发,必须声明蓝牙权BLUETOOTH,是因为这是智能移动终端APP中使用蓝牙功能的前提,诸如请求连接、接受连接和传输数据等蓝牙通信皆需要用到此权限。同时,为了能够使智能移动终端APP启动设备发现或操纵蓝牙设置,必须声明BLUETOOTH_ADMIN权限。可以使用AndroidStudio自带的googleAPI,来帮助完成以上所说的声明蓝牙权限。
2.3Web后台管理系统设计
蓝牙标签后台子系统用于管理“蓝牙标签”软件使用过程中涉及到的所有信息。子系统是使用MySQL数据库管理和Java语言开发的机遇B/S结构的在线系统。采用MVC软件设计典范,一个部件里聚集这些业务逻辑,不需要重新编写业务逻辑。蓝牙标签后台子系统中的组织结构设计主要有数据层,接口层,数据库操作层以及服务层。智能移动终端APP请求Web后台做出相应的JSON响应,以完成与智能移动终端APP与Web后台之间的通信。服务层封装了数据层对象,然后设计对数据库的操作和调用封装对象实现业务逻辑。为考虑到后期增添和修改功能,设计每个模块时应独立且大小适中,因此设计初期模块按照来源,蓝牙标签后台子系统管理的信息可以基于应用场景对标签信息进行设置和定义。
三、系统实现
3.1开发环境
智能移动终端APP在安卓系统下开发,通过谷歌出品的AndroidStudio使用Java编程语言开发。Web后台管理系统分为成两子系统开发,其中,数据库子系统由MySQL数据库开发,MySQL数据库在NavicatforMySQL下开发和实现;后台管理子系统Web界面则是使用Java编程语言在Eclipse平台开发,其中JDK版本是JavaEE8,Web应用服务器采用Tomcat。
3.2蓝牙标签开发
根据蓝牙标签原理图制作成PCB板,经过加工、焊接等工作完成蓝牙标签硬件制作,由于蓝牙标签要进行通信,需通过软件对蓝牙标签进行通信初始化设置。首先,需要初始化蓝牙设置:初始化定时器,设置为1分频,初始化协议栈handle模块,设置连接主从机的连接数量,使能协议栈,注册handle模块到蓝牙处理事件中。同时对按键,LED灯等外设初始化。其次配置标签模式:通过构造蓝牙标签结构体,把minor、major和company_identifier的值写进结构体。设置广播数据:把标签信息传递给广播数据结构体,广播类型设置为不可连接、广播间隔为0、广播超时为0。最后,把参数和数据注册到协议栈中,开始广播。最后配置信标模式:构造广播数据结构体,把信标为全名和低功耗可发现模式写入结构体,广播类型为:广播间隔为187.5ms、广播超时0、快速连接,同时把参数和数据注册到协议栈中,开始广播。蓝牙标签实物成品。
3.3智能移动终端APP开发
首先设置BLE:虽然现在的手机基本都支持BLE,但是考虑到程序的健硕性,这个检查是必需的。其次进行发现BLE设置:使用startLeScan()方法发现BLE设备,使用该方法的前提是实现它的回调函数设置BluetoothAdapter.LeScanCallback参数,即返回扫描结果Device、ScanRecord——Device里面包含设备的mac地址和设备的名称,scanRecord的内容是BLE设备发出的广播包数据。最后,实现智能移动终端APP与Web后台通信:选择JSON作为数据交互的方法。Android访问远程服务器前端,获取并解析网络上的JSON,再将获取到的解析JSON格式的输入流转换成List,显示到相对应的Activity页面上。
3.4Web后台的实现
首先,创建数据库,并插入了一个用户。其次,创建VO类:用于对应数据库以使用DAO类中的代码。再者,定义DAO的接口类:查询是否存在这个用户的方法是findLogin(Useruser)。紧接着,定义DAO的实现类——相当于Mode(模型层):对用户名和密码进行验证,如果验证成功,则通过VO类将用户数据取出并返回。然后,新建一个Servlet类——相当于Controller(控制层)。最后,始界面Login.jsp——相当于View(显示层)。对于Web服务器与Tomcat通信问题:因为Tomcat服务器是一个免费的开放源代码的Web应用轻量级服务器,所以需要建立MySQL和java的连接。主要方法是下载链接用的jar包,jar包为MySQL官方提供的mysql-connector-java-5.1.39-bin.jar,然后在实际项目中引用该jar包。
四、结论
根据上述的设计方案,顺利完成系统开发,验证了该系统的可行性。蓝牙标签可用作RFID标签的重要补充,应用于各种场合。
参考文献
[1]丁磊等.基于蓝牙4.0的低功耗电子货架标签设计[J].电子技术应用,2014,40(05):28-30.
[2]黄玉兰.基于物联网的RFID电子标签研究进展[J].电讯技术,2013,53(04):522-529.
[3]高嘉泽等.面向移动应用的后端服务平台[J].计算机系统应用,2014,23(02):22-27.
作者:刘立丰 钟慧琳 夏靖波 张晓燕 杜小甫 单位:厦门大学嘉庚学院