課程

課程 講師

RFID實驗部分_有源2.4G

購買數
0
課時數
1
瀏覽數
477
主講人:
齊老師
有效期:
自購買之日起永久
優惠價:10
原價:¥10
分享

分享到:

手機查看

RFID實驗部分_有源2.4G

一、功能介紹

  1. 什么是有源RFID

        有源RFID,又稱為主動式RFID(Active tag),依據電子標簽供電方式的不同進行劃分的電子標簽的一種類型,通常支持遠距離識別。電子標簽可以分為有源電子標簽(Active tag)、無源電子標簽(Passive tag)和半無源電子標簽(Semi-passivetag)。有源電子標簽內裝有電池,無源射頻標簽沒有內裝電池,半無源電子標簽(Semi-passive tag)部分依靠電池工作。

    2.有源RFID如何構成

    RFID是一種簡單的無線系統,由兩個基本器件組成,詢問器(或閱讀器)和很多應答器(或標簽),同時輔以天線、外圍網絡、中間件、管理系統,從而形成完整的RFID應用系統。

      有源電子標簽如何構成

有源RFID電子標簽由中心處理器(MCU)、通訊芯片和外圍電路組成。

      有源閱讀器如何構成

有源RFID閱讀器由中心處理器(MCU)、通訊芯片、接口電路、存儲單元和外圍電路組成,可以實現對接收數據的解析、處理和分析。

    3.有源RFID如何工作

      有源電子標簽如何工作

RFID標簽俗稱電子標簽,RFID標簽中存儲一個唯一編碼,其地址空間大大高于條碼所能提供的空間,因此可以實現單品級的物品編碼。標簽上電后,按照預設的規則周期性的進行信號發射,當RFID標簽進入讀寫器的作用區域,閱讀器獲取到標簽發射出來的信息,即完成了對標簽的識別過程。

       有源閱讀器如何工作

閱讀器是對RFID標簽進行讀/寫操作的設備,主要包括射頻模塊和數字信號處理單元兩部分。讀寫器是RFID系統中最重要的基礎設施,一方面,RFID標簽返回的電磁信號通過天線進入讀寫器的射頻模塊中轉換為數字信號,再經過讀寫器的數字信號處理單元對其進行必要的加工整形,最后從中解調出返回的信息,完成對RFID標簽的識別或讀/寫操作;另一方面,上層中間件及應用軟件與讀寫器進行交互,實現操作指令的執行和數據匯總上傳。在上傳數據時,讀寫器會對RFID標簽原子事件進行去重過濾或簡單的條件過濾,將其加工為讀寫器事件后再上傳,以減少與中間件及應用軟件之間數據交換的流量,因此在很多讀寫器中還集成了微處理器和嵌入式系統,實現一部分中間件的功能,如信號狀態控制、奇偶位錯誤校驗與修正等。

4.決定有源RFID的主要參數

    工作頻段

    讀寫器讀取距離

    防碰撞性能(讀寫器同時讀取標簽數量)

    讀寫器靈敏度 

    標簽存儲器容量 

    標簽電池壽命、發射功率、接收靈敏度 

    標簽尺寸、形狀、防護(防水、防塵、防腐、防爆性)等級 

    抗干擾能力(同頻信號干擾下是否正常工作)

    穩定性(標簽漏讀率) 

    安全性(加密方式) 

    擴展性(是否支持RSSI、TDOA等算法定位、傳感器結合)

二、使用演示

三、代碼分析

//程序開啟了一個線程,用于監聽2.4G模塊發送的串口數據(當模塊接收到有源2.4G標簽發送的卡號信息后會通過串口發送卡號信息)

void RfidThread::run(){

    int ret;

    qDebug()<<"rfid thread starting!";

    runFlag = true;

    while(runFlag == true) {

       ret = ReceiveFrame(5000);     //等待接受2.4G模塊發送的標簽卡號信息

       if(ret<0) continue;

       else{

           qDebug()<<"Get Tag ID";

           emit RfidReadTagEvt();    // 向窗口發送讀取標簽卡號事件

       }

    }

}


/*讀取標簽卡號信號槽的連接*/

connect(rfidThread, SIGNAL(RfidReadTagEvt()), this, SLOT(RfidReadTagProcess()), Qt::QueuedConnection);

/* RfidReadTagProcess()函數顯示讀取的標簽卡號信息*/

void Widget::RfidReadTagProcess(){

    QTableWidgetItem *item;

    QString str;

    HexToQString(str, rfidThread->tagId, 6);  //轉化字符串

    int row = FindTag(str);  //記錄行號

    if(row<0){

        row = ui->tw_tagInfo->rowCount();

        ui->tw_tagInfo->insertRow(row);

        item = new QTableWidgetItem(str);

        ui->tw_tagInfo->setItem(row, 0, item);

        item = new QTableWidgetItem(QString::number(1));

        ui->tw_tagInfo->setItem(row, 1, item);

    }else{

        item = ui->tw_tagInfo->item(row, 1);

        int count = item->text().toInt();

        item->setText(QString::number(++count));

    } ui->tw_tagInfo->selectRow(row);

}

四、實踐操作

1、編譯程序

2、下載測試


講師信息

齊老師

齊老師

Linux|應用開發..
粉絲:1
擁有多年Linux開發經驗,精通Linux C,參與過多個大型Linux項目開發。
×

分享成功,快去個人中心查看吧~~~

祝您:學習愉快 !

確 定
×

加入我的看單

該課程需要加入我的看單后方可學習,確定加入?

確 定 取 消
關注官方微信
冠通棋牌世界游戏大厅