Live Video Streaming:
- Movino (open source project) does nearly everything we want
- Standard Movino model (phone -> server -> clients via website) introduces way too much latency
- Movino “SDL client” and “native linux” client both give ways to simply render the raw image frames in real time as they are received from the phone. The “native linux” client is a lot harder to setup because it only outputs to Video4Linux which is a pain, so I recommend the linux/MacOS SDL version. It should be possible to port this to Windows at some point.
Remote Servo Control Via Joystick – Source Code Download
Here are some early versions of the code — these are basically “passthrough” programs that just pass joystick positions directly through to the servos, and use TCP — prototype code without a lot of error checking. This should work with Pys60 2.0.0 ; it won’t work with Pys60 before around version 1.9.2 (or whenever they moved btsocket into its own library)
There is a PC-side program which is written in Python using PyGame for joystick input — this should work on Linux or Windows. This program essentially waits for the phone to connect to it, then begins sending somewhat-translated joystick positions to the phone once a connection is established. The translations are mainly to improve low-speed performance (these hobby speed controllers/setups are unfortunately designed to go very fast, not slow).
The Phone-side program is also written in python, it just makes a bluetooth connection and a TCP connection and forwards what it receives over TCP to the bluetooth socket.