This robot uses the following modules connected to a FEZ Spider Mainboard:
The robot is controlled by commands sent through a TCP connection using an instance of the SocketServer class. This allows direct connections and avoids the overhead of HTTP request. It creates a thread that waits for an incoming connection on port 8080 and listens for commands. After the server is started, as shown in the complete article, the DataReceived event is raised by each incoming message.
When the client Windows Phone application requests an image, the device returns the most recent image and takes a new picture, so that it is available for the next request. Periodic requests for images sustain a simple image-streaming mechanism.
The commands that control the motors are received using the SocketServer class. These commands determine direction and speed of motors.
A Windows Phone client controls the robot via Wifi and displays images that are captured by the camera. The Windows Phone UI is defined in extensible application mark-up language (XAML) and includes a custom control, ImageButton.
Marco Minerva has designed numerous .NET Gadgeteer devices and often supported other developers' projects. The complete application code for the Wifi Gadgeteer Robot and Windows Phone client is detailed in articles at the following URLs:
There is additional Developer documentation on the NETMF Codeplex site which can be visited by clicking the link above.