ERFANEKHADEMI / MFRC522-RPi3

Contactless Payments for PUJs with RC522 and RPi3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Jeep-Beeper

Originally a fork of the jeep-beeper repo, this project attempts to implement a contactless payment system for Public Utility Vehicles (e.g. Jeepneys).

While emulating the beep Card used in the LRT/MRT system, this attempt is station-independent, where the transportation fees depend on the distance traversed by the vehicle during a passenger's stay inside the vehicle instead of relying on fixed stations.

This variant uses an Android phone for geolocation and currently uses the GPSLogger app for fetching geodata, which will be used for calculating the transportation fee.

Requirements

Pins

Name Pin # Pin name
SDA 24 GPIO8
SCK 23 GPIO11
MOSI 19 GPIO10
MISO 21 GPIO9
IRQ None None
GND Any Any Ground
RST 22 GPIO25
3.3V 1 3V3

Usage

  1. Install SPI-Py from here
  2. Run python app.py or python tango.py (tap-and-go)

Experimental Variants

Two variants will be implemented with this project. These variants will implement distance-dependent fare rate using GPS data from an Android phone. Vincenty's Formulae will be used for approximating the P2P distance.

  1. GPSL+ Variant
  • a variant that will use the GPSLogger app for dynamic fare charges by retrieving location data using an Android phone
  1. FCPClient Variant
  • similar to GPSL+. However, unlike GPSL+, this variant will use the Fused Location Provider API for fetching location data and implement a TCP socket for retrieving data

About

Contactless Payments for PUJs with RC522 and RPi3


Languages

Language:Python 80.2%Language:Shell 11.7%Language:HTML 5.8%Language:CSS 2.2%