1
0
mirror of https://github.com/Sucareto/ESP32-CardReader.git synced 2024-11-13 18:20:53 +01:00
一个 Arduino 读卡器,OLED 显示,DIP 开关切换功能,OTA 更新。
Go to file
2023-06-04 12:32:50 +08:00
OTA 添加 OTA 更新用 php 脚本。 2022-05-30 15:07:39 +08:00
PCB 添加外壳盖板设计文件,感谢 CoolBreezeArcanine。 2022-05-30 15:07:00 +08:00
src 屏蔽非标准 aime、banapass 卡。 2023-05-25 12:10:30 +08:00
ESP32-CardReader.ino SW3_LED 改为无卡测试模式。 2023-06-04 01:53:14 +08:00
ReaderCmd.h 正确判断 Key A 和 Key B 2023-06-04 12:32:50 +08:00
README.md SW3_LED 改为无卡测试模式。 2023-06-04 01:53:14 +08:00

ESP32-CardReader

  • 此项目为 Arduino-Aime-Reader 的使用示例,使用的主控模块是 NodeMCU-32S
  • 添加了 SSD1306 模块展示状态
  • 添加了拨码开关用于切换读卡器模式和波特率,也可以切换为 HSU 直通模式
  • 在原版 Aime 读卡器的基础上添加了 SpiceTools 模式,可以读取自定义的 MIFARE 卡和 FeliCa 卡
    • MIFARE 读取 sector 0 block 1 的前半部分作为卡号发送(可以通过代码定义)
    • FeliCa 读取 idm 作为卡号发送
    • 仅用于分辨卡片和账号,读卡逻辑和卡号计算未正确实现

本项目仅用于展示原项目 Arduino-Aime-Reader 的使用示例,未曾开展或参与成品售卖,也不会向商业化制作提供任何支持。

实物图:

点击展开

读卡器 拨码开关

https://user-images.githubusercontent.com/28331534/170975661-137f3474-f61a-4a4d-8ec2-b13b3c165761.mp4

使用说明:

PCB 设计:

  • 该 PCB 方案仅用于我自己快速测试,并非最佳实现方案
  • 如果需要使用此 PCB 方案,请务必把 logo 删掉,然后根据需求认真审查 PCB 设计并作出修改后再进行制作

拨码开关:

在 PCB 放置了两个 4P 拨码开关:

SW 1-4用于更改读卡器功能切换后需要重启

  • SW1切换读卡器模式
    • ONSpiceTools 模式,需要在 SpiceTools 添加启动参数 -apiserial COM1 -apiserialbaud 115200"COM1" 改为实际的端口号
    • OFFAime 模式,和 Arduino-Aime-Reader 使用方法一致
  • SW2切换启动时的 OTA 开关
    • ON连接 WiFi 获取更新,如未能连接到 WiFi 则会持续到连接成功后才能启动
    • OFF跳过检查更新直接启动
  • SW3无卡测试模式适用于在没有卡片的情况下模拟读取代码指定的卡例如授权卡
    • ON跳过读卡使用硬编码的 mifare_data 数据
    • OFF读取实际卡片
  • SW4不同模式的功能切换
    • Spice 模式(可在运行中切换)
      • ON卡号发送到 2P 槽位(需要游戏支持)
      • OFF卡号发送到 1P 槽位
    • Aime 模式
      • ON使用 38400 波特率初始化,固件版本是 TN32MSEC003S
      • OFF使用 115200 波特率初始化,固件版本是 837-15396

TTL用于切换至 “USB PN532 读卡器”模式,需要在断电情况下切换)

  • SW1连接到 ESP32 的 EN 引脚,调为 ON 后会停用 ESP32只使用 CH340 串口通信芯片
  • SW2在目前版本v2为空置
  • SW3 & SW4连接 CH340 和 PN532 的 RX TX引脚

此处是直接与 CH340通信所以不需要反转如果正常使用 ESP32 不断开这两个引脚,会影响串口信息接收。
把 TTL 的拨码开关全部调为 ONPN532 的拨码开关也要设置为 HSU 模式,重新通电即可使用。

OTA 更新:

在代码里修改以下定义:

  • STASSIDWIFI 名
  • STAPSKWIFI 密码
  • OTA_URL:更新包下载地址,可以使用文件地址,或者使用 index.php 来控制是否需要更新

index.php 默认是判断文件 MD5 是否一致,不一致就会发送更新。

感谢: