物联网关键技术——低频卡门禁系统

目录

项目任务:

任务准备

一、设备使用及连接

1.串口助手使用

2.NewLab平台通信协议

2.1.NewLab平台通信协议概述

2.2.NewLab平台通信协议的主要组成部分

2.3.NewLab平台通信协议在低频卡门禁系统中的应用

二、系统软件及技术设计

1.系统软件设计

2.系统工作原理

3.技术设计

三、系统组成以及工作原理

1.低频卡门禁系统概述

1.1.读写器

1.2.卡

1.3.管理软件

2.数据流程及功能模块

任务实施

1.设置界面

1.1.串口控制功能

1.2.卡号读取与显示功能

1.3.卡片管理功能

1.4.手动读取卡数据功能

1.5.权限控制功能

2.手动发送和接受

2.1. 发送指令

2.2. 发送验证

2.3. 接收准备

2.4. 数据接收

2.5. 数据处理

3.自动接收数据

3.1. 发送机制设置

3.2. 发送监控与日志

3.3. 接收机制设置

3.4. 数据解析与处理

3.5. 接收监控与日志

总结


项目任务:

1、设计界面要具备开关串口的功能,串口协议默认(115200,8位数据宽度,1位停止位,无校验);

2、要具备读取卡号(卡信息)的功能;

3、可以对新卡进行注册;

4、可以对已经注册的卡进行读取;

5、手动读取卡数据(每个小组设定的读卡块位置不同,数据也不同);

6、对读取到的数据进行判断,并正确显示“注册”或“卡无效”等信息。

页面设计:

任务准备

一、设备使用及连接

1.串口助手使用

一、连接好NewLab实验台,并放上M3模块,把实验台调整到“通讯模式”

二、在设备管理器中查找本机的串口号 ,默认不是在COM1

三、打开“串口助手”,设置好参数(波特率什么都可以)

四、若测试成功,可以安装LF 天线模块M3模块的PB10、PB11分别连接LF射频模块的CLK、DATA引脚。(CLK=PB10,DATA=PB11)

2.NewLab平台通信协议

NewLab平台通信协议是确保门禁系统中各个组成部分(如门禁控制器、读卡器、门磁、电锁等)之间能够有效、准确地进行信息交换和数据传输的关键。

2.1.NewLab平台通信协议概述

定义:NewLab平台通信协议是一套专门为低频卡门禁系统设计的通信标准,它规定了系统中各个设备之间通信的格式、速率、数据校验等关键参数。

2.2.NewLab平台通信协议的主要组成部分

通信格式:NewLab平台通信协议规定了数据包的格式,包括帧头、数据部分和帧尾等关键部分。其中,帧头包含了数据包的类型、长度等信息,数据部分包含了具体的指令和数据,帧尾则用于数据的校验和确认。
通信速率:NewLab平台通信协议规定了门禁系统中各个设备之间的通信速率,确保数据能够快速、准确地传输。
数据校验:为了确保数据的准确性和完整性,NewLab平台通信协议采用了多种数据校验方法,如CRC校验等。这些校验方法能够有效地检测出数据传输过程中的错误,并进行相应的处理。

SYNC: 通信协议同步帧,ID:从设备地址,Command:命令,Size:数据段大小,CRC16: 采用CRC16校验方式。具体可以看CRC

2.3.NewLab平台通信协议在低频卡门禁系统中的应用

在低频卡门禁系统中,NewLab平台通信协议被广泛应用于门禁控制器与读卡器之间的通信。当用户持有低频卡靠近读卡器时,读卡器会读取卡上的信息并通过NewLab平台通信协议将数据传输给门禁控制器。门禁控制器会根据读取到的信息与存储的授权信息进行比对,如果验证通过,则控制器会发送指令给门磁或电锁,打开门禁设备,允许用户进入。

二、系统软件及技术设计

1.系统软件设计

门禁管理软件:用于人员信息管理、权限设置等。软件应具备界面友好、操作简便的特点,方便管理员进行日常操作和管理。
数据库:存储人员信息、权限信息、事件记录等。数据库应具备高可靠性、高安全性的特点,确保数据不会丢失或被非法访问。
中间件:作为数据传输和处理平台,实现数据的接收、存储、处理和传输。中间件应具备高性能、高可扩展性的特点,确保门禁系统能够支持大规模的数据处理和管理需求。

