实验7、2.4G有源RFID应用-人员定位

实验7、2.4G有源RFID应用-人员定位
实验7、2.4G有源RFID应用-人员定位

实验七 2.4G 人员定位实验

一、实验目的

1.1 了解

2.4G有源RFID的相关标准

1.2 了解有源RFID识别系统的工作原理

1.3 了解

2.4G有源RFID的应用领域

二、实验设备

硬件:RFID实验箱套件,电脑等。

软件:Keil。

三、实验原理

远距离主动识别方式(主要是 2.4-2.8G 频段),是目前应用最成功,最受业界欢迎的一种识别方式。这种识别方式不仅距离远,可以再 50 米的范围内轻松读取(空气中能够稳定 80 米读取),还能支持多达 200 个射频卡的同时读取,最重要的是能够克服人体、金属等遮挡,甚至上百个持卡人进出依然保证 100%的读取。

有源 RFID 自动识别技术在学校相关应用系统中受到了广泛欢迎,其基本运用原理大致如图1。1 所示:每个学生携带有一枚 RFID 即无线感应标识卡(可作为电子学生证使用),在到学校大门后,校门附近的两个感应器就会读到标识并将信息传给数据中心服务器,由服务器进行处理判别后,由 SP 服务商向学生父母手机发送一条短信,如“爸爸,我已平安到校了”“爸爸,我放学了,一会就回家”,同时在服务器中保存所有学生的进出信息,并将它整理成报表供学校、家长查询。利用学校互动网络平台班主任可将每个学生的在校学习和生活情况等定时或不定时的集中或单独发送至家长的手机和电子邮箱,免去老师逐一通知或家长缺席家长会等情况而产生的各种交流屏障,方便快捷。类似系统在美国、欧洲等发达国家已得到广泛应用,已成为老师和家长沟通的桥梁,广受欢迎。

更多领域:

1)人员管理类:

学生到/离校自动化识别管理

交巡警网格化巡逻的只能管理

煤矿井下人员的定位、跟踪、查询管理

考勤、门禁、会议签到、人员出入等管理

2)车辆管理:

智能小区、大厦停车场收费、登记管理

城市公交智能站台和车辆调度的智能管理

重要机关、不对的车辆出入、牌照防伪识别管理

海关出入境车辆的识别、登记自动化管理

图 1.1

本实验标签定时发送数据帧到读卡器,当标签在读写范围值外时读卡器则接收不到周期性的标签数据,可通过次方式进行宽泛的人员定位。

四、实验步骤

以下对相关器件的介绍只是一部分,详情见其手册。

手册地址:\光盘\附件\2.4G资料

实验相关的工程代码文件地址:\光盘\源代码\2.4G有源\2.4G-人员定位实验

4.1 首先安装电池,具体流程请参考2.4G低功耗实验。

4.2 打开\光盘\源代码\2.4G有源\2.4G-人员定位实验工程编译并烧写到实验箱。

4.3 进入例程主界面,点击Start读卡器开始工作。

界面核心代码解析:

hWin = GUI_CreateDialogBox(aDialogCreate, GUI_COUNTOF(aDialogCreate), _cbCallback, 0, 0, 0);

/* 设置窗体字体 */

FRAMEWIN_SetFont(hWin, &GUI_FontComic18B_1);

FRAMEWIN_SetBarColor(hWin, 0, GUI_LIGHTCYAN);

FRAMEWIN_SetClientColor(hWin, GUI_BLACK);

/*BUTTON 部件句柄及设置控件参数*/

hButton_bussys[0] = WM_GetDialogItem(hWin, GUI_ID_BUTTON0);

hButton_bussys[1] = WM_GetDialogItem(hWin, GUI_ID_BUTTON1);

BUTTON_SetFont(hButton_bussys[0], &GUI_FontComic18B_1);

BUTTON_SetFont(hButton_bussys[1], &GUI_FontComic18B_1);

BUTTON_SetTextColor(hButton_bussys[0], 0, GUI_BLUE);

BUTTON_SetTextColor(hButton_bussys[1], 0, GUI_BLUE); BUTTON_SetBkColor(hButton_bussys[0],0,GUI_LIGHTCYAN); BUTTON_SetBkColor(hButton_bussys[1],0,GUI_LIGHTCYAN); BUTTON_SetBkColor(hButton_bussys[0],1,GUI_GRAY); BUTTON_SetBkColor(hButton_bussys[1],1,GUI_GRAY);

/* 获得edit 部件的句柄及设置控件参数 */

edit[0] = WM_GetDialogItem(hWin, GUI_ID_EDIT0); edit[1] = WM_GetDialogItem(hWin, GUI_ID_EDIT1);

/* 设置EDIT部件采用10进制范围50-20000*/

EDIT_SetDecMode(edit[1],0,0,2000,0,0);

EDIT_SetMaxLen(edit[0], 40);

4.4 当标签超出读卡距离时发出警报,核心代码解析:

while(1)

{

flag = 0;

if (1 == rec_f2)

{

rec_f2 = 0;

atoh(RxBuffer2, hex, 8);

EDIT_SetText(edit[0], hex);

EDIT_SetValue(edit[1], i++);

GPIO_ResetBits(GPIOB, GPIO_Pin_11);

flag = 1;

time = 0;

} else {

time++;

}

if (0 == flag && time >= 80000) //是否超时并未接收到标签数据

{

GPIO_SetBits(GPIOB, GPIO_Pin_11); //发出警报

}

WM_Exec();

}

相关主题
相关文档
最新文档