You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RFID认证标签匹配验证代码未正常工作问题求助

问题分析与修复方案

代码核心问题

  • 顶层代码误用return:Python脚本的全局代码块不能使用return语句,这会直接触发语法错误,需替换为print(auth0)。
  • 未处理标签文本冗余空白:RFID标签读取的文本通常会自带填充空格或换行符,直接用==比较会因为空白不匹配导致判断失效,必须用strip()去除首尾空白后再对比。
  • 变量命名逻辑混淆:auth1存储的是认证通过提示,但实际应该是需要匹配的标签目标文本,命名调整后更易理解。

修改后的可运行代码

#!/usr/bin/env python

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()
denied_msg = 'Access Denied'
allowed_tag_text = 'Access Granted'

try:
    id, text = reader.read()
    print(f"标签ID: {id}")
    # 去除文本首尾空白后做匹配判断
    if text.strip() == allowed_tag_text:
        print(allowed_tag_text)
    else:
        print(denied_msg)
finally:
    GPIO.cleanup()

额外验证要点

  • 确认写入RFID标签的内容和代码中allowed_tag_text完全一致,包括大小写、空格等细节。
  • 若写入标签时使用reader.write(allowed_tag_text),读取的文本会被自动填充到固定长度(通常16字符),strip()能有效去除这些填充空白。

内容的提问来源于stack exchange,提问作者Samv50

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 22:35:28