As many of you know we had a telepresense setup going (it was very rough), it consisted of a netbook with Win XP, a webcam, speakers, and some remote desktop software. It was clunky and not automated, ran on an under powered (for video) netbook, and there were a couple times where someone unplugged things without asking and then didn't even return it (were they worried about being on camera?). But it did work and did give a few an opportunity to connect with the space remotely.
and webdriver. Selenium is a tool that allows you to automate anything that's in a web browser, most people who use it are web developers and they use it in automation testing for their websites, another popular use is to scrape data from websites that isn't otherwise easy to get or is tedious and time consuming. Anyway since it's super powerful like that I've started working on a new telepresense setup, or at least a proof of concept.
So far I've got it logging into YouTube and starting a broadcast/hangout (here's little a demo video I made:
https://player.vimeo.com/video/136534463 ). The next step I want to do is monitor the chat window for camera movement commands and send that
via serial to an Arduino to control some hobby servos to pan and tilt the camera. I already have the servo/camera rig built, and I think monitoring the chat will be fairly trivial (at least for this proof of concept).
After that the main work I think will be:
Automating so broadcasts can be initiated remotely (likely publicly, possibly just click a button on the website to start and/or join a broadcast) or on a schedule (like running during our regularly scheduled hours)
Handle any problems or crashes or timeouts or variations in page loads
Setup so it can run in a VM in the background on either the laser computer or maybe James' computer or something
Clean up code (always)
Make it mobile so it can "drive" around the space (anyone wanna donate some hardware?)
More cool feature creep ideas
Bug fixes
I'd like to open this up so those with an interest in the project and/or Java expertise can help. Yes, I'm coding it in Java, it's the easiest to setup, best supported (great eclipse integration and most popular it seems) and has been working like a charm so far. And Firefox, because Selenium Webdriver support is native. If you're interested in helping, just join in, also I'll likely be at the space on Tuesday if anyone wants to work on it with me.
Dirty 'ol proof of concept code is attached Note that you'll have to setup a Firefox profile called googletalkprofile that has the google talk and video plugins enabled (ref:
http://www.toolsqa.com/selenium-webdriver/custom-firefox-profile/ ).
[disclaimer: I'm not a software engineer. This is super beta proof of concept code, so it may not work for you and it could open an inter-dimensional trans-warp portal to Planet X1 in the Alph-Ceti-9 Solar System. I've only tried it on Win7x64, but it's Java so it should work anywhere :P .]
Cheers,
Jeremy