I am putting together a quasi-embedded project right now and was wondering what recommendations / solutions others may have found for some of the things I am running into. Some of the components I am using are running Arduino chips on their control boards.
I have a project where I am acquiring a picture and then performing some image processing on that picture. My system is as follows:
I have a mechanical actuator for loading/unloading. There is a timing delay, then a picture is acquired. Image processing occurs, then the mechanical actuator performs an unloading step. I have a control board for the actuator, and another control board for the camera. I'm also looking at adding a display to provide info like system status. I have written Linux-command line shell scripts to operate the whole system, primarily because all of the image processing is very straightforward to perform using open-source linux systems. From linux I send commands to the control boards to initiate the timing and control of the mechanical actuator and image acquisition. Currently I can operate the entire system by running a single linux script.
Here's what I am finding:
1) I now have a lot of USB cables going into the computer. Each control board seems to have its own. I am incrementally trying to make this system more embedded. Short of using a heavily packaged USB hub, anyone have a recommendation on how to decrease the number of cables heading to the PC?
2) Ultimately, I'd like to ditch the PC, and run this fully embedded. Anyone familiar with a straightforward platform that can run the linux command-line, shell scripts, and processing programs such as Octave? I don't need to a full VGA screen, maybe just output some status to an OLED screen or something like that? Ideally looking for an Arduino-like thing that has the full linux shell embedded. A PC is massive overkill. Once the program is finalized, that's the only thing I would want an end-user to ever see.
3) Power - Right now I've got power running everywhere. Some devices off USB, some off a 12 V DC adaptor. Would like to be able to simplify that, use a single voltage and distribute to all of the devices as needed, so that ultimately there is a single power cable and single data cable. Also interested in having a battery-powered option where I could plug in a DC adaptor for recharge, and that it would know to do the appropriate switching. Any thoughts on regulators. Looking for something very compact. I am using very common voltages, 12V, 5V. Yes I know a PC power supply can give me that, but it is far too large. What I would like to do is plug a single DC adaptor into the wall, and the take the voltages I need off that and run it to the various boards.
4) Control - there are many options available for making the computer run the hardware. What I'd like to do is the opposite - get a push button and when that is pushed, run my shell script. Any thoughts on options for that?
These all seem to be fairly common development issues and there has been an explosion in the variety of Arduino components available. Wondering what others may have found or done in this areas, as I have seen less development along this front.