Ask Your Question

Revision history [back]

Development environment and process for small devices like Pi Zero W

I'm just starting with OpenCV using the go-cv wrapper and I would like to ask you for some general advice on how you would layout your development environment and processes. My goal is to write a program that detects different states of an industrial device by "watching" its control panel, some old school metal panel with red and green lights etc.

I have a powerful workstation on my desk with Linux and an attached USB camera. Go-cv and thereby OpenCV 4 is installed on both the workstation and the Pi Zero W with the Pi Camera version 2, I can successfully create a "Hello world" on the workstation that simply shows a video capture window, build it for the Pi and run it there (or compile it on the Pi).

Now there's this fact that the workstation is of course many orders of magnitudes more powerful than the little Pi. When I now start developing on the workstation, I will hardly ever run into some hardware-based limitations, but as the software is supposed to be run on the Pi in the end, this won't help much, I think. On the other hand, I do not want to start X on the pi and have the development take place there. Besides that, I would have to either use VNC or really use the Pi as a development machine with attached monitor, mouse and keyboard (which seems strange in a way).

In the end, as far as I understand, all the windows that you show (like the face detection in the demos) are not really neccessary and are just handy for optimizing and tweaking the program until it does what it should, is that correct? I think, showing a live camera feed alone will also take a away a significant amount of cpu power from the Pi.

What would be a good setup to use the best of both worlds? Thanks for sharing your thoughts and recommendations.