UHF-RFID Unit
支持以下产品:
MicroPython 应用示例
1# SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD 2# 3# SPDX-License-Identifier: MIT 4 5import os, sys, io 6import M5 7from M5 import * 8from unit import UHFRFIDUnit 9 10 11nbiot2_0 = None 12uhfrfid_0 = None 13 14 15epc = None 16 17 18def setup(): 19 global nbiot2_0, uhfrfid_0, epc 20 21 M5.begin() 22 Widgets.fillScreen(0x222222) 23 24 uhfrfid_0 = UHFRFIDUnit(2, port=(18, 17)) 25 epc = uhfrfid_0.inventory() 26 print(epc) 27 uhfrfid_0.select(UHFRFIDUnit.S0, 0b000, UHFRFIDUnit.RFU, 0x20, False, epc) 28 uhfrfid_0.write_mem_bank(UHFRFIDUnit.RFU, 0x00, "12345678", "00000000") 29 print(uhfrfid_0.read_mem_bank(UHFRFIDUnit.RFU, 0x00, 4, "00000000")) 30 31 32def loop(): 33 global nbiot2_0, uhfrfid_0, epc 34 M5.update() 35 36 37if __name__ == "__main__": 38 try: 39 setup() 40 while True: 41 loop() 42 except (Exception, KeyboardInterrupt) as e: 43 try: 44 from utility import print_error_msg 45 46 print_error_msg(e) 47 except ImportError: 48 print("please update to latest firmware")
UiFlow2 应用示例
class UHFRFIDUnit
Constructors
Methods
解调器
- UHFRFIDUnit.get_demodulator_mixer() int
获取解调器混频器数值。
- Return int:
解调器混频器值。
- Options:
0x00:0 dB
0x01:3 dB
0x02:6 dB
0x03:9 dB
0x04:12 dB
0x05:15 dB
0x06:16 dB
UIFLOW2:

- UHFRFIDUnit.set_demodulator_mixer(value: int) bool
设置解调器混频器值。
- 参数:
value (int) – 解调器混频器值。
- Options:
0x00:0 dB
0x01:3 dB
0x02:6 dB
0x03:9 dB
0x04:12 dB
0x05:15 dB
0x06:16 dB
- Return bool:
如果成功则为 True,如果失败则为 False。
UIFLOW2:

- UHFRFIDUnit.get_demodulator_amplifier() int
获取解调放大器值。
- Return int:
解调放大器数值。
- Options:
0x00:12 dB
0x01:18 dB
0x02:21 dB
0x03:24 dB
0x04:27 dB
0x05:30 dB
0x06:36 dB
0x07:40 dB
UIFLOW2:

- UHFRFIDUnit.set_demodulator_amplifier(value: int) bool
设置解调器放大器值。
- 参数:
value (int) – 解调放大器数值。
- Options:
0x00:12 dB
0x01:18 dB
0x02:21 dB
0x03:24 dB
0x04:27 dB
0x05:30 dB
0x06:36 dB
0x07:40 dB
- Return bool:
如果成功则为 True,如果失败则为 False。
UIFLOW2:

Working
- UHFRFIDUnit.get_working_region() int
获取工作区域。
- Return int:
工作区域。
- Options:
UHFRFIDUnit.CN_900MHZ:中国 900MHz
中国 800MHz
USA
EUR
UHFRFIDUnit.KR:KR
UIFLOW2:

- UHFRFIDUnit.set_working_region(region: int) bool
设置工作区域。
- 参数:
region (int) – 工作区域。
- Options:
UHFRFIDUnit.CN_900MHZ:中国 900MHz
中国 800MHz
USA
EUR
UHFRFIDUnit.KR:KR
- Return int:
如果成功则为 True,如果失败则为 False。
UIFLOW2:

- UHFRFIDUnit.set_working_channel(channel: int) bool
设置工作通道。
- 参数:
channel (int) – 工作通道。范围为 0 到 19。
- Return bool:
如果成功则为 True,如果失败则为 False。
UIFLOW2:

射频功率
- UHFRFIDUnit.get_channel_rssi(channel: int) int
获取通道 RSSI 值。
- 参数:
channel (int) – 工作通道。范围为 0 到 19。
- Return int:
通道 RSSI 值,单位为 dBm。
UIFLOW2:

- UHFRFIDUnit.get_blocking_signal_strength(channel: int) int
获取阻塞式信号强度。
- 参数:
channel (int) – 工作通道。范围为 0 到 19。
- Return int:
阻塞信号强度,单位为 dBm。
UIFLOW2:

