Appendices and References
This section contains all the
code, schematics, cost details, task breakdowns, and references used
for this project.
Appendix A: Software Code
Main Project Code
The code for the project is organized into three zip files.
GesturesSecurityV1.zip
Contains all the C code used to program the microcontroller for the
touchpad security system setup.
SecurityManager.zip
Contains the Java code used for the security manager client that is run
on the PC. It communicates with the security device through a
USB cable.
Config_files.zip
Contains extra files that are needed to run the Java security manager
application.
Wifi Module Test Code
Wifi_Test_Code.zip
The
TCPserver.java file was used in order to create and
access a TCP socket connection between the wifi module and the PC. It
would print any data received from the module,
then send it 50 million strings, in order to determine if the wifi
module was
receiving data and sending it to the serial port. TimersGCC644.c
is a test file provided by
Prof. Bruce Land that streams numbers comparing two timing methods
across the UART.
It was used to test if the
module was
receiving any data from the serial port.
ISRserialGCC644_led.c is also
based on code provided by Prof. Bruce
Land, and toggles a led each time information is received by the
microcontroller across the UART. Both
TimersGCC644.c and ISRserialGCC644_led.c require uart.h and uart.c,
where the
baud rate has been set to 38400 to match that of the wifi module.
Appendix B: Hardware Schematics
Custom
USB Prototype Board
This schematic shows the connections and hardware that go on
the ECE 4760 USB prototyping board that will be used officially next
year for
the class, as was mentioned in the Hardware Design section. Full
details of the USB converter chip and
connector are not available, and are represented by a single block in
the
diagram.
The full board is used for
the
touchpad to USB interface configuration.
In the future wifi interface
configuration, the USB chip and connector
are not needed.
This schematic represents the final hardware implementation
for the final project, in which a USB connection is used in order to
facilitate
touchpad password entry, storage, and programming of new passwords.
This schematic indicates the hardware connections required
in order to create a wifi interface for the touchpad.
This
design, using the WIZ610wi module, was
never successfully implemented, and remains a task for future expansion
of the
project.
Appendix C: Cost Details
Number | Item | Part Number | Vendor | Cost |
---|---|---|---|---|
1 | Synaptic Touchpad | TM41PUM1311-2 |
- | $8 |
1 | ATMEGA644 MCU | - | 4760 Lab | $8 |
1 | Custom USB Prototype Board | 1 | 4760 Lab | $4 |
1 | USB Converter Chip | FT232R | 4760 Lab | $5 |
1 | USB Connector | - | 4760 Lab | $1 |
47 | Header Pins | - | 4760 Lab | $2.35 |
1 | Power Supply | - | 4760 Lab | $5 |
1 | 6 inch solder board | - | 4760 Lab | $2.50 |
4 | 2 Pin Jumper Cables | - | 4760 Lab | $4 |
2 | Pushbuttons | - | 4760 Lab | $0 |
2 | LEDs | - | 4760 Lab | $0 |
1 | Switch | - | 4760 Lab | $0 |
1 | Resistors, capacitors, other prototype board components | - | 4760 Lab | $0 |
Total: | $39.85 |
Appendix D: Task Breakdown
Task | Group Member |
---|---|
Determined method of hardware connection for touchpad | Jayce |
Implemented and tested PS/2 and touchpad APIs | Daniel |
Implemented and tested the interface main logic | Daniel |
Designed and implemented the stroke representation for passwords | Daniel |
Implemented and tested the matching algorithm | Daniel |
Implemented
and tested the Java application and modified the microcontroller code to enable the communication. |
Daniel |
Researched, purchased,
and developed WIZ610wi wifi communication |
Jayce |
Soldered
all components together and created final product case |
Jayce |
References
Datasheets
Synaptic Touchpad Interfacing Guide
Vendor Sites
Code / Designs Borrowed From Others
All the code and designs were our own. The only code borrowed was some PS/2 interfacing code in the Synaptic Touchpad Interfacing Guide.
Background Sites / Papers
Sparktronics Blog with Synaptics Connection Information
Java.net Background Information
Thanks
We would like to thank the following individuals and companies:
WIZNET, for their assistance in trying to debug the wifi module.
Prof. Bruce Land for teaching the course and for helping in many parts of the project.
Allison Smyth and the other 4760 TA’s for all their help with debugging all manner of issues.
Nathan Chun for allowing us to use the USB prototype board.
Agnes Gravrand, for assistance in debugging the wifi module, providing general networking knowledge, and taking video.
Project Information
This project was designed and implemented as the final assignment for the class ECE 4760 at Cornell University.