基于NFC标签的中药植物标本信息管理系统

2018-04-16 02:59王玉香张喜红
关键词:后台客户端标签

王玉香,张喜红

(亳州职业技术学院,安徽 亳州 236800)

0 引言

中药植物标本在中医文化传承、教学科研活动中起到了举足轻重的作用[1-2]。但传统的中药植物标本因受标本空间限制,只能直观地展现采集地、时间、品名、鉴定人等基本信息,无法使学习与观赏者较为全面地了解中药材资源的相关信息。随着物联网、无线移动互联网等技术的发展,智能手机终端已成为人们生活、学习、工作不可缺失的工具之一,而基于此的信息获取方式也在发生变化,信息量的需求也与日俱增。所以,传统的中药植物标本信息存储及管理方式制约了其在文化传承、实际教学科研活动中所起的作用。据此,利用数据库整理归档中药植物标本的全面信息是解决该问题的有效途径。

目前大多智能手机集成有NFC标签读、写硬件设备[3]。NFC以其成本低廉、信息交互方便简单、信息存储量相对较大的优势,在物流管理、食品溯源、消费支付等方面得到了广泛应用[4-6]。如孙旭[4]将生鲜农产品供应链中各环节的信息存储在NFC标签里,通过开发标签管理端、政府端、企业端、消费者查询端等不同的应用端,实现了生鲜农产品生产运输等供应链环节的监控以及可追溯,对农产品各环节质量的保证提供了很好的控制方式。刘超超等[6]将个人基本信息存储在NFC上,利用智能手机APP程序就可实现个人信息的管理和他人基本信息的获取,加为好友后,还可标注认识的时间、地点、方式等,并可从数据库获取更多信息,克服了纸质名片保存和查找不便的难题,为日常交际提供了便利。谢卫全[7]将存有景区介绍信息的NFC标签粘贴于旅游景点介绍铭牌上,通过内置NFC读写器的Android手机终端可以轻松查阅景区介绍,提高了旅游业的信息化水平与服务质量,降低了景点铭牌信息更新与管理的难度。黄双双[8]将存有博物馆内部具体点位置信息、展览品的相关信息等的NFC标签粘贴在博物馆内部的相应位置,游客通过手机识读标签选择不同的界面,即可实现当前位置信息的查询、当前位置馆藏物品情况的查阅、想观看的展品的位置及路线导航、展品的简要和详细信息的查阅等,提高了博物馆工作的信息化、智能化水平,使参观者对博物馆中展品的查找更加便捷,获取的展品信息更全面、高效,参观体验更丰富、愉快。基于此,在对相关研究分析的基础上,本文以NFC标签为信息索引载体、基于Android手机终端、Web服务器、数据库等技术构建了中药植物标本信息管理系统。

1 系统架构

中药植物标本管理系统的组成架构如图1所示,由粘贴于标本上的NFC标签、安卓手机客户端、Web服务器、后台数据库构成。因NFC标签储存容量有限,仅用于储存标本的一些基本信息与详细信息的远程访问URL地址,其中基本信息包括标本的编号、采集地、入库状态、鉴定时间、鉴定专家等,详细信息包括标本的采集地生态环境、分布状态、易变性状等。Web服务器的功能是处理客户端的查询、增加标本记录请求,是后台数据库与客户端信息交互的桥梁。

安卓手机客户终端分为标本管理员与普通用户两个版本,标本管理员手机安装标本管理客户版本,学生与参观者安装普通用户版本。普通用户客户端仅具有NFC标签信息读取和显示功能;标本管理员客户端主要包括用户注册、登录、增加记录、标本信息编辑、NFC标签读写、数据加载、上传等功能(见图2)。无论是管理员客户端还是普通用户客户端,实现标本信息的读取、上传、加载、编辑等功能的关键技术主要包括两个方面:①NFC标签信息的写入与读取;②在服务器与客户端两者之间实现信息交互。

图1 系统总体架构框图Fig.1 Frame diagram of system

图2 客户端组织结构图Fig.2 Structural diagram of clients

2 系统设计

2.1 NFC标签

