Since the last post, I’ve made more progress – which I guess is a good thing. The actual results of the so-called camera have not changed, but things have changed to speed it up.
Firstly, I have a new Raspberry Pi (a birthday present from my wife who feels I need more encouraging) – this is a model 3 B, so it has a quad-core processor, is faster and has more USB ports – allowing me to connect all the cameras AND a keyboard at once. It also has WiFi built-in, so it’s suddenly portable – I’m not restricted to where the Ethernet cable will let me go.
As well as the hardware speeding stuff up, I’ve also found that I can multi-thread in Python (something I have not much experience with), so I can effectively halve the time it takes to process the images by having them done simultaneously. All this means that instead of it taking five minutes to crunch through the two photos on the previous Pi, it takes around 30-40 seconds.
I also moved the Dropbox upload out of the photo taking part – instead, that happens when a separate button in the UI is clicked, which takes me to the pithy subject of creating a UI in Python. Something I am starting to detest.
The aim is, eventually, to have a small touch screen on the back of the camera. It’ll probably have some buttons, as well as allowing me to set options. Right now, it looks like this. It’s not pretty, but it seems that the system that is most commonly used to create such things is limited.
It also seems that the preferred way to create UIs is to hand code them. This ones against the grain for me, as I am used to GUI based design software, and those WYSIWYG applications that are available to generate Python UIs are curiously hobbled. There is no easy way to move objects, like buttons, around the window, and some even collapse the size window immediately you add a button – very curious.
When I search for more information on this subject, I come across a lot of “use a pencil and graph paper and hand code it” advice.
So, right now, I’m trying to find something that lets me do what I want, and will allow me to produce something that doesn’t look like a rather empty. Until then, I expect I’m looking at a fairly bare and minimal interface. Still, screens won’t be happening for some time, but it helps to get an idea of how things will be when it’s time to add one.