All Projects → nceruchalu → easypay

nceruchalu / easypay

Licence: other
NFC smart cards and payment terminals in Nigeria

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to easypay

TonUINO
Alternative TonUINO Firmware
Stars: ✭ 112 (+173.17%)
Mutual labels:  mifare, nfc
ruby-nfc
NFC library for Ruby programming language
Stars: ✭ 31 (-24.39%)
Mutual labels:  mifare, nfc
Plantain
Android приложение для чтения/записи информации на карты Mifare Classic
Stars: ✭ 14 (-65.85%)
Mutual labels:  mifare, nfc
Mifareclassictool
An Android NFC app for reading, writing, analyzing, etc. MIFARE Classic RFID tags.
Stars: ✭ 2,698 (+6480.49%)
Mutual labels:  mifare, nfc
NFCReaderWriter
NFCReaderWriter which supports to read data from NFC chips(iOS 11), write data to NFC chips(iOS 13) and read NFC tags infos(iOS 13) by iOS devices. Compatible with both Swift and Objective-C. I will appreciate you if give me a star on the top right of page.
Stars: ✭ 58 (+41.46%)
Mutual labels:  mifare, nfc
audiocube
Toolbox for "audio cubes"
Stars: ✭ 23 (-43.9%)
Mutual labels:  mifare
nfc-tags
No description or website provided.
Stars: ✭ 15 (-63.41%)
Mutual labels:  nfc
android-things-rc522
Android library to communicate with RFID Module RC522
Stars: ✭ 44 (+7.32%)
Mutual labels:  mifare
gallagher-research
Research on the Gallagher / Cardax access control system
Stars: ✭ 48 (+17.07%)
Mutual labels:  mifare
theCore
theCore: C++ embedded framework
Stars: ✭ 76 (+85.37%)
Mutual labels:  embedded-systems
gdbundle
Minimalist plugin manager for GDB and LLDB
Stars: ✭ 72 (+75.61%)
Mutual labels:  embedded-systems
android-hostcardemulation-sample
Android HostCardEmulation sample that implements NFC Forum Type 4 Tag Operation
Stars: ✭ 47 (+14.63%)
Mutual labels:  nfc
PN532-HSU
PN532 HSU (UART) library for Python
Stars: ✭ 29 (-29.27%)
Mutual labels:  mifare
tripreader-data
“读卡识途”项目公开数据
Stars: ✭ 58 (+41.46%)
Mutual labels:  nfc
novaboot
A tool that automates booting of operating systems on target hardware or in qemu
Stars: ✭ 32 (-21.95%)
Mutual labels:  embedded-systems
Embedded-Linux-Education-Kit
Embedded Linux Education Kit
Stars: ✭ 66 (+60.98%)
Mutual labels:  embedded-systems
core
UBIC: The crypto currency providing UBI for the masses using the E-Passport
Stars: ✭ 37 (-9.76%)
Mutual labels:  nfc
nrf52840-experiments
802.15.4 experiments with nRF52840
Stars: ✭ 23 (-43.9%)
Mutual labels:  embedded-systems
react-native-nfc-manager
React Native NFC module for Android & iOS
Stars: ✭ 1,053 (+2468.29%)
Mutual labels:  nfc
CurrentSense-TinyML
Spying on Microcontrollers using Current Sensing and embedded TinyML models
Stars: ✭ 71 (+73.17%)
Mutual labels:  embedded-systems

EasyPay

About EasyPay

Author Nnoduka Eruchalu
Date 05/16/2013
Website strivinglink.com/easypay/

EasyPay takes the pain out of paying for utilities and parking in Nigeria with customized hardware and secure NFC smartcards.

In summary, EasyPay will change the lives of Nigerians. To learn more about it visit the website

This repo contains the code running the hardware's embedded system.

Software Technologies

  • C
  • Microcontrollers (MCUs)
  • NFC (MIFARE)

Software Modules Description

Module Description
data Functions for communications between MCU and the HTTP Server
delay Functions for implementing timed delays in the MCU
eventproc Functions for handling actions defined in interface's FSM
interface System's Finite State Machine (FSM) tables and LCD display contents for various UI states
interrupts Functions for initializing MCU interrupts
keypad Functions for interfacing the MCU with a 4x4 matrix keypad
lcd Functions for interfacing the MCU with a 20x4 character LCD
main Main loop of embedded system
mifare.c Functions for initializing communications with a MIFARE DESFire smartcard
mifare/ Functions for full implementation of MIFARE DESFire communication protocols.
queue Functions for implementing a circular FIFO array with one empty slot
serial Functions for interfacing with the MCU's USART module
sim5218 Functions for interfacing with the 3G Module [Sim5218A]
smartcard Functions for Detecting and initializing communications with a SmartCard
test/ E2E test framework for all modules

User Interface

Keypad:

+---------------------------+
| 1       2       3       A |
|                           |
| 4       5       6       B |
|                           |
| 7       8       9       C |
|                           |
| *       0       #       D |
+---------------------------+

Display:

Welcome Screen:
+--------------------+
|-Welcome to EasyPay-|
|                    |
| Tap Card to Start  |
|                    |
+--------------------+
On Card Tap --> Enter Pin Screen:
+--------------------+           +--------------------+ 
|-    Enter Pin     -|           |-    Enter Pin     -|
|        _           |  <0..9>   |        ****        |
|*Exit*           → C|   ==>     |*Undo*           → C|
|*Done*           → D|           |*Done*           → D| 
+--------------------+           +--------------------+
On Correct Pin --> Home Screen:

Press buttons indicated on right to navigate

+--------------------+ 
|EasyAccount      → A|
|Parking          → B|
|Mobile Recharge  → C|
|Utility Bills    → D|
+--------------------+
EasyAccount Screen:
+--------------------+ 
|-   EasyAccount    -|
|Balance: N50,000.00 |
|Recharge         → C|
|*Exit*           → D|
+--------------------+
Parking Screen:
+--------------------+           +--------------------+ 
|- Pay for Parking  -|           |- Pay for Parking  -|
|Enter Space: 010_   |    <D>    |Enter Time: 0:30_   |
|                    |    ==>    |                    |
|*Done*           → D|           |*Done*           → D|
+--------------------+           +--------------------+ 
Mobile Recharge:
+--------------------+           +--------------------+ 
|- Mobile Recharge  -|           |*Back*           → A|
|MTN              → B|    <D>    |Airtel           → B|
|GLO              → C|    ==>    |Etisalat         → C|
|*More*           → D|           |*Exit*           → D|
+--------------------+           +--------------------+ 
Utility Bills:
+--------------------+           +--------------------+   
|-  Utility Bills   -|           |- Utility: Power   -|
|Power            → B|    <B>    |Amount: N10,000.00_ | 
|Water            → C|    ==>    |                    | 
|*Exit*           → D|           |*Done*           → D|
+--------------------+           +--------------------+

Smart Card Procedures:

Tap card/Enter Pin on welcome, to save smartcard info locally. After each transaction, tap card again to confirm. Reason for this is to ensure it's same user and to sync card info with smart

Demo

Click on the video below to see a demo of the prototype module in action:

Demo Video

Todo:

  • Perform tests on PIC8.
  • Finish full MIFARE Hardware tests. Need to migrate to an AVR32UC for this.

Resources:

mifare/ module based on the following sources:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].