What's that about:
So first goals of this project was simple, just creating controller which will make possible to create nice photos of things that are happening really fast in reliable but as you will see this is extended now a bit and I aiming for a bit more.
But let's start from begging:
I made first experiments about 4 year ago I was inspired by video which i found on YouTube:
It was about hooking sound sensor, camera and Arduino together and using proper program to trigger camera shutter in right moment and generally it worked and generally i really liked this project and started to thinking what I can improve.
First of all it was not handy to reprogram Arduino every time I wanted to change something(I needed to take my laptop to basement :p ), of course I could use lcd screen and button to adjust delays and etc, but I think such way will still not be very handy.
Also I was thinking about making something which can be used by photographer which are not really into programming and don't have technical knowledge, so device which can be also used by regular photographers.
So then a lot of thinking, designing and prototyping happened....(for more read to design process log)
And now after this years I created board which is equipped with interface to camera, flashes and three modules, which can be quickly and easily configured with graphical interface through smartphone app, it has also unified module interface which give possibility to add new modules easily.
Controller board(PiXPI) is running under Linux(OpenWrt) control, on top of it is a Python application which is responsible for receiving, executing and controlling scripts created and sent from smartphone application, which I wrote for this project.
Smartphone App utilize Google's Blockly library for making creating of those scripts/sequences simple as possible. So in effect you can create them using graphical programming interface, using blocks instead of writing any code, no knowledge of Python programming is required for, user do not see Python code at all, he/she will just see blocks .
Scripts which are sent from smartphone are basically strings of python code, python was chosen as language which is powering controller, as it can execute code from string without compiling.
Scripts are sent from android application using Wifi->http->rest protocols.
Scripts are responsible for orchestrating photo shoot sequence, so camera shutter, flash and modules interfacing.
Those blocks with help of Blockly library are under the hood translated into python code...Read more »