近年来,伴随着Android移动终端设备的应用,兴起了两大非接触识别技术,分别是NFC与二维码技术[9],其中,NFC代表短距离的无线通信,是near field communication的简称,这是一种互联技术,采用非接触识别的方式,由索尼、飞利浦公司合作研发而成。虽然其通信方式与传统的RFID类似,但因其改进的信号衰减方式比传统的RFID具有更近的距离、更高的带宽、更低的能耗。其与蓝牙、红外相比速度更快、且更加安全可靠。虽然二维码技术也是非接触识别技术的主流之一,但是NFC与二维码识别技术相比,其储存信息量相对较大,同时由于中药植物标本制作工作大多在野外进行,工作人员无法携带二维码图案打印设备,由此可见,NFC识别技术适合于中药植物标本系统的应用。

NFC标签根据容量和格式的不同划分成4种,用数字1~4区别,本系统NFC标签仅用于储存标本的一些基本信息与详细信息的远程访问URL地址,总体需存的信息量不大,但为了后期更灵活地对标本信息进行完善,这里选择容量最大的标签类型4,内存32 KB,通信时的速度也很快,最高达424 kb∕s,最低也有106 kb∕s。

2.2 Android读写NFC标签

Android系统从2.3版本就实现了对NFC的支持,并提供了相应的操作类[8,10]。Android系统首先要进行相应的初始化设置才能对NFC进行读写,其步骤大致如下:①在AndroidManifest.xml里配置文件开启NFC使用权限。②在界面类文件中通过NfcAdapter类声明NFC适配器全局变量。③在OnCreate()的生命周期中利用方法NfcAdapter.getDefaultAdapter()来获得系统默认的适配器。④判断手机当前NFC功能是否启动。⑤如果打开了NFC功能,并将Activity活动模式设置为单个任务的模式,也就是从后台跳转到当前活动Activity时,则不会重新创建界面;将过滤器设置为只接受NfcAdapter.AC⁃TION_TAG_DISCOVERED活动。⑥再在onResume()的生命周期的启动前台来完成调度,进而获得NFC卡的标签值,由后台发送Tag,有了这个Tag,对NFC卡的读取、写入等具体操作就可以进行了。

标本制作人员或标本管理人员需要为标本制作NFC标签,所以管理员客户端要具有写NFC功能,标本记录条添加界面由多个输入标本相关信息的可编辑文本框、写入标签和上传保存按键等控件构成。当“写入标签”控件监听到单击事件时,执行写入NFC标签的操作,在执行写入操作前,需事先通过getText()方法获取界面可编辑文本框中标本的相关信息,并通过方法NdefRecord()来构造Ndef格式的记录。写入方法的关键代码如下:

NFC标签的读取操作与写入操作类似,具体步骤是在获得标签Tag值后,首先通过Ndef ndef=Ndef. get(tag)得到标签的Ndef,接着通过ndef.connect()来建立连接,随后再由NdefMessage message=ndef. getNdefMessage()获取这个连接通道的具体内容,并通过以下方法,即byte[]data=message.toByteArray()与String str=new String(data,Charset.forName("UTF-8"))实现内容信息的格式转换,以备显示或进行其他操作,最后通过ndef.close()关闭此通道。

2.3前后台信息交互的实现

中药植物标本的制作工作大多在野外进行,一般情况下不存在WiFi网络覆盖,导致Android终端与远程后台数据库的信息交互只能借助移动数据网络进行。因此,选用一种快速、简洁的数据交互方式显得格外重要。当前移动终端与Web服务器后台数据库主流的信息交互方式分别为XML与JSON,JSON是XML技术的扩展[11],与XML相比更易封装与解析;其次其采用了完全独立于语言的文本格式和“名称∕值”对的集合与值的有序列表两种结构,符合多种语言的习惯,方便编程人员的编写与阅读;再者主流的PHP超文本预处理器与Android已内含相关的类[8],在一定程度上有助于简化程序设计工作。所以,选用JSON技术来实现移动终端和Web服务器两者之间信息的交互。

在中药植物标本管理系统中,管理员手机客户端需要将标本信息上传到Web服务器后台数据库,有时还需要查询下载后台数据库的标本信息;普通用户手机客户端需依据NFC中的标本编号访问后台服务器加载标本的详细信息。为了实现上述交互功能,后台的服务器选用PHP+Apache+MySQL的方式实现;Android访问服务器的方法选用HttpClient+POST的请求方法;考虑到JSON格式文件的轻量级优势,前后台之间的数据交互使用JSON格式。其实现的Android上的客户端和远程后台上的数据库两者间的交互流程是:Android上的客户端首先通过方法DefaultHttpClient()创建了HttpClient对象;接着通过HttpPost(url)创建POST请求,其中URL为从NFC标签读到的后台服务器地址;随后通过setEnti⁃ty(new UrlEncodedFormEntity(params,HTTP.UTF_8))设置请求参数,并通过HttpResponse response=http⁃Client.execute(post)来向服务器发送相应的请求;Web服务器在收到客户端的请求后,按照请求命令检索后台数据库并得到相应的数据,在PHP脚本中通过json_encode()函数将要返回的数据与响应打包成JSON格式回传到Android客户端;Android客户端在收到数据之后,使用相应JSON格式解析类的方法对数据进行解析,并显示到相应用户界面。

3 系统界面

中药植物标本管理系统客户端的设计界面如图3和图4所示。图3是普通用户客户端界面,普通用户客户端仅具有NFC标签信息读取,标本信息加载显示功能界面。当参观者或学生需要了解标本信息时,打开界面,开启NFC适配器扫读NFC标签,便可从远程服务器加载标本信息到本地终端。图4是标本管理员客户端界面,包括用户注册、登录,增加记录、标本信息编辑、NFC标签读写、数据加载、上传等功能界面,管理员可在此界面完成标本信息的录入、修改等操作。

图3 普通用户客户端界面Fig.3 Interface of client for ordinary user

图4 管理员客户端界面Fig.4 Interface of client for administrator

4 结语

为了降低中药植物标本制作、管理工作的难度,满足工作人员野外作业的便携要求,同时为了使学生或参观者能够通过手机终端快速查找标本的详细信息,基于NFC标签、Android客户端、Apache+PHP+MySQL服务器建立了中药植物标本管理系统,在前后台信息交互中采用了轻量级的JSON格式,经实际使用证实该系统有助于提高管理人员的工作效率,有助于学生与参观者更加快捷、全面了解标本的信息。同时,在此系统框架的基础上,后期可为中药植物标本增加语音、视频等多种媒体信息,使中药植物标本在教学科研及文化传承中得到更好的应用。

参考文献(References)

[1] 王玉香,张喜红.基于图像处理技术的西洋参外形特征参数测定[J].淮北师范大学学报(自然科学版),2017,38(3):49-52.

[2] 张喜红.基于BP神经网络的西洋参等级分类方法研究[J].云南民族大学学报(自然科学版),2017,26(4):322-326.

[3] 陈静,赵云雁,张志鸿,等.基于NFC技术的智能海报安全实现[J].郑州大学学报(工学版),2013,34(3):98-101.

[4] 孙旭.基于NFC技术的生鲜农产品供应链可追溯系统设计及应用研究[D].长春:吉林大学,2016.

[5] 周书亦.基于NFC技术移动支付系统的虚拟银行发展模式研究:以吉林九台农村商业银行为例[D].长春:吉林大学,2016.

[6] 刘超超,王彬.基于NFC技术的电子名片管理系统的设计[J].物联网技术,2016,6(11):39-40,43.

[7] 谢卫全.基于Android的NFC手机景点介绍系统[D].广州:华南理工大学,2013:18-19.

[8] 黄双双.基于NFC的博物馆智能导航系统设计[J].物联网技术,2015(11):60-62.

[9] 刘小丹,黄翠翠.中心区域可视二维条码的设计及编码方法[J].计算机工程与设计,2012,33(1):392-395.

[10]赵特木.基于Android平台的NFC信息管理系统的设计与实现[D].大连:大连理工大学,2013.

[11]龚成莹,邢敬宏,胡银保.基于JSON的Android移动终端与PHP及MySQL数据通信[J].工业仪表与自动化装置,2013(1):63-65,69.

猜你喜欢
后台客户端标签
如何看待传统媒体新闻客户端的“断舍离”?
Wu Fenghua:Yueju Opera Artist
无惧标签 Alfa Romeo Giulia 200HP
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
不害怕撕掉标签的人,都活出了真正的漂亮
后台暗恋
后台朋友
让衣柜摆脱“杂乱无章”的标签