Karl Banks, CpE Chris Dorros, CpE Monica Nguyen, EE Tyler
Zaino, CpE SPONSOR: David Norvell, PE, LEED AP, C.E.M. Energy
Manager Sustainability & Energy Management University of
Central Florida
Slide 3
System for tracking the universitys shuttles Harmony of
hardware and software System of subsystems Effort to increase the
use of UCF shuttle service and ultimately decrease traffic around
the university (or so we hope)
Slide 4
Support all shuttles both on campus and off campus Equip all
shuttles with their own unique transmitter unit No monthly cellular
contract Waterproof and thoroughly resistant to continuous exposure
to severe weather conditions Cross-browser compatible Display each
active bus route in color-coded fashion Allow user to filter map
data by the route of each bus
Slide 5
GPS data accurate to a maximum differential of 10 m 3 mile line
of sight radius of the main receiver tower Standard 12V power
supply unit No more than 5 lbs No larger than 12 x 12 x 5 Full
functionality for 10,000 users at any given time see what I did
there?
Slide 6
Slide 7
Slide 8
Transmitting System Receiving System
Slide 9
20-channel receiver Built in patch antenna Hot Start: 1s, Warm
Start: 38s, Cold Start: 42s Led indicator: off- receiver switch
off; on- signal searching, flashing- position locked Extremely high
sensitivity of -159dBm (note: which can pick up signals 1000x
weaker then the typical signal at the -160dBW level) 10m Position
Accuracy Accepts supply voltage input range of 4.5V~6.5V DC Power
Consumption of 44mA Operating Temperature of -40C to 85C 30mm
Slide 10
Dual Axis Accelerometer Sensor measurement range of +/- 1.2g
Turn on time of 20ms Accepts supply voltage range of 3V ~ 6V DC
Operating temperature of -40C to 85C 5mm
Slide 11
A single 0.1 F capacitor is connected from VCC to GND which
adequately decouples the accelerometer from noise on the power
supply 0.1uF capacitors are added at XFilter and YFilter pins to
implement low- pass filtering for antialiasing and noise reduction
A 1M resistor is added to the circuit to set the period to complete
one duty cycle
Slide 12
Low power 8-bit microcontroller Clock Rate of 16MHz 4 serial
I/O Has analog to digital converter Operating temperature of -40C
to 85C As opposed to ATmega328 16mm
Slide 13
Slide 14
Satellite Greatest coverage Requires monthly fees Cellular
Second greatest coverage Requires monthly fees Radio Frequency
Least coverage No monthly costs
Slide 15
Low power and FCC (Federal Communications Commission) approved
Operates within 900MHz frequency ISM band Modem uses frequency band
of 902-928MHz Outdoor RF line-of-sight: range of up to 40 miles
with high gain antenna Receiver sensitivity of -110dBm Tx current:
730mA; Rx current: 80mA for power output of 1W Accepts supply
voltage range of 2.8V ~ 5.5V DC Transmit power output of 1mW ~ 1W
Operating Temperature of -40C to 85C
Slide 16
Utilizes Frequency Hoping Spread Spectrum (FHSS) Agility to
avoid interference by hoping to a new frequency on every packet
transmission or re-transmission Overall Vast range coverage
Requires minimal power Small form factor saves board space 61mm
37mm
Slide 17
900MHz Dipole Antenna Gain of 2.15 dBi +/- 1 Frequency 915MHz
(902MHz ~ 928MHz) 171mm
Slide 18
Slide 19
Slide 20
Slide 21
Slide 22
Fiberglass Omni-directional 900MHz Frequency 915MHz (902MHz ~
928MHz) Gain of 8.1 dBi Maximum power input of 100W RoHS Compliant
(Restriction of Hazardous Substances) 65in
Slide 23
Weather Proof Outdoor RF line-of-sight: range of up to 40 miles
with high gain antenna Receiver Sensitivity -110dBm Rx current:
110mA; Tx current: 900mA for power output of 1W Low power Supply
Voltage 7-28V Operating Temperature -40C to 85C 5.5in
Slide 24
Slide 25
What is Arduino? An open source electronics development
platform Why Arduino? Extensive libraries speed up development time
Easier to load code onto our board - especially useful for SW
updates Large community of developers Written in C language
Slide 26
Written in C Basic outline of code: Initialization Pin numbers
RF modem parameter settings Runtime (infinite loop) Collect GPS
& Accelerometer data Transmit over RF modem Functions both
initialization and runtime
Slide 27
Slide 28
Serial (UART) connection between GPS and Microcontroller Baud
rate: 9600 bps Data is received in NMEA format:
$GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,30.0,M,*18
Protocol header UTC Time Latitude North/South Indicator Longitude
East/West Indicator Position Fix Indicator # of Satellites Used
Altitude (Mean Sea Level) Altitude Units Checksum Dilution of
Precision
Slide 29
Analog input, converted to Digital signal via Analog to Digital
converter built into Microcontroller Maps input voltage from 0 and
5V to integers between 0 and 1023
Slide 30
Required to determine if bus engine is running Data collected
from the accelerometer is run through an algorithm on the
microcontroller to calculate this Calculation is done onboard since
fast sampling (on the order of milliseconds) is required Equation
and algorithm in work need to gather sample data from a bus while
the engine is running
Slide 31
Digital pins required for RF modem operation controlled via
code Example pins: Shutdown, CTS Pins controlled in software
Packaged GPS & Accelerometer data is sent to the RF modem via
Serial interface Baud rate: 9600bps Send out every half second
Slide 32
Configuration required for RF Modems to communicate Source /
destination addresses Baud rate of RF transmission Configured using
AT commands through same serial channel +++ to enter command mode
ATMYCD12 AT command prefix MY source address CD12 Hexadecimal value
for address 9600bps40 miles max 115200bps20 miles max chosen
Slide 33
Arduino bootloader is flashed onto bare microcontroller
hardware using Atmel In-System Programmer via ICSP pins Developed
code loaded via RS-232 interface to microcontroller This allows for
fast, easy software updates to the tracking device via the RS-232
interface Atmel AVRISP mkII In-System Programmer
Slide 34
Receives data from each tracking unit Programmed via RS232
interface to computer with X-CTU software (Digi) Frequency-hopping
spread spectrum Repeaters will repeat all packets not addressed to
them Receiving node collects all packets and sends out serial
interface
Slide 35
Each packet of information will be in the same format,
separated by carriage returns Sample output: > Protocol header
Bus ID # Latitude Longitude Time (hhmmssi) i=incremented value Date
(yymmdd) Protocol tail Engine status
Slide 36
Slide 37
Slide 38
Written in C# Outputs an executable file Has built in MySQL and
Serial I/O libraries Deployed on a dedicated computer running
Windows XP The RF modem is connected to the COM port of the
computer at all times A windows task is setup to run the program
when the computer boots
Slide 39
Collects the data from the RF modem through the COM port of the
server Bus Identifier Unique integer that represents the shuttle
the coordinates are being sent from Longitude and Latitude
coordinates Floating point numbers that represent the real-time
location of the shuttle Accelerometer data Boolean value
representing the real-time state of the shuttle Date and Time
Current date and time the bus data is collected
Slide 40
Process the packets of data The data is received in packets
from the microcontroller The Data Processor analyzes these packets
and strip down the data into useable information This information
is stored within the program and is analyzed
Slide 41
Analyzing the data Checks to ensure all the data is accounted
for within the packet This ensures that information that is written
to the database isnt missing any crucial components Checks to
ensure the coordinate points are valid If the GPS is not connected
it returns the longitude and latitude points 10000N and 10000E This
ensures that any incorrect coordinates dont make their way to the
database
Slide 42
Passes the data to the database for the Webserver Coded within
the program using the MySQL library to write to the information to
the database All data is written to the DATA_BUS_COORDS in the
database
Slide 43
Slide 44
Variable NameTypeDescription Global
ucfdbMySqlConnectionConnection to the database spSerialPortSerial
Port connection Local inputStringData from the Serial Port
dataString ArrayData after Parsing bBus Object Contains the data
for a particular bus Objects Bus.idInt32Identifier to the bus
Bus.latitudeDoubleLatitude Coordinate of the Bus
Bus.longitudeDoubleLongitude Coordinate of the Bus
Bus.TimeStringString representation of the time
Bus.AccelerometerBooleanBoolean representation of the engine
status
Slide 45
Function NameInputsOutputDescription
GetConnectionString()connNameString Retrieves the database
connection parameters from the XML configuration file
dbConnect()(none)MySqlConnection Creates and returns the connection
to the database getInput()(none)void Retrieves the data packets
from the Serial Port parseInput()inputvoid Parses and Validates the
data packet dbWrite()bvoidWrites the validated data to the
database
ID : integer name : string coordX : double coordY : double
isActive : boolean
Slide 51
ID : integer name : string color : string isActive :
boolean
Slide 52
Maps Google Bing Yahoo MapQuest Application Programming
Interface (API) Provides access and makes use of services and
resources provided by another particular software program Computer
Program vs. Web Application Interactivity vs. system requirements
Compatibility is key
Slide 53
Real-time view of the UCF shuttle transit system Map of the
local UCF area, with each route highlighted in a unique color User
has the option to toggle the visibility of each route on/off,
through an options panel on the side of the screen Each active bus
appears with its own icon based on the most recent coordinates sent
from the RF modem As the bus moves, the icon updates and moves in
real-time