UHF RFID MODULE-UART 远距离RFID标签读卡器
UHF RFID MODULE-UART(SKU:TEL0082)
目录
1 概述
2 技术指标
3 接口定义
4 UHF RFID MODULE-UART的使用
5 教程
5.1 示例
5.1.1 示例代码
5.2 使用实例
6 相关文档
概述
UHF RFID MODULE-UART 远距离RFID标签读卡器模块是一款非接触式超高频远距离IC卡读写模块。广泛地运用于车辆监控、遥控、家庭防盗系统、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、等领域中。
DFRobot推出的这款UHF RFID MODULE-UART 远距离RFID标签读卡器模块能很方便的通过UART接口进行通信,同时模块有另一拥有RS485接口的版本,创客们可以通过RS485融入到现有无线网络中去,使用方便。
技术指标
模块接口:UART
工作电流:最大200mA
输出功率:最大24dBm
读卡距离: 0~30cm,最大可达50cm(有效距离与天线、电子标签及工作环境有关)
灵 敏 度:典型-102dBm最差-98dBm
支持波特率:9600、19200、38400、57600、115200(单位kbps)
支持协议:ISO18000-6C(EPC G2)
识别时间:读每8字节小于10ms,写每字节小于20ms
环境温度:-20℃~+65℃
模块尺寸:155mm*100mm
接口定义
红色线:模块电源输入端7V/2A
黑色线:模块GND
绿色线:接UART的TX端
黄绿色线:接UART的RX端
注意:在使用ATmega328P芯片的控制板连接读卡器时,如果您通过PC端输入命令,需要交换TX、RX端。
UHF RFID MODULE-UART的使用
UHF RFID MODULE-UART远距离RFID标签读卡器模块的读写方式采用固定的数据传输格式,根据发送端的不同(主机或从机)具有不同的数据格式,有如下三种类型:
命令帧是主机操作读写器得数据帧,数据流通方向由主机到从机,则主机需发送如下数据:
PacketType
Length
Command Code
Device Number
Command Data
...
Command Data
Command Data
Checksum
0xa0
n+3
1 byte
1 byte
Byte 1
Byte n-1
Byte n
cc
Packet Type
数据包类型域,命令帧包类型固定为0xa0
Length
数据包长域,表示Length域后帧中字节数
Command Code
命令码域
Device Number
设备号域,当设备号usercode为00时,表示群发
Command Data
命令帧中的参数域
Checksum
校验和域,规定校验范围是从包类型域到参数域最后一个字节为所有字节的校验和,读写器接受到命令帧后需要计算校验和来检错
命令完成响应帧是一种固定长度的数据帧,当读写器接收到主机发来的命令并完成后,读写器会返回命令完成响应帧。数据流通方向由从机到主机,其格式如下表所示:
PacketType
Length
Command Code
Device Number
Status
Checksum
0xe4
0x04
1 byte
1 byte
1 byte
cc
Status是状态域,状态域表明读写器完成PC机命令后读写器状态或执行命令后的结果,其规定如下表所示;
序号
值
名称
描述
1
0x00
ERR_NONE
命令成功完成
2
0x02
CRC_ERROR
CRC校验错误
3
0x10
COMMMAND_ERROR
非法命令
4
0x01
OTHER_ERROR
其他错误
信息帧是读写器返回给主机的数据帧,比如,用于发送标签给主机,数据流通方向由从机到主机,其格式定义如下表所示
PacketType
Length
Response Code
Device Number
Response Data
...
Response Data
Checksum
0xe0
n+3
1 byte
1 byte
Byte 1
Byte n
cc
Response Code是信息码域,取值表示信息的类型;
Response Data是信息帧中的参数域;
>
下面将列举一些常用主机命令,更多内容与更详细的说明请参考UHF RFID MODULE技术文档
标签读取
标签销毁
停止读取
重新识别标签
控制BUZZER
A0 06 80 00 01 02 01 D6
A0 08 86 00 00 12 34 56 78 BE
A0 03 50 00 0D
A0 03 FC 00 61
A0 04 B0 00 00(关闭) AC A0 04 B0 00 01(开启) AB
在给UHF RFID MODULE-UART 远距离RFID标签读卡器模块上电后,模块会发出短暂的“嘟”声,且模块处于连续读卡模式,把电子标签置于模块上方,模块开始读卡,通过串口给模块发送停止读卡命令可以停止读卡(停止读卡命令为A0 03 50 00 0D),如果操作成功,返回数据位E4 04 50 00 00 C8,如果操作失败,返回数据位E4 04 50 00 (其他值) C8。
特别注意,模块具有销毁、锁定等特殊功能,如果电子标签一旦被销毁,则此电子标签就废了,请慎用销毁功能!
教程
示例
本示例演示:由arduino控制激活读卡器的关闭读取功能与重置配置之间的来回切换。
连线图
示例代码
unsigned char StopReadCode[5] = {0xa0,0x03,0xa8,0x00,0xb5};//Stop reading the label code
unsigned char ResetCode[5]={0xa0,0x03,0x65,0x00,0xf8};//Reset code
unsigned char StopReadCodeCB[6]={0xe0,0x04,0xa8,0x00,0x00,0x74};//Stop reading code success and return the value
unsigned char ResetCodeCB[6]={0xe4,0x04,0x65,0x00,0x00,0xb3};//Reset code success and return the value
unsigned char data[6]={};
void setup()
{
Serial.begin(9600);
}
void loop()
{
int i;
int n=1;
delay(2000);
while(n)
{
Serial.write(StopReadCode,5);
delay(200);
if(Serial.available())
{
for(i=0;i<6;i++)
{
data[i]=Serial.read();
delay(1);
}
for(i=0;i<6;i++)
{
if(data[i]==StopReadCodeCB[i])
n=0;
else
n=1;
}
}
delay(500);
}
n=1;
while(n)
{
Serial.write(ResetCode,5);
delay(200);
if(Serial.available())
{
for(i=0;i<6;i++)
{
data[i]=Serial.read();
delay(1);
}
for(i=0;i<6;i++)
{
if(data[i]==ResetCodeCB[i])
n=0;
else
n=1;
}
}
delay(500);
}
}
应用中,我们使用串口助手来帮助我们更方便地发送与接收命令。通过读取tag命令,可以看到远距离RFID标签读卡器做出了回应,返回了读取的标签名。之后我们继续尝试其他指令,如下图所示。
图中左侧为主机发送的命令帧及其对应说明,右侧为读卡器返回的信息帧以及命令完成响应帧其对应说明。
购买UHF RFID MODULE-UART 远距离RFID标签读卡器 (SKU:TEL0082)
相关文档
UHF RFID MODULE技术文档链接