模块信息与设置
读取和写入标签
- UHFRFIDUnit.set_select_mode(mode: int) bool
设置选择模式。
- 参数:
mode (int) – 选择模式。
- Options:
0x00:需要选择命令
0x01:无需选择命令
0x02:部分操作需要选择命令
- Return bool:
如果成功则为 True,如果失败则为 False。
UIFLOW2:

- UHFRFIDUnit.select(target: int, action: int, membank: int, pointer: int, truncate: bool, mask: str) bool
设置 select 标签。
- 参数:
- Return bool:
如果成功则为 True,如果失败则为 False。
UIFLOW2:

- UHFRFIDUnit.set_kill_password(password) None
设置 kill 密码。
- 参数:
password (str) – 击杀密码:十六进制字符串。
UIFLOW2:

- UHFRFIDUnit.kill(password: str) bool
杀死标签。
- 参数:
password (str) – 击杀密码:十六进制字符串。
- Return bool:
如果成功则为 True,如果失败则为 False。
UIFLOW2:

- UHFRFIDUnit.set_query_param(dr=0b0, m=0b00, tr_ext=0b1, sel=0b00, session=0b00, target=0b0, q=0b0100) bool
设置查询参数。
- 参数:
- Return bool:
如果成功则为 True,如果失败则为 False。
UIFLOW2:

- UHFRFIDUnit.lock_mem_bank(kill_lock: int = 0b00, access_lock: int = 0b00, epc_lock: int = 0b00, tid_lock: int = 0b00, user_lock: int = 0b00, access: str = '00000000') bool
锁定内存库。
- 参数:
kill_lock (int) – 关闭锁定。选项: - UHFRFIDUnit.OPEN:打开 - UHFRFIDUnit.LOCK:锁定 - UHFRFIDUnit.PERMA_OPEN:永久打开 - UHFRFIDUnit.PERMA_LOCK:永久锁定
access_lock (int) – 访问锁。选项: - UHFRFIDUnit.OPEN:打开 - UHFRFIDUnit.LOCK:锁定 - UHFRFIDUnit.PERMA_OPEN:永久打开 - UHFRFIDUnit.PERMA_LOCK:永久锁定
epc_lock (int) – epc 锁定。选项: - UHFRFIDUnit.OPEN: 开放 - UHFRFIDUnit.LOCK: 锁定 - UHFRFIDUnit.PERMA_OPEN: 永久开放 - UHFRFIDUnit.PERMA_LOCK: 永久锁定
tid_lock (int) – tid 锁定。选项: - UHFRFIDUnit.OPEN:开启 - UHFRFIDUnit.LOCK:锁定 - UHFRFIDUnit.PERMA_OPEN:永久开启 - UHFRFIDUnit.PERMA_LOCK:永久锁定
user_lock (int) – 用户锁定。选项: - UHFRFIDUnit.OPEN:打开 - UHFRFIDUnit.LOCK:锁定 - UHFRFIDUnit.PERMA_OPEN:永久打开 - UHFRFIDUnit.PERMA_LOCK:永久锁定
access (str) – 访问密码,十六进制字符串。
UIFLOW2:

- UHFRFIDUnit.read_mem_bank(bank: int, offset: int, length: int, access_password: str = '00000000') str
读取存储器组。
- 参数:
- Return str:
数据。十六进制字符串。
UIFLOW2:

Impinj Monza
- UHFRFIDUnit.get_impinj_monza_qt_sr(persistence, password: str = '00000000') bool
获取 Impinj Monza QT_SR。
- 参数:
- Return bool:
QT_SR 状态。
UIFLOW2:

- UHFRFIDUnit.set_impinj_monza_qt_sr(qt_sr: bool, persistence: int, password: str = '00000000') bool
设置 Impinj Monza QT_SR。
- 参数:
- Return bool:
如果成功则为 True,如果失败则为 False。
UIFLOW2:

NXP
- UHFRFIDUnit.get_nxp_config_word(password: str = '00000000') int
获取 NXP 配置字。
- 参数:
password (str) – 访问密码,十六进制字符串。
- Return int:
NXP 配置字。
UIFLOW2:

- UHFRFIDUnit.set_nxp_config_word(config_word: int, password: str = '00000000') bool
设置 NXP 配置字。
- 参数:
- Return bool:
如果成功则为 True,如果失败则为 False。
UIFLOW2:





























