Colt- 超高频无源UHF RFID shield for PcDuino or Arduino

【产品简介】:
    Colt 是ElecKits出品的一款基于Arduino平台的UHF RFID Shield,它支持ISO18000-6B 6C协议,可读写EPC GEN-2标准无源卡。
    Colt 采用MCU底板+UHF RFID收发模块 分离设计方式。底板提供USB或者Uart-TTL(115200bps)通讯接口,默认为Uart 通讯方式。USB方式需要相应固件支持,且支持单板USB。
    UHF RFID收发模块尺寸超小。仅 26.85mm * 20.83 mm(大拇指大小)。非常适合客户做超高频UHF RFID的二次开发。用户可以通过普通Uart串口把模块集成到您的项目中,如手持机,工业平板等。

【技术点描述】:
1、Colt 支持 Arduino 直插使用,内置uart 115200bps通讯接口,接驳Arduino的默认硬串口uart0;
2、Colt 的UHF RFID默认工作频率为902-928MHz (USA),可以通过指令设置为840~960MHz的任意工作频段;
3、Colt 板载1个用户LED和1个用户继电器;
4、用户LED使用Arduino GPIO7,低电平亮,高电平灭;
5、用户继电器使用Arduino GPIO8,高电平闭合,低电平断开;
6、Colt使用需要用户外接天线,天线接口为IPX接口,天线频段建议902-928MHz;
7、无源超高频读写器 读卡距离和发射功率、环境、标签性能和天线增益有关。用户可以选择高增益天线提高读写距离。我司的三款天线读卡距离参考,介绍页面最下端有采购链接:
(1)3dbi PCB天线   10-30cm
(2)5dbi PCB天线   10-80cm
(3)8dBi 圆极化板状天线   50-300cm
8、提供串口通讯控制指令集。完全通过指令控制UHF RFID读卡、写卡,以及收发数据。

Colt- 超高频无源UHF RFID shield for PcDuino or Arduino_第1张图片

【UHF RFID收发芯片AS3992介绍】
     UHF RFID收发芯片采用AMS主流芯片AS3992.奥地利微电子AS3992产品包括了一系列先进的功能,如可编程DRM滤波器、预失真功能和-86dBm的超高接收器灵敏度。这意味着采用AS3992的单一设计系统率先实现可交付给全球任何市场。AS3992在夯实Simply Gen 2读卡器IC性能的同时,也继承了其最佳功耗特性。这种低功耗特性结合新的先进功能,使AS3992成为市场上最先进的Gen 2读卡器IC。

读卡协议 模式 
①6B协议(单卡)
②6C协议(单卡)
③6C协议(多卡)
备注:以上阐述的读取距离为无任何干扰的空间测试距离,如为停车场使用,请以车辆的挡风玻璃膜的介质的不同实地测定为准。

1)产品特点
·最大读取距离可达3m ,(需特定标签和天线参数下测试)
·兼容6C和6B协议
·企业签约客户,可提供底层SDK开发包,系统接入方便,方便用户自行添加功能;
·模块化设计,方便用户进行二次开发。
2)应用场合
·车辆智能化管理:停车场、高速公路不停车收费、海关通关、自动称重等
·生产流水线智能化管理:流水线产品的智能分拣等
·仓库管理:货物出入库自动记录等
·物流管理:集装箱管理、托盘管理、资产追踪等
·人员管理:学校门口出入管理、工厂门口出入管理

全球第一款可直接接在Arduino和PcDuino硬件平台上的UHF RFID shield开始接收预定啦!!!
现在预定,享受双重好礼!!!
惊喜一:包邮!包邮!包邮!
惊喜二:送5dBi PCB天线!送5dBi PCB天线!送5dBi PCB天线!(价值69元)
(重要的事情说3遍,上述优惠仅限预定用户,预计9月底发货)


链接:

http://
item.taobao.com/item.htm?spm=a1z10.1-c.w4004-3535073336.22.A5aX9l&id=521665332439



【特别说明】:
本宝贝默认需要在Arduino或Pcduino硬件环境下搭配使用~
{Ps:其实可以通过烧写USB版本固件,化身为USB读写器哦。一般人我不告诉他}

智能硬件及物联网UHF RFID技术交流 QQ群:273156182


代码:

//#include <NewSoftSerial.h>
//#define  DEBUG
#define   LOCAT_EPC 6      //扫描标签,标签的EPC数据在接收到数据的起始位置
#define   EPC_len   12      //EPC长度
#define   reserved_membank   0
#define   EPC_membank        1
#define   TID_membank        2
#define   USER_membank       3
#define  WordsofData  6  
//#define TimeInterval    10000
//unsigned long time;
//NewSoftSerial as3992(2,3);
char  COMMAND[30];     //保存命令数据
char  ReceBuffer[30];    
char EPC[20];    //保存扫描到的标签的EPC数据
char EPC_A[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88};
int NumofRece=0;  //rfid返回的数据的个数
char data[20];
char char_in;
void setup()
{
  Serial.begin(115200);
//  as3992.begin(115200);         
  pinMode(7,OUTPUT);
  pinMode(8,OUTPUT);  
}
void loop()
{
  if(SearchForTag(EPC,0x01) > 0)
  {
          char i;
         for(i=0;i<EPC_len;i++)
          {
            if( EPC[i]==EPC_A[i] )
                ;
            else
               break;
          }
          if(i==EPC_len)
          {
             i=0;
             digitalWrite(7,LOW);    //亮灯
             delay(50);
             digitalWrite(8,HIGH);    //继电器闭合
//             time=millis();
//            while( (millis()-time)<=TimeInterval );   //等待10s
             delay(500);
             delay(500);
             delay(500);
             delay(500);
             delay(500);
             delay(500);
             delay(500);
             delay(500);
             delay(500);
             delay(500);
             digitalWrite(7,HIGH);          //灭灯
             delay(50);
             digitalWrite(8,LOW);    //继电器断开
          }         
  }
 else{
    digitalWrite(7,HIGH);       //灭灯
    delay(100);
    digitalWrite(8,LOW);    //继电器断开
 }
}
void ReceData(char * buffer)    //接收数据
{
  NumofRece=0;
  int index=0;
  while(Serial.available() > 0)   
  {
      char_in=Serial.read();
      NumofRece++;
      *(buffer+index)=char_in;   
      index++;
  }
}
char SearchForTag(char *epc,char start)   //扫描标签
{
  COMMAND[0]=0x31;
  COMMAND[1]=0x03;
  COMMAND[2]=start;
  char i;
  for(i=0;i<COMMAND[1];i++){
  Serial.print(COMMAND[i]);
  delay(50);    //延迟很重要
  }
  ReceData(ReceBuffer);
  if(ReceBuffer[0] == 0x32  && ReceBuffer[2]> 0)
  {
  for(char j=LOCAT_EPC,k=0;j<NumofRece;j++,k++)  //保存EPC
    epc[k]=ReceBuffer[j];   
  for(i=0;i<NumofRece;i++)
      Serial.print(*(ReceBuffer+i) );     //输出接收到的数据
#ifdef DEBUG      
  for(i=0;i<EPC_len;i++)
  Serial.print( *(epc+i) );           //输出EPC
#endif
    return ReceBuffer[2];
  }
  else
    return 0;
}

更多清访问 http://rfid.eleckits.com

你可能感兴趣的:(RFID,物联网,arduino,UHF,AS3992,超高频无源读写器)