Back to Raspberry Pi Taiwan

【教學/測試】AS3992 UHF RFID Reader 教學 | AS3992 – UHF RFID Single Chip Reader

Last Updated on 2022 年 8 月 13 日 by 小編

AS3992 UHF RFID Reader 教學 和測試紀錄!

如果需要購買 AS3992 UHF(超高頻) NFC/RFID Reader,請和我們聯絡

AS3992 UHF RFID Reader 文件

文件總整理,可以從這論壇查看使用教學。

AS3992 硬體外觀

AS3992 開發板 + 3.6V/2A 電源 + 3dBi 天線 + 五張 915MHz Tag。

AS3992 硬體外觀

 

USB Debug Adapter + JTAG 排線 + JTAG 轉 C2 轉板。

USB Debug Adapter + JTAG 排線 + JTAG 轉 C2 轉板

 

AS3992 韌體更新

由於韌體預設是燒錄 USB 版本,可以燒成 UART 版本方便測試。連接方式需接上 JTAG 排線,還好 JTAG 有防呆。

JTAG 有防呆
 

注意要三角對三角。

注意要三角對三角。
 

AS3992 的 C2CK 和 C2D 還有 GND 要和 JTAG 轉板腳位相接。

AS3992 的 C2CK 和 C2D 還有 GND 要和 JTAG 轉板腳位相接
 

相接的結果(用手扶著就可以了)。

和 AS3992 相接的結果
 

完整連接圖。

AS3992 完整連接圖
 

韌體更新要透過 Silicon Lab 提供的 FLASH 燒錄工具(C8051F)上傳。或是下載完整資料裡的壓縮檔。選擇 C2 programmer > Flash Programming V3.90.exe

如果一切連接順利,就可以看到 USB Debug Adapter 是可以選取的。

連接順利
 

點選 “Connect”,順利的話就可以連接到 AS3992,原來 “Connect” 會變成 “Disconnect”。

連接到 AS3992
 

下載 AS399X firmware.zip(.hex)
其中,as399xdemo_uart_3992.hex 表示 115200bps baud rate
另外,as399xdemo3992uart_9600.hex 表示 9600bps baud rate
我們選擇 115200bps 燒錄(用 9600bps 的也可以)。
 

燒錄完畢後,重插拔電源將會使用新韌體開機(如果下載到一半斷線也沒關係,但電源不能斷)

更新韌體

 

AS3992 連線

我們測試的環境為 Raspberry Pi 3,使用 2016-05-23 的映像檔。

Raspberry Pi 和 AS3992 使用 USB 轉 TTL 序列傳輸線(PL2303HXD 或是 PL2303HX 都可以)相接。

Raspberry Pi 和 AS3992 相連
 

通訊的方式是用 CuteCom,如果還沒安裝請先用 sudo apt-get install cutecom 安裝。

在 Pi 上連線的介面是 /dev/ttyUSBX,例如 /dev/ttyUSB0 如下圖。


 

一切沒問題,就可以使用 cutecom 做連線測試了。步驟如下:

  1. Device 選擇 /dev/ttyUSB0
  2. Baud rate 選擇 115200
  3. Data bits 選擇 8
  4. Stop bits 選擇 1
  5. Parity 選擇 None
  6. 這時候點選 Open device
  7. 最下方選擇 Hex input
  8. char delay 選擇 1 ms

AS3992 連線

根據文件說明,送 10 03 00 是查詢韌體版本,送 10 03 01 是查詢硬體版本。

因此我們在底下的 Input 輸入100300 就可以看到 AS3992 回傳的韌體版本。

CuteCom 連線結果
 

如果是輸入100301 就可以看到 AS3992 回傳的硬體版本。

 

更多命令就需要參考完整的手冊才知道怎麼使用了。最重要的是完整資料裡的 datasheet 和 command。

datasheet: AS3992 reader module files English > Application notes > AS3992_Datasheet_v1.0.pdf
command: AS3992 reader module files English > Application notes > AN399x Leo Roger System Description_1_4.pdf
 

AS3992 讀卡

有人將 AS3992 UHF RFID reader 寫了 Python 的模組,可以參考使用。

接線就和剛剛的方式一樣,Raspberry Pi 透過 PL2303HX 或 PL2303HXD 和 AS3992 相接。

################                 ##########
# Raspberry Pi #  --USB to TTL-- # AS3992 #
################                 ##########

開啟 Pi 的終端機,先把程式拉(pull)下來。

$ cd ~
$ git clone https://github.com/GuyLewin/pyAS3992
$ cd pyAS3992/

因為原本的範例程式(example.py)只會讀取一次,我們稍做修改就可以持續讀取。

$ vim main.py
import as3992_api
import time

def main():
    ann = as3992_api.AntennaDevice()
    print "Firmware info: %s\nHardware info: %s" % ann.get_system_info()
    print "Activating antenna"
    ann.set_antenna_state(True)
    print "Tags:"

    while True:
        try:
            for epc, rssi in ann.iter_epc_rssi():
                print epc.encode("HEX"), rssi
        except:
            pass

        time.sleep(1)

if __name__ == "__main__":
    main()

執行 main.py,我們拿五張 tag 做測試,會讀到 epcrssi。實測接收距離約在 10-15cm 左右。

$ sudo python main.py

實測 AS3992

結論

這次我們實測 AS3992 UHF RFID Reader,介紹如何接線、更新韌體,並且和 Raspberry Pi 連接後讀取 UHF RFID Tag。如果沒有改裝天線而使用原本的配備,讀取距離約 10-15cm,但如果加上高功率的天線,讀取距離可以達到 5-15m,會根據不同強度的天線而有不同的讀取距離效果。

這款 AS3992 UHF RFID Reader,除了和常用的 RC522 RFID Reader 使用的頻段不同,讀取距離也可以更遠,對於做非接觸式的應用是非常好的選擇。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Back to Raspberry Pi Taiwan