《文件與教學》
文件總整理,可以從這論壇查看使用教學。
https://www.soliddepot.com/forum/viewforum.php?f=22
AS399X firmware(.hex)下載 。
https://www.soliddepot.com/forum/viewtopic.php?f=22&t=40343&sid=e0f3335ae0e157fb2e77c799a567d57d
下載完整資料(出處 ),包括 datashhet、schematics、firmware、document 等等。
https://www.dropbox.com/s/u9cv2ytscplytmg/AS3992%20reader%20module%20files%20English.zip?dl=0
《硬體外觀》
AS3992 開發板 + 3.6V/2A 電源 + 3dBi 天線 + 五張 915MHz Tag
USB Debug Adapter + JTAG 排線 + JTAG 轉 C2 轉板
《AS3992 韌體更新》
由於韌體預設是燒錄 USB 版本,可以燒成 UART 版本方便測試。連接方式如下。
JTAG排線防呆。
注意要三角對三角。
AS3992 的 C2CK 和 C2D 還有 GND 要和 JTAG 轉板腳位相接。
相接的結果(用手扶著就可以了)。
完整連接圖。
韌體更新要透過 Silicon Lab 提供的 FLASH 燒錄工具(C8051F )上傳。或是下載完整資料 裡的壓縮檔。選擇 C2 programmer > Flash Programming V3.90.exe
如果一切連接順利,就可以看到 USB Debug Adapter 是可以選取的。
點選 “Connect”,順利的話就可以連接到 AS3992,原來 “Connect” 會變成 “Disconnect”。
下載 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 都可以)相接。
通訊的方式是用 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
根據文件 說明,送 10 03 00
是查詢韌體版本,送 10 03 01
是查詢硬體版本。
因此我們在底下的 Input 輸入100300
就可以看到 AS3992 回傳的韌體版本。
如果是輸入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 做測試,會讀到 epc
和 rssi
。實測接收距離約在 10-15cm 左右。
$ sudo python main.py