The last post about our HyperDoF refocusable image builder was our first about some of the research and development projects we do here at Reikan, but I wanted to tell you about another idea that we’ve been playing around with in the background – FoCal over WiFi!
The Raspberry Pi
If you don’t know about the Raspberry Pi computing platform, then you’ve missed out on a treat! It’s a very small (approximately credit card sized) full Linux platform with a 700MHz ARM 11 core as part of a SoC (System on Chip), which also contains a powerful VideoCore 4 GPU. It’s also got 256MB or 512MB on board RAM, a couple of USB ports, Ethernet connector (the model B anyway), HDMI and some general purpose IO pins. It has comparable computing power to a PC from about 2000 (although the GPU brings the graphics processing capability much more up to date to the point where it can decode BluRay quality HD video in real time!), but all in a tiny package that can run from a battery. And how much does this super little lump of computer power cost? Just $25 for the cheapest one (model A), but you’ll probably want the model B at $35 for running with FoCal as it’s got 2 USB ports so won’t need a hub, and also has Ethernet in case you want to run over a wired network.
FoCal over WiFi
To get the Raspberry Pi working with a camera is not trivial, but as we wrote all of the underlying camera control functionality for FoCal it’s been quite easy to port this code over to Linux. We developed a simple network protocol (which we’ve called RNP) to transfer very low level camera commands and information in both directions, and have added a tiny USB WiFi adapter to give the unit WiFi connectivity.
So now we can connect the Raspberry Pi to a battery and the camera, wait 30 seconds for the system to boot up and when we run a special build of FoCal with RNP support the camera appears as if it was connected directly to the computer, but with a little icon to show it’s remote:
All FoCal functionality works – all the tests, and the Target Setup utility is shown here with the camera aimed at the screen so there’s a never ending copy of the image:
The setup we used for the screenshot above is shown below – the MacBook Air is not connected to anything physically, but controls the camera as if it was connected over USB:
The screenshots above show this working with the Mac, but it works on Windows as well (see the further pictures at the end of this post).
What else can you do with it?
Well, when you start getting the camera working over WiFi with all the functionality provided by the SDK, you can do… well… anything! You want remote shooting? Check. Timelapse over WiFi? Check. Capture on events? Yep. And there’s no reason why you’re limited to a PC or Mac any more – any device with WiFi can communicate with the camera, like the Nexus 7 below, with my hand waving around in front of the camera:
Sounds cool! Can I have it?
Not yet. This is coming very much from our R&D work, and there are things to iron out before we can make this a viable solution to remote camera control. At the moment it only works with Nikon cameras, but it’s not a massive job to get Canon support added. It works well with FoCal, but Android and iOS support is very much in it’s infancy.
If you’re interested in this project – maybe you have a Raspberry Pi and FoCal would like to add the ability to control over WiFi – then let us know through our Feedback Contact Form.
The following gallery has a few more images in to show you what it all looks like: