UiharuKazari2008 / openCreditIC

Opensource Networked NFC Reader for Arcade Cabinets
10 stars 2 forks source link
arcade arcade-machine card nfc nodejs

favicon-96x96.png

openCreditIC / PayPass

Cheap Networked RFID Reader(s) and cloud-free server for arcade cabinet credit payments. Uses card serial number for ID and local server to manage cards and balances

Screen Shot 2023-09-15 at 13.05.11.png

Sequenzia App Support

image

image

NOTICE

At this time, I don't take responsibility for any damages caused if this is used commercially. Once this warning is removed you can consider the software to be "production" ready. More testing and feedback is still required

Please create issues to address feature requests and report bugs.

Features

TODO

Integrations

Supports various other ACR developed Arcade solutions

Installation

  1. Install NodeJS on your system of choice
  2. Clone this Git repo and cd into it
  3. npm install
  4. Create config.json
    {
    "arcade_name": "Arcade Name",
    "device_key": "API_KEY_FOR_CARD_READERS",
    "web_key": "WEB_ACCESS_API_KEY", /*If removed there is no login required*/
    "show_delete_actions": false /*Shows the Delete Card and Delete User Options*/
    }
  5. node ./card-server.js
  6. Configure your arcade using the Configuration section
  7. Open the web interface http://localhost:1777/?key=WEB_ACCESS_API_KEY

Use something like pm2 or systemd to run as a daemon

Example Card Reader Designs

Here are card readers that I have made and implemented as an example

WACCA (Built into lower panel)

The card reader is mounted in the extra open window beside the coin slot
All The hardware in this example is in-assessable to the user
The relay is mounted flat to prevent bumping to insert credits
293147B0-65E0-4950-ADFC-98D98986AEED_1_105_c copy.png

Chunithm (Builtin to slider)

IMG_5375 copy.png
The card reader is mounted inside the ground slider, Foam backing is to prevent reader from getting to close to the metal backplate and causing issues with the reader
LED is mounted next to the "per play" indicator and is boxed to increase brightness
OLED Display is mounted over the coin slot
Button is added for future features
The relay is mounted flat to prevent bumping to insert credits
1220D9A7-78DD-44F6-A787-B858C4AB2103_1_105_c.png
10F6503A-9D1E-43A1-B554-D1E3282296A3_1_105_c copy.png

POS Card Reader (with coin slot replacement reader)

Using the coin slot replacement reader design mounted on project box with the MCU inside.
03E5694C-D425-44A0-A6B3-810B7E8010AF_1_102_o copy.png
DED6BF8A-4EB7-40FF-B5D4-94D3E9F0AC93_1_102_o copy.png
Mounting screws are designed to work with most coin slots

3D printable designs

Screenshot 2023-09-15 134619.png
See the included STL files inside the ./printable folder

Card Reader Hardware

Warning

It is expected that th card readers and the server are on there on dedicated wireless network in the case that this is running in a public arcade. As this is updated more security will be added.

Configuration File

Create config.h inside the CardReader-* folder

const char *ssid = "OCI_NET";
const char *password = "OCI_NET_SECURE029587";
const char *apiUrl = "http://192.168.0.2:1777/"; // URL to access central server
const char *deviceKey = "API_KEY_FOR_CARD_READERS"; // device_key from config.json

// Enable Remote Access
#define REMOTE_ACCESS
// Use Slimline 128x32 display
//#define DISPLAY_I2C_128x32
// Use alternative I2C card reader
//#define RFID_I2C
// Enable Multicore Tasking
#define MULTICORE_ENABLE

Hardware

Any Optional hardware can be ommited and the reader will work the same

Pinout

Flashing Firmware

Configuration

Use the following URLs to set settings with your server
Add Commands need key=API_KRY to authenticate

Advanced