"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." (Robert A. Heinlein)

Saturday, 21 April 2018

Remotely controlling the Raspberry Pi Zero and Pi Camera

Here I am continuing my very slow paced building of a Raspberry Pi Zero based camera. After experimenting with raspberry-desktop file exchanging I’ve now took some time experimenting with remote controlling options. I’ll eventually have to wire to the Raspberry some, at least minimal, physical interface, but remote control, trough a Android smart-phone, could be a viable solution to avoid a too complex hardware interface.

The ready-made solution: Raspicam Remote

The first solution I found in Android Play store has been Raspicam Remote. Raspicam is a quite simple application providing a simple but complete user interface and connecting to the Raspberry Pi using Wi-Fi and SSH.
Unfortunately Raspicam doesn’t work on my old phone (Jelly bean) but it works fine in my much newer tablet. I understand you can’t keep backwards compatibility with everything. Other solutions are available but they look more suited for remote surveillance than camera interface.

The mostly Do-it-yourself solution: BlueDot

Interfacing to the Raspberry trough Wi-Fi offers clear advantages a specially in terms of connection speed but also poses some disadvantage. Setting-up a Wi-Fi connection might be trivial while at home where is available an already configured access point but it’s not the same while outside. Connecting the Raspberry with a smart-phone using Wi-Fi means configuring one of them to act as access-point, its not difficult but it might become tricky. Also on the power consumption aspect must be kept in consideration especially for the device acting as access-point.
Bluetooth overcomes both set-up and power consumption problems in exchange, of course, for transfer speed and connection range.
Here comes to play BlueDot: a simple looking Android application that together with a easy to use Python library allows a unidirectional Bluetooth communication between smart-phone and a Raspberry device.