Control of the robot and stepper motor via the internet was performed using Microsoft's WinSock ActiveX componenet. WinSock provides a relatively simple method of developing client/server applications in Visual Basic. For more information on the WinSock programming, please see the Visual Basic Code.
The client/server code runs as follows: The server program runs first, it initializes the robot and motor, and waits for the client program to complete the connection. When the client program is initiated, the user is prompted for the server IP address. When the IP address is entered, a connection is made and control of the robot can begin after the joystick has been enabled. Screen shots of the client and server GUIs are shown below.


When the operator presses a button or moves the keypad on the joystick, the joystick's callback routing is intitiated. At this time, a string is constructed in visual basic that includes a label for each button, and the value of that button. The string is then sent via TCP/IP to the robot server. Upon being received by the server, the string is parsed to extract the button values for the joystick and the robot and motor controls are activated accordingly. Please see the Visual Basic Code for details.