论文部分内容阅读
摘要:本文應用物联网技术设计建设了应用于新闻采访设备的无人值守库房。针对新闻采访设备库房应用特点,在射频卡选择,提高设备检出率、门禁、读写头SDK二次开发、库房配套设施等方面进行了详细介绍。
关键词:物联网;RFID;RFIC;门禁;射频识别;无人值守库房
我们都知道由于新闻采访活动的突发性,存放采访设备的库房要么需要24小时不间断的轮班,要么处于疏于监管的状态,使用新技术新手段管理设备库房是一个新思路。2016年初我们尝试使用物联网技术设计建设一套能够自动控制人员进出、识别设备使用状况,24小时无人值守的设备库房管理系统。进过反复试验验证,最终采用超高频RFID作设备识别,配合RFIC门禁系统,实现了设计目标。该系统软件已于2017年申请了软件著作权。
物联网技术方兴未艾,RFID射频识别技术应用随处可见,但具体到应用环节仍有许多值得深入讨论和思考的地方,无人库房和无人超市、无人银行一样,有很多值得关注的技术应用,也有更突出的管理问题。下面我们简单介绍一下基于射频识别技术的无人值守库管系统的设计、建设情况以及部分关键环节的程序代码。
1 RFID射频识别技术在库管上的应用
无论是小区的门禁卡、地铁票、洗衣标签还是高速ETC,射频识别技术无处不在,但要把它贴在摄像机、三角架上,再进行读写识别就不是一件简单的事了。首先,射频识别装置就分有源标签和无源标签,有源标签识别通讯距离远,识别率高,但是体积大,要使用电池;无源标签从频率上可以分为低频、高频和超高频标签,从CPU上分为RFID和RFIC标签,从封装形式上又可以分为卡片标签、自粘标签、陶瓷标签等等。
这其中内置RFIC标签安全性高一般应用在门禁系统中,在我们的库管系统中RFIC标签作为人员进出的唯一识别标志。
在设备识别标签上我们没有选择惯常使用的有源电子标签,主要是考虑到要频繁更换有源标签电池,其主动发射信号可识别距离太远,不能够精细判断设备位置。在无源标签中900MHz超高频RFID标签配合中功率(1W)读写头识别距离为5米,可满足无接触自动识别要求。
要自行设计软件获取门禁系统、RFID读写头信息进行相关操作,需要门禁控制板、读写头SDK的支持,我们选用了飒科智能双门门禁控制板和捷通科技超高频中距离读写头以及超高频桌面发卡机做为无人库房管理系统的识别设备,两家公司分别提供了SDK开发包。
2 影响识别率的几个关键点
在库房管理系统中,设备的检出率是最重要的指标之一,要提高设备的检出率首先要研究RFID标签的识别率。
理论上所有符合标准的标签都能够识别,人工近距离主动让读写头去识别RFID标签,识别率可以达到100%。而我们要设计的库管系统是一个无人值守的系统,不要求借出或者归还设备的过程中要有主动供读写头识别标签的动作。这样一来,影响设备检出率的状况主要有一下几点(见表一)。
表一:影响RFID识别率的因素
上表我们列出了影响设备检出率的主要因素,提高检出率的办法主要有:使用多个读头从不同角度读取,依据设备材质安装标签,尽量在非金属材质上安装标签(抗金属标签成本高),尽可能安装大尺寸标签,多个标签对应一个设备(不同位置、不同角度),合理布置库房货架和读头,然后配合算法推定,检出率可达到100%。
3 门禁与读写头的配合
在库管系统中,库房门的开关状态、读写头的位置与开启、读取顺序是确定进出和借还逻辑的关键。我们使用了两个库房门,通过四个门禁读头(开关)控制进出门,依据这四个信号能够判定进门、出门动作,启动或关闭读写头来探测借还的设备。读写头从接到读取命令到发射信号给标签充电,获取标签发出的射频信号再通过485接口传输约需10秒钟,这意味着两个门的开启时间有10秒的间隔(最好是有一个长走廊)。无人值守库房布局见图一。
按上图布置的无人值守设备库房按如下的流程工作:
用户刷卡获门禁系统授权后,1#门电磁锁打开,监控程序启动读头4和读头3,用户刷卡开启2#门后,读头3和读头4停止读取标签,此过程中监测到的标签即为用户归还的设备标签,监控程序将相关信息写入数据库;按库房使用规则要求,用户将采访设备摆放在多层货架上,使用充电管理系统给摄像机电池充电;若需要借出设备,则从货架上取下设备和已经充好电的电池,刷卡开2#门、1#门,经过走道时,读头3和读头4启动扫描,判定借出设备信息。1#门关闭后读头1和读头2分别启动扫描,核对库存信息,进一步判定用户进出后库房设备的变化情况。在值守状态下,读头1和读头2定时启动清点库存。
飒科智能门禁控制系统使用TCP/IP协议通过网络传输数据,而捷通科技的读写头可以通过RS485接口传输,需要分别布设网线和485双绞线。最麻烦的是两家的SDK分别在VB和VC++两种语言下成功调用,最后不得不分别设计了门禁监控程序和RFID标签监控程序,通过Windows进程间通讯机制,门禁监控程序抛出门禁状态消息,RFID标签监控程序通过捕获相关消息,完成一系列识别、判定和记录操作。下面的代码演示了门禁监控程序调用飒科门禁控制板SDK获取到门禁消息后进行转发,以及无人库房监控主程序响应消息,控制超高频读写头扫描标签的过程。
Visual Basic 2010 进程间消息转发示例
Public Sub SendMsg(ByVal wmmsg As Integer, ByVal lngMsg As Long, ByVal strMsg As String)
Dim hwnd As Integer = FindWindowA(vbNullString, "Gatekeeper")
PostMessage(hwnd, wmmsg, 0, lngMsg) DelayTime(100)
End Sub
Visual C++ 2010监控程序消息响应示例
afx_msg LRESULT CGatekeeperDlg::OnUserid(WPARAM wParam, LPARAM lParam)
{
CString strUserID,strUserName,strmsg;
_bstr_t bstrSQL;
strUserID.Format("%d",lParam);
strUserID.Trim();
bstrSQL="select * from iUser WHERE iUser.UserRFID= + strUserID + order by iUser.uRecNo ";
m_RecUser->Close();
m_RecUser->Open(bstrSQL,m_Pt.GetInterfacePtr(),adOpenDynamic,adLockBatchOptimistic,adCmdText);
if (m_RecUser->RecordCount>0){
strUserName=m_RecUser->GetCollect("UserName").bstrVal;
}
if(m_IsFree==1){
m_IsFree=0;
m_strUserID=strUserID;
m_strUserName=strUserName;
}
//RFID卡消息,确认刷卡人身份
strmsg="刷卡ID:"+strUserID+" 用户名:"+strUserName;
RefAppMsg(strmsg);
return 0;
}
Visual C++ 2010监控程序操作读写头进行走道扫描示例
int CGatekeeperDlg::PavementScan(int nType)
{
mycl cl;
UINT dl;
dl=2;
ConnectReader(3);
SetSingleParameter(3, ADD_NEIGHJUDGE_TIME, dl);
DisConnectReader(3);
ConnectReader(4);
SetSingleParameter(4, ADD_NEIGHJUDGE_TIME, dl);
DisConnectReader(4);
if (nType==1)
{
cl.DelayMS(2000);
while(m_DoorStatus==2){
ConnectReader(3);
ReadRFID(3);
cl.DelayMS(3000);
ReadStop(3);
DisConnectReader(3);
ConnectReader(4);
ReadRFID(4);
cl.DelayMS(4000);
ReadStop(4);
DisConnectReader(4);
}
}else{
//扫描模式2 略
}
ConnectReader(3);
SetSingleParameter(3, ADD_NEIGHJUDGE_SET, 2);
DisConnectReader(3);
ConnectReader(4);
SetSingleParameter(4, ADD_NEIGHJUDGE_SET, 2);
DisConnectReader(4);
return 0;
}
在庫管系统中还需要记录人员设备信息、进出扫描信息,进行门禁许可操作,记录RFID卡和对应设备关系等数据,为此我们专门部署了一台SQL Sever数据库服务器,设计制作了系统管理程序并使用一台桌面型超高频读写器做RFID卡和设备的绑定。此外还设计了检索查询用的客户端程序。数据库、门禁管理程序、库房监控程序以及检索查询客户端、系统管理客户端一起构成了无人值守库管的软件系统。
4 总结与展望
为了方便使用和管理我们还添置了和门禁卡绑定的IC卡储物柜供用户使用,安装了多路倒计时控制器用于电池充电管理,安装了除湿设备、监控探头、火警探头,这些设备的控制还没有集成到库管系统中。未来我们准备利用树莓派计算机的GPIO端口来控制库房门禁、摄像头以及温度、湿度传感器,操纵空调机、除湿机,使整个无人值守库管系统更聪明更方便,建设成本更低。
这样一个无人值守的库房管理系统当然不局限于应用在采访设备库房管理上,其应用范围可以扩展到贵重物品的库房管理等方面,通过射频识别RFID标签识别距离较短的特性进行定位的设计思路还可以扩展到很多应用场景。
参考文献:
[1]《无线射频识别(RFID)技术基础》,彭力 编著
[2]《射频识别技术——原理、协议及系统设计》,陆桑璐 谢磊 编著
[3]《RFID技术与应用》方龙雄 主编
作者简介:陈义锋(1975-),男,民族:汉,籍贯(精确到市): 湖北省武汉市,当前职务: 黄陂电视台技术部主任,当前职称: 广播电视工程工程师,学历:本科,研究方向: 广播电视工程及广播电视软件设计。
关键词:物联网;RFID;RFIC;门禁;射频识别;无人值守库房
我们都知道由于新闻采访活动的突发性,存放采访设备的库房要么需要24小时不间断的轮班,要么处于疏于监管的状态,使用新技术新手段管理设备库房是一个新思路。2016年初我们尝试使用物联网技术设计建设一套能够自动控制人员进出、识别设备使用状况,24小时无人值守的设备库房管理系统。进过反复试验验证,最终采用超高频RFID作设备识别,配合RFIC门禁系统,实现了设计目标。该系统软件已于2017年申请了软件著作权。
物联网技术方兴未艾,RFID射频识别技术应用随处可见,但具体到应用环节仍有许多值得深入讨论和思考的地方,无人库房和无人超市、无人银行一样,有很多值得关注的技术应用,也有更突出的管理问题。下面我们简单介绍一下基于射频识别技术的无人值守库管系统的设计、建设情况以及部分关键环节的程序代码。
1 RFID射频识别技术在库管上的应用
无论是小区的门禁卡、地铁票、洗衣标签还是高速ETC,射频识别技术无处不在,但要把它贴在摄像机、三角架上,再进行读写识别就不是一件简单的事了。首先,射频识别装置就分有源标签和无源标签,有源标签识别通讯距离远,识别率高,但是体积大,要使用电池;无源标签从频率上可以分为低频、高频和超高频标签,从CPU上分为RFID和RFIC标签,从封装形式上又可以分为卡片标签、自粘标签、陶瓷标签等等。
这其中内置RFIC标签安全性高一般应用在门禁系统中,在我们的库管系统中RFIC标签作为人员进出的唯一识别标志。
在设备识别标签上我们没有选择惯常使用的有源电子标签,主要是考虑到要频繁更换有源标签电池,其主动发射信号可识别距离太远,不能够精细判断设备位置。在无源标签中900MHz超高频RFID标签配合中功率(1W)读写头识别距离为5米,可满足无接触自动识别要求。
要自行设计软件获取门禁系统、RFID读写头信息进行相关操作,需要门禁控制板、读写头SDK的支持,我们选用了飒科智能双门门禁控制板和捷通科技超高频中距离读写头以及超高频桌面发卡机做为无人库房管理系统的识别设备,两家公司分别提供了SDK开发包。
2 影响识别率的几个关键点
在库房管理系统中,设备的检出率是最重要的指标之一,要提高设备的检出率首先要研究RFID标签的识别率。
理论上所有符合标准的标签都能够识别,人工近距离主动让读写头去识别RFID标签,识别率可以达到100%。而我们要设计的库管系统是一个无人值守的系统,不要求借出或者归还设备的过程中要有主动供读写头识别标签的动作。这样一来,影响设备检出率的状况主要有一下几点(见表一)。
表一:影响RFID识别率的因素
上表我们列出了影响设备检出率的主要因素,提高检出率的办法主要有:使用多个读头从不同角度读取,依据设备材质安装标签,尽量在非金属材质上安装标签(抗金属标签成本高),尽可能安装大尺寸标签,多个标签对应一个设备(不同位置、不同角度),合理布置库房货架和读头,然后配合算法推定,检出率可达到100%。
3 门禁与读写头的配合
在库管系统中,库房门的开关状态、读写头的位置与开启、读取顺序是确定进出和借还逻辑的关键。我们使用了两个库房门,通过四个门禁读头(开关)控制进出门,依据这四个信号能够判定进门、出门动作,启动或关闭读写头来探测借还的设备。读写头从接到读取命令到发射信号给标签充电,获取标签发出的射频信号再通过485接口传输约需10秒钟,这意味着两个门的开启时间有10秒的间隔(最好是有一个长走廊)。无人值守库房布局见图一。
按上图布置的无人值守设备库房按如下的流程工作:
用户刷卡获门禁系统授权后,1#门电磁锁打开,监控程序启动读头4和读头3,用户刷卡开启2#门后,读头3和读头4停止读取标签,此过程中监测到的标签即为用户归还的设备标签,监控程序将相关信息写入数据库;按库房使用规则要求,用户将采访设备摆放在多层货架上,使用充电管理系统给摄像机电池充电;若需要借出设备,则从货架上取下设备和已经充好电的电池,刷卡开2#门、1#门,经过走道时,读头3和读头4启动扫描,判定借出设备信息。1#门关闭后读头1和读头2分别启动扫描,核对库存信息,进一步判定用户进出后库房设备的变化情况。在值守状态下,读头1和读头2定时启动清点库存。
飒科智能门禁控制系统使用TCP/IP协议通过网络传输数据,而捷通科技的读写头可以通过RS485接口传输,需要分别布设网线和485双绞线。最麻烦的是两家的SDK分别在VB和VC++两种语言下成功调用,最后不得不分别设计了门禁监控程序和RFID标签监控程序,通过Windows进程间通讯机制,门禁监控程序抛出门禁状态消息,RFID标签监控程序通过捕获相关消息,完成一系列识别、判定和记录操作。下面的代码演示了门禁监控程序调用飒科门禁控制板SDK获取到门禁消息后进行转发,以及无人库房监控主程序响应消息,控制超高频读写头扫描标签的过程。
Visual Basic 2010 进程间消息转发示例
Public Sub SendMsg(ByVal wmmsg As Integer, ByVal lngMsg As Long, ByVal strMsg As String)
Dim hwnd As Integer = FindWindowA(vbNullString, "Gatekeeper")
PostMessage(hwnd, wmmsg, 0, lngMsg) DelayTime(100)
End Sub
Visual C++ 2010监控程序消息响应示例
afx_msg LRESULT CGatekeeperDlg::OnUserid(WPARAM wParam, LPARAM lParam)
{
CString strUserID,strUserName,strmsg;
_bstr_t bstrSQL;
strUserID.Format("%d",lParam);
strUserID.Trim();
bstrSQL="select * from iUser WHERE iUser.UserRFID= + strUserID + order by iUser.uRecNo ";
m_RecUser->Close();
m_RecUser->Open(bstrSQL,m_Pt.GetInterfacePtr(),adOpenDynamic,adLockBatchOptimistic,adCmdText);
if (m_RecUser->RecordCount>0){
strUserName=m_RecUser->GetCollect("UserName").bstrVal;
}
if(m_IsFree==1){
m_IsFree=0;
m_strUserID=strUserID;
m_strUserName=strUserName;
}
//RFID卡消息,确认刷卡人身份
strmsg="刷卡ID:"+strUserID+" 用户名:"+strUserName;
RefAppMsg(strmsg);
return 0;
}
Visual C++ 2010监控程序操作读写头进行走道扫描示例
int CGatekeeperDlg::PavementScan(int nType)
{
mycl cl;
UINT dl;
dl=2;
ConnectReader(3);
SetSingleParameter(3, ADD_NEIGHJUDGE_TIME, dl);
DisConnectReader(3);
ConnectReader(4);
SetSingleParameter(4, ADD_NEIGHJUDGE_TIME, dl);
DisConnectReader(4);
if (nType==1)
{
cl.DelayMS(2000);
while(m_DoorStatus==2){
ConnectReader(3);
ReadRFID(3);
cl.DelayMS(3000);
ReadStop(3);
DisConnectReader(3);
ConnectReader(4);
ReadRFID(4);
cl.DelayMS(4000);
ReadStop(4);
DisConnectReader(4);
}
}else{
//扫描模式2 略
}
ConnectReader(3);
SetSingleParameter(3, ADD_NEIGHJUDGE_SET, 2);
DisConnectReader(3);
ConnectReader(4);
SetSingleParameter(4, ADD_NEIGHJUDGE_SET, 2);
DisConnectReader(4);
return 0;
}
在庫管系统中还需要记录人员设备信息、进出扫描信息,进行门禁许可操作,记录RFID卡和对应设备关系等数据,为此我们专门部署了一台SQL Sever数据库服务器,设计制作了系统管理程序并使用一台桌面型超高频读写器做RFID卡和设备的绑定。此外还设计了检索查询用的客户端程序。数据库、门禁管理程序、库房监控程序以及检索查询客户端、系统管理客户端一起构成了无人值守库管的软件系统。
4 总结与展望
为了方便使用和管理我们还添置了和门禁卡绑定的IC卡储物柜供用户使用,安装了多路倒计时控制器用于电池充电管理,安装了除湿设备、监控探头、火警探头,这些设备的控制还没有集成到库管系统中。未来我们准备利用树莓派计算机的GPIO端口来控制库房门禁、摄像头以及温度、湿度传感器,操纵空调机、除湿机,使整个无人值守库管系统更聪明更方便,建设成本更低。
这样一个无人值守的库房管理系统当然不局限于应用在采访设备库房管理上,其应用范围可以扩展到贵重物品的库房管理等方面,通过射频识别RFID标签识别距离较短的特性进行定位的设计思路还可以扩展到很多应用场景。
参考文献:
[1]《无线射频识别(RFID)技术基础》,彭力 编著
[2]《射频识别技术——原理、协议及系统设计》,陆桑璐 谢磊 编著
[3]《RFID技术与应用》方龙雄 主编
作者简介:陈义锋(1975-),男,民族:汉,籍贯(精确到市): 湖北省武汉市,当前职务: 黄陂电视台技术部主任,当前职称: 广播电视工程工程师,学历:本科,研究方向: 广播电视工程及广播电视软件设计。