嵌入式RFID读写器是如何设计的

图4 软件系统工作流程

1、嵌入式数据库操作模块

在本项目中使用了Sqlite3 作为系统的嵌入式数据库。嵌入式数据库是整个系统的重要组成部分, 主要负担了采集基本数据的本地存储, 条码阅读信息的初步存储和快速查询, 工作日志的保存, 还能和网络通信模块配合实现网络主/ 从数据库的同步, 在主服务器崩溃的情况下, 依然可以通过整理所有嵌入式数据库的数据进行大部分数据的恢复, 增加了系统的可靠性, 此数据库采用了单数据文件设计, 能够支持大部分SQL 92标准的数据库操作语句, 支持事务功能, 通过扩展网络操作接口函数, 达到了和后台数据库进行通信和交换数据的目的。

2、网络通信模块

本系统的特色就是通过嵌入式Linux 操作系统的网络底层支持, 以多种网络传输途径, 将数据和后台数据服务器进行数据传输。在本系统的网络部分设计中, 在局域网内利用Linux 系统的提供的TCP/IP 协议支持, 在编程中采用了动态与服务器建立连接的方法, 在读取到标签信息并解码出有效信息的时候, 向服务器相应端口发送相应的Socket 请求信息, 服务器端接受到请求后建立连接并新建Socket 端口来和终端进行通信; 只有在读取数据的时候数据库和终端间才产生数据传输和占用服务器端资源, 从而降低了网络占有率和服务器端的负荷, 提高了网络通信的效率。

3、RFID 协议解析模块

协议解析模块负责将发送的命令参数加入包头等信息,并将收到的标签回传的信息进行解包, 通过对信息的解包, 能够得到盘存或读写的相关信息。MPR6000 支持的RFID Gen2命令包括Read, Write, Kill , Erase, Lock。命令都由一个字符串构成, 其结构如下: