Electronic Ticket-less Transit System
https://github.com/kimj80/Electronic-ticket-less-transit-system
Powered by Raspberries
Goals
Create a more efficient and streamlined transit system.
Modernize our current paper system and provide features to clients using an innovative cloud-based system.
Problem with our current system
Inefficient process to purchase bus passes.
Limited CC access points (kiosks/vendor only).
Overly complicated- multiple passes required for different functionality.
Paper passes are not durable and easily destroyed.
Stolen passes are easily scalped and cannot be recovered by the victim.
Current passes are slow and cumbersome requiring a bus drivers verification.
Consumers are charged the full amount regardless of their distance, based on the max 2 hour time limit.
The Solution
Implement durable plastic NFC cards that can be reused for multiple years (maximum of 4 years).
Reduces monthly and yearly line ups by staggering the pickup process.
Buses will be simplified and easier to access, by having one card that does everything.
Able to add funds by CC or MC via website or app.
Harder for consumers to scalp monthly bus passes.
Be able to charge a fair price to consumers, by charging the consumer by distance or time, whichever is cheaper.
Harder for people to make fake cards to duplicate.
More efficient loading passengers by verifying through NFC scanner vs. manually checking.
Local Database (Bus)
Each bus will hold their own database with an NFC scanner, that holds a database for frequent passengers, for efficiency and if bus loses internet access.
Can continuously retrieve, verify and update data to the municipal database for new passengers to confirm balance.
Can also switch on the fly to verify with the Cloud database if necessary.
Card also holds data for passenger information and funding for a fail-safe.
RFID reader (MFRC 522) to read info on card.
Local Database (Municipal)
Keeps a copy of all bus databases locally, and completes requests from buses.
Syncs with the Cloud database intermediately on the fly.
Tracks all local operations happening on the bus.
Azure Cloud Database (Backup)
Main database, holds all databases for municipalities.
Used Cloud database for reliability purposes, good for backup database in-case local database fails.
Minimal maintenance costs.
NFC card and scanner
Classic Mifare 1K cards
Card can be customized to manipulate read and write data for our needs
Card can be used in a production setting
Card, efficient and reliaible
Django Website
User has full control of their card, such as linking card, deactivating card, transferring funds, purchasing more funds to their card.
Ability to see information about their card, such as account balance, subscription activation, user info.
Updates and information about the Transit system.
Connects to the Municipal Database.
Hosted on a separate Pi, simulating a server.
Why is each component beneficial or necessary?
Each component simulates an important role for transit interaction
From the pi acting as a bus terminal, the pi uses an RFID scanner to gather information from consumer cards, and relays that info to the database and checks and verifies consistency between the two.
The cloud database is necessary as it is used to hold all the transit information.
Django website is necessary as the main purpose was for people to have an ease of access.
The Build
Picture of a Raspberry Pi
Raspberry Pi 3b+ with NFC reader