马亚丹 7500272a54 add:新增780/8000/8101-AirRC522_1000-demo 3 months ago
..
AirRC522_1000.lua 7500272a54 add:新增780/8000/8101-AirRC522_1000-demo 3 months ago
main.lua 7500272a54 add:新增780/8000/8101-AirRC522_1000-demo 3 months ago
rc522.lua 7500272a54 add:新增780/8000/8101-AirRC522_1000-demo 3 months ago
readme.md 7500272a54 add:新增780/8000/8101-AirRC522_1000-demo 3 months ago

readme.md

功能模块介绍:

  1. main.lua:主程序入口

  2. rc522.lua :rc522扩展库文件,在AirRC522_1000.lua功能模块中require使用

  3. AirRC522_1000.lua:功能演示核心文件,在main.lua中加载运行,详细逻辑请看AirRC522_1000.lua 文件

演示功能概述:

核心逻辑:

  1. 初始化并启用spi,如果初始化失败,退出程序

  2. 初始化RC522模块,如果初始化失败,退出程序

  3. 循环检测卡片。

  4. 向卡片指定块号写入数据,并读取数据验证一致性

  5. 读取卡片所有数据

演示硬件环境:

  1. 合宙 Air780EPM 核心板一块

  2. 合宙 AirRC522_1000 一套

  3. TYPE-C USB 数据线一根 ,Air780EPM 核心板和数据线的硬件接线方式为:

  4. Air780EPM 核心板通过 TYPE-C USB 口供电;(USB的拨码开关off/on,拨到on)

  • TYPE-C USB 数据线直接插到核心板的 TYPE-C USB 座子,另外一端连接电脑 USB 口;
  • 杜邦线 7根 Air780EPM 核心板与 AirRC522_1000 按以下方式接线:
Air780EPM核心板 AirRC522_1000
GND(任意) GND
3V3 3.3V
83/SPI0CS SDA
86/SPI0CLK SCK
85/SPI0MOSI MOSI
84/SPI0MISO MISO
19/GPIO22(可选任意空闲IO) RST

演示软件环境:

  1. Luatools 下载调试工具

  2. 固件版本:LuatOS-SoC_V2018_Air780EPM_1,固件地址,如有最新固件请用最新https://docs.openluat.com/air780epm/luatos/firmware/version/

  3. pc 系统 win11(win10 及以上)