2.系统工作原理

人员携带低频卡靠近读卡器时,读卡器读取卡中的信息,并将数据发送给门禁控制器。门禁控制器接收数据后,与预设的权限数据库进行比对。若卡号匹配且权限允许,门禁控制器控制门禁执行机构打开,允许人员进入。

3.技术设计

低频卡技术:研究低频卡(如125KHz)的工作原理、识别距离、安全性等特性,选择适合的门禁系统低频卡。
RFID技术:了解RFID技术的基本原理、组成部分和工作频段,分析其在门禁系统中的应用优势。
物联网技术:研究物联网技术在门禁系统中的应用,如Zigbee无线通信技术为系统设计提供技术支持。

三、系统组成以及工作原理

1.低频卡门禁系统概述

低频卡门禁系统是一种基于无线射频识别(RFID)技术的安全控制系统,它主要利用低频电磁波进行非接触式通信,以实现对特定区域进出权限的管理。低频卡门禁系统通常包含读写器、卡以及相应的管理软件。

1.1.读写器

读写器是门禁系统的核心设备,负责发射无线电波并接收来自卡的响应信号。读写器通常安装在门禁点附近,如入口通道或出口通道。当卡靠近读写器时,读写器会自动检测卡的存在并发送信号,读取卡中的信息。

1.2.卡

卡是门禁系统中的身份凭证,分为ID卡和IC卡两种类型。ID卡通常含有固定的序列号,而IC卡则具有更大的存储空间,可以存储更多的用户数据和权限信息。卡通过与读写器之间的电磁耦合进行通信,传递身份信息。

1.3.管理软件

管理软件用于设置和维护门禁系统的各项参数,如用户权限和事件记录等。

2.数据流程及功能模块

数据流程:设计门禁系统的数据流程,包括卡号读取、信息比对、指令发送等过程,确保数据的准确性和实时性。功能模块:根据设计目标和需求,划分门禁系统的功能模块,如身份认证模块、门禁控制模块,并明确各模块的功能和接口。

任务实施

1.设置界面

1.1.串口控制功能

设计界面应具备开关串口的功能,串口协议默认为115200波特率、8位数据宽度、1位停止位、无校验。提供串口参数设置选项,允许用户根据实际情况调整串口参数。

1.2.卡号读取与显示功能

设计界面应能够实时读取低频卡上的卡号(卡信息),并在界面上清晰显示。卡号显示应易于辨识,字体大小适中。

1.3.卡片管理功能

提供新卡注册功能,允许管理员为新用户分配低频卡并设置权限。提供已注册卡片的注销功能,管理员可根据需要注销不再使用的卡片。设计界面应显示已注册卡片的列表,包括卡号、持卡人姓名等信息。

1.4.手动读取卡数据功能

设计界面应提供手动读取卡数据的功能,管理员可通过该功能读取指定卡片的数据以进行验证或调试。读取到的数据应在界面上清晰显示,包括卡号、卡片状态等信息。

1.5.权限控制功能

设计界面应能够显示当前门禁设备的权限状态(如开门、禁止入内等),并根据卡片验证结果实时更新。提供权限设置选项,允许管理员为不同卡片设置不同的门禁权限。

2.手动发送和接受

2.1. 发送指令

指令格式:根据门禁系统的通信协议,构造发送指令。指令通常包括帧头、数据部分和帧尾。数据部分包含具体的操作指令和参数,如读卡指令、开门指令等。
发送方式:通过门禁系统控制软件的手动发送功能,将构造好的指令发送给门禁控制器。在C#等编程语言中,可以使用SerialPort类的Write方法发送数据。

2.2. 发送验证

响应等待:发送指令后,门禁控制器会执行相应的操作,并通过串口返回响应数据。系统应等待一段时间(如100ms),以便接收门禁控制器的响应。
响应校验:接收到的响应数据应经过校验,确保数据的完整性和正确性。常用的校验方法有CRC校验等。

 private void btSend_Click(object sender, EventArgs e)  //发送数据
{
            // 1 、以字符串形式发送
            string str = "ABCDEFDG";
            com1.Write(str);             
            com1.WriteLine(str);   //发送字符串后发送新一行
            // 2、 字节数组发送方式
            byte[] buff = new byte[] { 0xff, 0x55, 0x00, 0x00, 0x01, 0x01, 0x00, 0x50,0x74};
            com1.Write(buff, 0, buff.Length);
             // 3、字符数组发送方式
             char[] buff1 = new char[] { 'a', 'b', 'c', 'd' };
             com1.Write(buff1, 0, buff1.Length);
}
2.3. 接收准备

