Remote Keystroke Retrieval System Kevin Butler Omar Martino Eric Hicks.

Post on 21-Dec-2015

220 views 1 download

Tags:

transcript

Remote Keystroke Retrieval System

Kevin Butler

Omar Martino

Eric Hicks

Project Description

Interface a PIC16F84 microcontroller with external EEProm to record and store all keystrokes from a given AT or PS/2 keyboard.

Transmit the stored data using a TX/RX transmitter pair to a separate device

Display the received data on a monitor screen.

General Functionality

Keyboard CPU

Recorder

CPU

Mobile

Interface Functionality

PIC16F84

EEProm

Receiver Transmitter

From Mobile To Mobile

Interface Functionality Cont’d

Receiver

EEProm II

PIC16F84

Transmitter

From Recorder

To Recorder

Parts Description

Microcontrollers

Memory

RF Systems

Keyboard

PIC16F84 Microcontroller

Coding– RISC Assembly

32 instructions– PIC Basic

Hardware– 18 Pins

13 pins available for input/output specification

– Requires 4 MHz clock– 5V power supply

Microchip EEProm (2kbit-512kbit packages)

Interface/PinOuts Hardware Storage

– Each lower case character is 24 bits

– Our storage capacity using this setup will be 80 characters to 21,000 characters!

– Max storage approximately 20 pages (font 12, double spaced)

Keyboard

6-pin Mini-DIN (PS/2): 1 - Data 2 - Not Implemented 3 - Ground 4 - Vcc (+5V) 5 - Clock 6 - Not Implemented

Male

          

(Plug)

Testing Phases

Phase 1- Handling Keystrokes (In Progress)– Ignores mouse movement– Displays scan codes on LED’s– Still need special keystroke recognition (F1,

Win95, etc.)

Phase 2- Storing Data (In Progress)

– Must implement higher capacity EEProm

Phase 4- Transmitting (Upcoming)

– Use microcontroller to start and end transmission of data from EEProm

Phase 3- Keyboard Emulation (Completed)

– Use microcontroller to simulate a working keyboard.

Phase 1 & 2- Recording Keystrokes

PIC16F84 receives clock and data from keyboard, and “routes” the data to EEProm

Ignores mouse movements PICBasic I2COUT/I2CIN handles

all serial transmission– Control byte, address byte, data

byte

Test Circuit Diagram

Phase 3- Keyboard Emulation

PIC16F84 manually switches clock pin high and low, to simulate keyboard clock

Memory accessed and sent as it was received initially (FIFO)

Ignoring crucial keys (Win95, F1, etc) is still an issue– Each of these keys has a two part make code that

starts with the byte E0, should be easy to ignore, but hard to display what key was typed.

Phase 4- Transmission

PIC16F84 receives control signal and initiates EEProm data extraction

Data is obtained byte by byte from EEProm, and sent to transmitter serially using the I2COUT instruction.

Data is received and processed exactly as in Phase 1 & 2

Recording Unit Diagram

Mobile Unit Circuit Diagram

TimelineID Task Name

1 PDR

2 Select microcontrollers

3 Select memory

4 Select Tx, Rx

5 Order Parts

6 Design

7 CDR

8 Testing Tx, Rx

9 Keyboard/MC interface

10 MC/Memory Interface

11 MC/RF interface

12 Milestone 1

13 Integration

14 Fine-tune Tx/Rx

15 Milestone 2

16 Assemble boards

17 Internal Expo

18 Documentation

1/26 2/2 2/9 2/16 2/23 3/2 3/9 3/16 3/23 3/30 4/6 4/13 4/20 4/27February March April

Timeline

Uncertainties

Transmission Clarity/Distance– Might need error correcting codes– Have not tested TX/RX as of yet

Code– Have not established a clear strategy for filtering

unwanted keystrokes

Power Consumption– May be able to power transmitter from PIC

Milestone Goals

Milestone 1– Demonstrate transmission

of stored data to remote device.

– Display data on screen from “remote device”

– Completion of Phase 3

Milestone 2– Demonstrate completed

prototype– Integration of all phases– Working keystroke filtering

Ignore or Recognize

Questions?