演示核心步骤:

  1. 搭建好硬件环境

  2. Luatools 烧录内核固件和demo 脚本代码. AirRC522_1000.lua脚本中,硬件配置参数中rst_pin是使用Air780EPM核心板的GPIO22,如果接其他IO,注意修改硬件配置参数中rst_pin对应的管脚号。

  3. 烧录成功后,代码会自动运行,查看打印日志,如果正常运行,会打印相关信息,spi 初始化,rc522初始化,写入数据读取数据等。

  4. 如下 log 显示:

    [2025-12-01 17:35:36.521][000000000.205] I/user.main Air780EPM_rc522_DEMO 001.000.000
    [2025-12-01 17:35:36.529][000000000.226] I/user.RC522 初始化SPI接口
    [2025-12-01 17:35:36.538][000000000.227] SPI_HWInit 552:spi0 speed 2000000,1994805,154
    [2025-12-01 17:35:36.546][000000000.227] I/user.RC522 SPI初始化成功
    [2025-12-01 17:35:36.553][000000000.227] I/user.RC522 初始化RC522传感器
    [2025-12-01 17:35:36.562][000000000.230] D/user.rc522.version 178
    [2025-12-01 17:35:36.568][000000000.230] I/user.RC522 传感器初始化成功
    [2025-12-01 17:35:36.574][000000000.230] I/user.RC522 开始检测卡片
    [2025-12-01 17:35:36.579][000000000.236] I/user.RC522 检测到卡片,类型: 0400 4
    [2025-12-01 17:35:36.584][000000000.243] I/user.RC522 卡片UID: E3E2AD14 8
    [2025-12-01 17:35:36.589][000000000.335] I/user.RC522 数据写入成功,块号: 9 写入数据是: 01000000000000000000000000000000 32
    [2025-12-01 17:35:36.595][000000000.378] I/user.RC522 写入验证成功,数据是: 01000000000000000000000000000000 32
    [2025-12-01 17:35:36.601][000000000.378] I/user.RC522 开始读取卡片数据...
    [2025-12-01 17:35:36.608][000000000.429] I/user.块[0] E3E2AD14B80804006263646566676869 32
    [2025-12-01 17:35:36.613][000000000.506] I/user.块[1] 00000000000000000000000000000000 32
    [2025-12-01 17:35:36.618][000000000.576] I/user.块[2] 00000000000000000000000000000000 32
    [2025-12-01 17:35:36.623][000000000.648] I/user.块[3] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:36.630][000000000.720] I/user.块[4] 00000000000000000000000000000000 32
    [2025-12-01 17:35:36.677][000000000.793] I/user.块[5] 00000000000000000000000000000000 32
    [2025-12-01 17:35:36.682][000000000.861] I/user.块[6] 00000000000000000000000000000000 32
    [2025-12-01 17:35:36.690][000000000.927] I/user.块[7] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:36.698][000000000.992] I/user.块[8] 00000000000000000000000000000000 32
    [2025-12-01 17:35:36.702][000000001.059] I/user.块[9] 01000000000000000000000000000000 32
    [2025-12-01 17:35:36.734][000000001.124] I/user.块[10] 00000000000000000000000000000000 32
    [2025-12-01 17:35:36.796][000000001.191] I/user.块[11] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:36.874][000000001.256] I/user.块[12] 00000000000000000000000000000000 32
    [2025-12-01 17:35:36.935][000000001.322] I/user.块[13] 00000000000000000000000000000000 32
    [2025-12-01 17:35:37.154][000000001.403] I/user.块[14] 00000000000000000000000000000000 32
    [2025-12-01 17:35:37.174][000000001.473] I/user.块[15] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:37.192][000000001.585] I/user.块[16] 00000000000000000000000000000000 32
    [2025-12-01 17:35:37.264][000000001.650] I/user.块[17] 00000000000000000000000000000000 32
    [2025-12-01 17:35:37.325][000000001.718] I/user.块[18] 00000000000000000000000000000000 32
    [2025-12-01 17:35:37.387][000000001.784] I/user.块[19] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:37.463][000000001.850] I/user.块[20] 00000000000000000000000000000000 32
    [2025-12-01 17:35:37.541][000000001.926] I/user.块[21] 00000000000000000000000000000000 32
    [2025-12-01 17:35:37.603][000000001.993] I/user.块[22] 00000000000000000000000000000000 32
    [2025-12-01 17:35:37.668][000000002.060] I/user.块[23] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:37.786][000000002.138] I/user.块[24] 00000000000000000000000000000000 32
    [2025-12-01 17:35:37.793][000000002.139] D/mobile cid1, state0
    [2025-12-01 17:35:37.800][000000002.139] D/mobile bearer act 0, result 0
    [2025-12-01 17:35:37.811][000000002.140] D/mobile NETIF_LINK_ON -> IP_READY
    [2025-12-01 17:35:37.815][000000002.205] I/user.块[25] 00000000000000000000000000000000 32
    [2025-12-01 17:35:37.826][000000002.211] D/mobile TIME_SYNC 0
    [2025-12-01 17:35:37.884][000000002.276] I/user.块[26] 00000000000000000000000000000000 32
    [2025-12-01 17:35:37.961][000000002.343] I/user.块[27] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:38.022][000000002.409] I/user.块[28] 00000000000000000000000000000000 32
    [2025-12-01 17:35:38.085][000000002.476] I/user.块[29] 00000000000000000000000000000000 32
    [2025-12-01 17:35:38.146][000000002.542] I/user.块[30] 00000000000000000000000000000000 32
    [2025-12-01 17:35:38.224][000000002.608] I/user.块[31] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:38.287][000000002.672] I/user.块[32] 00000000000000000000000000000000 32
    [2025-12-01 17:35:38.350][000000002.738] I/user.块[33] 00000000000000000000000000000000 32
    [2025-12-01 17:35:38.413][000000002.804] I/user.块[34] 00000000000000000000000000000000 32
    [2025-12-01 17:35:38.490][000000002.872] I/user.块[35] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:38.552][000000002.940] I/user.块[36] 00000000000000000000000000000000 32
    [2025-12-01 17:35:38.614][000000003.005] I/user.块[37] 00000000000000000000000000000000 32
    [2025-12-01 17:35:38.676][000000003.070] I/user.块[38] 00000000000000000000000000000000 32
    [2025-12-01 17:35:38.753][000000003.136] I/user.块[39] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:38.813][000000003.203] I/user.块[40] 00000000000000000000000000000000 32
    [2025-12-01 17:35:38.877][000000003.269] I/user.块[41] 00000000000000000000000000000000 32
    [2025-12-01 17:35:38.938][000000003.334] I/user.块[42] 00000000000000000000000000000000 32
    [2025-12-01 17:35:39.015][000000003.400] I/user.块[43] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:39.079][000000003.464] I/user.块[44] 00000000000000000000000000000000 32
    [2025-12-01 17:35:39.142][000000003.529] I/user.块[45] 00000000000000000000000000000000 32
    [2025-12-01 17:35:39.204][000000003.596] I/user.块[46] 00000000000000000000000000000000 32
    [2025-12-01 17:35:39.268][000000003.662] I/user.块[47] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:39.345][000000003.727] I/user.块[48] 00000000000000000000000000000000 32
    [2025-12-01 17:35:39.409][000000003.792] I/user.块[49] 00000000000000000000000000000000 32
    [2025-12-01 17:35:39.473][000000003.857] I/user.块[50] 00000000000000000000000000000000 32
    [2025-12-01 17:35:39.535][000000003.923] I/user.块[51] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:39.597][000000003.988] I/user.块[52] 00000000000000000000000000000000 32
    [2025-12-01 17:35:39.660][000000004.054] I/user.块[53] 00000000000000000000000000000000 32
    [2025-12-01 17:35:39.723][000000004.118] I/user.块[54] 00000000000000000000000000000000 32
    [2025-12-01 17:35:39.786][000000004.183] I/user.块[55] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:39.864][000000004.250] I/user.块[56] 00000000000000000000000000000000 32
    [2025-12-01 17:35:39.927][000000004.317] I/user.块[57] 00000000000000000000000000000000 32
    [2025-12-01 17:35:39.988][000000004.382] I/user.块[58] 00000000000000000000000000000000 32
    [2025-12-01 17:35:40.052][000000004.448] I/user.块[59] 000000000000FF078069FFFFFFFFFFFF 32
    [2025-12-01 17:35:40.129][000000004.514] I/user.块[60] 00000000000000000000000000000000 32
    [2025-12-01 17:35:40.191][000000004.580] I/user.块[61] 00000000000000000000000000000000 32
    [2025-12-01 17:35:40.254][000000004.646] I/user.块[62] 00000000000000000000000000000000 32
    [2025-12-01 17:35:40.318][000000004.714] I/user.块[63] 000000000000FF078069FFFFFFFFFFFF 32