串口监听:在门禁系统控制软件中,设置串口监听功能,以便实时接收门禁控制器发送的数据。
数据缓冲区:为接收到的数据分配足够的缓冲区,确保数据不会丢失。

2.4. 数据接收

数据读取:当门禁控制器发送数据时,系统应从串口读取数据,并保存到数据缓冲区中。在C#等编程语言中,可以使用SerialPort类的Read方法读取数据。
数据解析:对接收到的数据进行解析,提取出有用的信息,如卡号、状态码等。根据门禁系统的通信协议,解析出数据的具体含义。

2.5. 数据处理

状态更新:根据接收到的数据,更新门禁系统的状态,如显示当前卡号、更新门禁权限等。
异常处理:如果接收到的数据存在异常(如校验失败、格式错误等),系统应进行异常处理,如显示错误提示、记录日志等。

string buff = com1.ReadExisting();  
string buff =  com1.ReadLine()
textBoxReceive.Text += buff;
int len = com1.BytesToRead;  
byte[] buff=new byte[len];
com1.Read(buff,0,len);
str +=  buff[i].toString("X").PadLeft(2,'0')     X代表以16进制显示, PadLeft表示显示的位宽,2表示以两位宽显示,‘0’表示不够两位用0补

3.自动接收数据


3.1. 发送机制设置

定时器设置:使用定时器(Timer)实现自动发送功能。可以设置定时器的间隔时间(Interval),例如每秒钟(1000毫秒)发送一次数据。发送内容:根据门禁系统的需求,构造需要发送的数据包。数据包通常包括帧头、指令内容和帧尾。发送方式:通过门禁系统控制软件的自动发送功能,按照设定的间隔时间将数据包发送给门禁控制器。

3.2. 发送监控与日志

发送状态监控:系统应实时监控发送状态,确保数据包成功发送。如果发送失败,系统应记录错误信息并尝试重新发送。发送日志记录:系统应记录每次发送的数据包内容、发送时间、发送状态等信息,以便后续分析和排查问题。

3.3. 接收机制设置

串口监听:设置串口监听功能,以便实时接收门禁控制器发送的数据。数据缓冲区:为接收到的数据分配足够的缓冲区,确保数据不会丢失。接收事件处理:当接收到数据时,触发接收事件处理函数。该函数负责从缓冲区中读取数据,并进行后续处理。

3.4. 数据解析与处理

数据解析:根据门禁系统的通信协议,对接收到的数据进行解析。提取出有用的信息,如卡号、状态码等。状态更新:根据解析出的数据,更新门禁系统的状态。例如,当接收到开门指令时,控制门禁设备打开门禁。异常处理:如果接收到的数据存在异常(如校验失败、格式错误等),系统应进行异常处理。

3.5. 接收监控与日志

接收状态监控:系统应实时监控接收状态,确保数据能够正常接收。如果接收失败,系统应记录错误信息并尝试重新接收。接收日志记录:系统应记录每次接收的数据内容、接收时间、接收状态等信息,以便后续分析和排查问题。

serialPort1.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);//必须手动添加事件处理程序
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)//串口数据接收事件
 {
    if (!radioButton3.Checked)//如果接收模式为字符模式
{
        CheckForIllegalCrossThreadCalls = false;     //关闭跨线程异常警告
        tring str = serialPort1.ReadExisting();//字符串方式读
        textBox1.AppendText(str);//添加内容
}
    else
{ //如果接收模式为数值接收byte data;
        CheckForIllegalCrossThreadCalls = false;     //关闭跨线程异常警告
        data = (byte)serialPort1.ReadByte();//此处需要强制类型转换,将(int)类型数据转换为(byte类型数据,不必考虑是否会丢失数据
        string str = Convert.ToString(data, 16).ToUpper();//转换为大写十六进制字符串
        textBox1.AppendText("0x" + (str.Length == 1 ? "0" + str : str) + " ");//空位补“0”   
         //上一句等同为:if(str.Length == 1)
        // str = "0" + str;
        // else 
        // str = str;
        // textBox1.AppendText("0x" + str);

  }
}

总结

测试结果视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HWQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值