1
0
mirror of synced 2024-11-14 19:57:36 +01:00

Update README.md

This commit is contained in:
Sucareto 2022-02-27 01:10:06 +08:00 committed by GitHub
parent 2534e1d489
commit feb4e6f914
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,38 +1,44 @@
# Arduino-Aime-Reader
使用 Arduino + PN532 + WS2812B 制作的 Aime 读卡器。支持 FelicabanapassportAimeMifare 卡模拟 Felica 是可选功能)。
使用 Arduino + PN532 + WS2812B 制作的 Aime 兼容读卡器。支持 FelicaAime。
实现逻辑为官方读卡器串口数据对比 + 脑补,不保证正确实现。
通信数据格式参考了 [Segatools]() 和实体读卡器抓包数据,可在 [Example.txt](doc/Example.txt) 和 [nfc.txt](doc/nfc.txt) 查看。
替换 chunihook.dll 可在控制台输出通信数据,源码在 [sg-cmd.c](tools/sg-cmd.c)。
#### 使用方法:
按照 [PN532](https://github.com/elechouse/PN532) 的提示安装库;
Arduino 和 PN532 接好 VCCGNDSDASCL
接上 WS2812B 灯条(可选);
上传 [ReaderTest](tools/ReaderTest.ino) 测试硬件是否工作正常;
上传程序。
打开设备管理器,设置 Arduino 的 COM 号,一些参考如下:
- SDBTCOM12支持读取 Felica 和 Aime
- SDDT/SDEZCOM1支持读取 Felica 和 Aime
- SBZV/SDDFCOM10支持读取 Felica 和 Aime
- SDEYCOM2仅支持读取 Aime
- SDHDCOM4支持读取 Felica 和 Aime
有使用 amdaemon 的,可以参考 config_common.json 内 aime > unit > port,high_baudrate 来确定 COM 号和波特率。
#### 使用方法:
1. 按照 [PN532](https://github.com/elechouse/PN532) 的提示安装库;
2. Arduino 和 PN532 接好 VCCGNDSDASCL
3. PN532 的拨码开关按照 PCB 上丝印的指示,调整到 I2C 模式;
4. 接上 WS2812B 灯条(可选);
5. 上传 [ReaderTest](tools/ReaderTest.ino) 测试硬件是否工作正常;
6. 若读卡正常,可按照支持列表打开设备管理器设置 COM 端口号后,上传程序打开游戏测试。
某些 Arduino 可能需要在游戏主程序连接前给串口发送 DTR/RTS需要先打开一次 Arduino 串口监视器再启动主程序。
如果是 SDBT可以在启动前运行一次 [DTR-RTS.exe](tools/DTR-RTS.exe) 以向 COM1 和 COM12 发送DTR/RTS。
如果需要向其他端口发送,可以修改 [DTR-RTS.c](tools/DTR-RTS.c) 然后编译。
#### 已测试开发板:
- SparkFun Pro MicroATmega32U4需要发送 DTR/RTS
- SparkFun SAMD21 Dev BreakoutATSAMD21G18
- NodeMCU 1.0ESP-12E + CP2102 & CH340SDA=D2SCL=D1
#### 待办事项:
- [X] 确认 SDDT 和 SDDF 读取 Felica 情况
- [X] 收集 banapassport 卡结构和读取数据
- [ ] 确认 NDA_06 和 NDA_08 数据结构
#### 支持列表:
- SDBTCOM12支持读取 Felica 和 Aime
- SDDT/SDEZCOM1支持读取 Felica 和 Aime
- SBZV/SDDFCOM10支持读取 Felica 和 Aime
- SDEYCOM2仅支持读取 Aime
- SDHDCOM4支持读取 Felica 和 Aime
有使用 amdaemon 的,可以参考 config_common.json 内 aime > unit > port,high_baudrate 来确定 COM 号和波特率。
#### 已测试开发板:
- SparkFun Pro MicroATmega32U4需要发送 DTR/RTS
- SparkFun SAMD21 Dev BreakoutATSAMD21G18
- NodeMCU 1.0ESP-12E + CP2102 & CH340SDA=D2SCL=D1
#### 已知问题:
- Felica 在非 amdaemon 游戏可能无法正常工作,因为 NDA_06 未正确回复
- banapassport 卡可能无法正常读取,因为没有数据参考
- 未确定`res.status`的意义,因此`res.status = 1;`可能是错误的
-
#### 引用库:
- [驱动WS2812B FastLED.h](https://github.com/FastLED/FastLED)
- [驱动PN532 PN532.h](https://github.com/elechouse/PN532)
- [驱动WS2812B FastLED.h](https://github.com/FastLED/FastLED)
- [驱动PN532 PN532.h](https://github.com/elechouse/PN532)