Phone as a Remote Control Library (PAARC)
submitted on: 2/8/2012Version: v0.9 | Release date: 12/19/2011
Project Description
PAARC is a library that enables Windows Phone 7 devices to be used as remote control or input devices for any .NET desktop application. Supports raw (multi-)touch input, gestures (tap, double-tap, hold, pinch, drag, flick), sensors (accelerometer, compass, gyroscope, combined motion) and text input using the SIP. Uses TCP/UDP sockets for maximum performance and responsiveness, and has a server discovery mechanism (multicast) to auto-connect to hosts on the same network. The library comes as multiple components (class libraries) that can be integrated in your own projects both on the phone (Silverlight/XNA) and desktop (.NET), and it has a reference WP7 client you can use to start without creating a separate Windows Phone app first.
Demo Video:
Phone as a remote control - Live demo from Peter Kuhn on Vimeo.
Components included in the Phone as a Remote Control Library
- Core library: the core components are made of the following four parts:
- Two client-side Windows Phone assemblies that are able to acquire data from different phone sources, and to connect to a remote server using sockets. The communication assembly is able to receive configuration and control commands from a connected server, send data back to the server, and to use multicast to discover a server on the same network automatically. The data acquisition assembly includes the following possible data sources:
- All built-in sensor APIs of Windows Phone, like the accelerometer, compass, gyroscope and combined motion API (partly restricted by what the device hardware actually supports)
- Raw touch input from the touch panel, including multiple simultaneous touch points
- All built-in high-level touch gestures (tap, double-tap, hold, flick, free/horizontal/vertical drag, pinch)
- A custom drag gesture mode to simplify dragging
- Text input using the built-in SIP keyboard.
- A server-side .NET 4 assembly that listens for incoming client broadcasts or direct connections and is able to both send control and configuration commands to a connected phone as well as receive data that is acquired on the phone.
- A shared assembly for the used data types, interfaces and more.
- Two client-side Windows Phone assemblies that are able to acquire data from different phone sources, and to connect to a remote server using sockets. The communication assembly is able to receive configuration and control commands from a connected server, send data back to the server, and to use multicast to discover a server on the same network automatically. The data acquisition assembly includes the following possible data sources:
- A reference Windows Phone client application: this application makes use of the Windows Phone assemblies of the core library. The UI allows connecting to a remote server and provides features to perform user input for all above listed gestures, raw touch input, sensors and text. The intended use is for developers that do not want or require to create a custom phone application, and the ultimate goal is to publish this app to the Marketplace for public use, once it has reached a mature state.
- Sample desktop applications: The project includes a few sample applications to demonstrate the use of the library. In particular, the following applications are included:
- Cube: Demonstrates how to use sensors (the accelerometer), gestures and raw touch input to control content in an application. The rotation of a 3D cube is controlled using the accelerometer, zoom is handled using pinch gestures, and translations are performed by raw touch input.
- ConsoleApplication
- PCController: the most sophisticated sample and the original motivation to start developing this library. This sample converts the input received from the phone into operating system commands to manipulate the mouse cursor.
- LogService: A supporting helper application for troubleshooting and diagnosis.
Additional Development Resources
- Phone as a Remote Control official documentation
- http://www.pitorque.de/paarc
- Use the library in your own projects
- Troubleshooting problems
- Compile the source code
NOTE: Feel free to add in the comments any article/content that you find interesting and is related to the Phone as a Remote Control Library. We will update the description regularly based on your feedback!
You can also follow us on Twitter @winphonegeek
Comments
Top Paid WP Tools See all
If you are a component or tool vendor and want to submit your tools contact us.
