WHAT IT IS
I created a simple instant messaging system between a user with a computer and a user
with a device I built around the Xport board. The Xport board uses an LCD for display
and a PS/2 keyboard for input. The computer based interface was written in Processing
and connects to the device by opening a Java socket to it.
HOW TO USE IT
First you powerup the device (making sure it's connected to the internet), and then
launch the Processing applet.
Second you wait till the "Starting Up" message on the LCD screen goes away and the
LCD screen is blank, and the Processing applet says it is connected to the device
(clearly this is a little problematic if the two users are truly seperated, but patience does wonders!)
Third the user of the device types in a message and sends it by hitting Return on
the keyboard. The message will show up in the processing applet, and now the computer user
can enter a message in the text box, and hit Send.
Fourth the device user will get the message on their LCD. Once they have read it they
hit Return to clear the screen and then they can enter a new message and send it by hitting
Return.
So in essence this is a call and response system, where each user goes in sequential order.
HOW ITS PUT TOGETHER
The core of the device is the Xport board with an LCD and PS/2 keyboard attached.
Below is a diagram of the system:
Here are links to the code the PIC and Processing are running:
PIC code
Processing code
A documented journal of the development of my code is on my main netobj page.
RESOURCES
For the LCD the Pic Basic Pro manual (online) has useful information in conjunction with
documentation on the LCDOUT command
For general LCD information this link is useful:
http://www.myke.com/lcd.htm
For general PS/2 keyboard information this link is useful:
http://www.beyondlogic.org/keyboard/keybrd.htm
I used pieces of code from the following link to do the keyboard scanning in PBP:
http://list.picbasic.com/forum/messages/2127/2203.html?996705165
And of course Rob Faludi's java socket code in processing was very helpful too.