On Thu, 15 Dec 2011 07:05:32 -0600, Zarakava wrote:
> Hi All,
> I am a mobile application developer and this is the first time i
> have entered into developing an embedded application from scratch. I
> know that the title is a bit misleading and there will be rebuts in the
> grounds that Android is an OS and Qt is a framework and C/C++ is a
> language. Let me explain my requirement.
> I need to develop an embedded device which will be installed in a
> vehicle and it will periodically send telemetrics data to the cloud
> server using GSM modem. The telemetrics will include 1. GPS position
> data
> 2. Accelerometer readings
> 3. Image/Video data
> 4. It needs to light up a bulb on the device to visually indicate rash
> driving to the driver based on algorithms derived from
> acceleration/deceleration values
>
> I am looking forward to suggestions in the following areas:-
>
> 1. How to select an appropriate processor, sensor components? Who will
> design the board? Do the silicon suppliers provide consultancy in that
> area or does an hardware engineer select the processors, components and
> designs the board,the board design is then given to the silicon supplier
> as made to order specs?
Silicon vendors will be happy to help you select parts. Oddly, though,
they will help you select _their_ parts. Unless there's some support
chip that they absolutely don't make, they'll select their support chips,
too. If their parts all happen to be wildly inappropriate -- they'll
help you by selecting _their_ parts.
Ultimately the hardware engineer needs to select the final parts to go
into the device, and design the board.
The silicon vendors aren't interested in your board design, beyond the
extent to which their parts are on it. You will send the board fab files
out to a board fabrication house to have the raw board built, then you
will send the boards, and the schematics, bill of materials (BOM) and
parts placement diagram to a board assembly house, which will build the
boards. Any board testing that needs to be done is up to you, or you in
conjunction with the board assembly house.
You need to partner with a good hardware engineer, or you need to
prototype this thing on a phone or tablet or laptop or whatever, use that
as a technology demonstrator, and then use the success of that to attract
investment and talent.
Sensor selection isn't trivial. If you're serious about this contact me
off list, I'm not the worlds most profound expert on this, but I'm pretty
darn good.
> 2. Android: Is it feasible to to port Linux for Android. Then port
> Android on top of that. Write Android ready device drivers and then hook
> it to the Android APIs. Then write an Android application. My device
> will not have a display or a HMI. So is Android really adding value to
> my solution and is it worth to go through all the efforts mentioned
> above?
Feasible, yes. Adding value? I don't think so.
> 3. Qt: I am least experienced in Qt. But my understanding is that
> Qt can take place of Android as an application framework. The process
> and questions pretty much remain the same as for Android.
Qt is good if you have a display and need menus, etc. If your UI is just
buttons and lights, then it's a huge load of unnecessary dead code.
> 4. C/C++: Or
> write C/C++ programs which will directly interact with the device
> drivers and achieve the need.
That's certainly how I'd approach this, unless you had a display that
needed human interaction. Even then I'd evaluate whether some smaller
menuing system, running atop a little real-time kernel, wouldn't be more
appropriate.
--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
Why am I not happy that they have found common ground?
Tim Wescott, Communications, Control, Circuits & Software
http://www.wescottdesign.com