Page 1 of 1

GUI for Car info. Where do I get start with the programing?

Posted: Sun Apr 21, 2013 5:06 am
by alfa147x
Image
Larger image: http://i.imgur.com/l1RALYv.jpg
Plan is for it be running off of a $35 Raspberry Pi
+ $10 OBD-II STN1110
+ $20 GPS chip (Pharos GPS-360?)
+ $5 accelerometer + compass (LSM303DLH or ADXL335).

$80 gives you a computer with HDMI and RCA video out for your head unit. I want it to be touch / interface optional. So you can set it up at home and then take it out to your car and hook it up to a non-touch enabled display.
Anyone know how to program something like this? Anyone want to partner up?

edit:
Planning on ordering the rest of the hardware soon. I'll go piece by piece. Probably get the obd2 and accelerometer + compass. Hopefully I can get it where people follow a hardware tutorial and download a sd card image or run a bash script. I'll try to keep this thread updated.

edit:
Oh I forgot to add. You set a home location. Every time you arrive at this location it will attempt to connect to your wifi network and upload the log file to a dropbox account. It will then run a md5 checksum on the local version and the dropbox version to verify that they are the same. You wouldn't have to take out of the car to read the log file.

edit:
Just found a tutorial for the cheap ebay GPS:
http://astrobeano.blogspot.com/2012/10/ ... ry-pi.html

edit:
Got a team going. Programmer and engineer have been sourced. This might actually become a real thing!

Re: GUI for Car info. Where do I get start with the programi

Posted: Fri Apr 26, 2013 5:58 am
by clixxio
What language do you want it programmed in ?

Re: GUI for Car info. Where do I get start with the programi

Posted: Fri Apr 26, 2013 9:46 am
by ghans
And will you publish it ?

Touch screen : Research and talk to sellers. Make sure it works
beforehand. And yes , it will be expensive (for HD at least).


ghans

Re: GUI for Car info. Where do I get start with the programi

Posted: Fri Apr 26, 2013 5:03 pm
by larsth
I will here write about a software development process you can use. It is only a very coarse grained picture of the process, but it should get you started:

Any piece of software works by using a model of the real world. That model is data stored in the computer's memory (RAM).
The kind of data you need does of course depending of which kind of functionality you program must provide, so the first thing you should do it to write is as a so called requirements specification.

A requirements specification explains in a human language what the program should do, and not do. The "not do" is about adding constraints to the "should do" - this is important. Note that it is implied that everything else is things the program should not do. It is utmost important not to use vague words, that is, using words like "maybe", because a computer does not have any kind of common sense - common sense is a human thing.

Next is an iteration of small steps, where you get the most important thing done - (Very important: only one thing per iteration.)

The steps you will do per iteration is these (in sequence):
Analysis, design, implementation, test

Analysis - what must the program be capable of to do in this iteration? The last step in the iteration - the test - will reveal whether or not you had solved the problem. The analysis should also make it clear which kind of data the program have to work with.

Design - This step is the modelling of data from the real world, that a computer can work with by using software (some type of problems cannot be solved by software).
There are several methods in use: Procedural analysis and design, Object Oriented Analysis and Design (OOAD), Analysis and design by using Functional Programming

Implementation - the programming step (consumes about 10% of the time - for medium to large non-trivial programs). The rest of the time is spend in analysis and design, and tests - making sure you are doing the correct thing, especially not implementing functionality that are not needed by the program(=wasting money) - using the best algorithms etc.

Test - Does the program do what it is supposed to do, and nothing else?
There are several types of tests in use. Unit tests being the most basic ones - is functionality xyz implemented?, and does it work in the way the design spec. requires (API requirements)?

Now that you have a software developer things should be easier for you, but you must write a requirements specification, so they can do their job properly. It will make your job of being the manager for creating a program easier, and also their job much easier, because they should know what to do with a requirements specification.

Suggestion:
Discuss with the software developers whether or not they you had missed some things in the requirements spec. that should be added.

I hope that you find the information useful.

Yours sincerely, Lars Tørnes Hansen

Re: GUI for Car info. Where do I get start with the programi

Posted: Fri Oct 25, 2013 4:39 am
by biilystone90
hey i really liked your idea i wanted to know how things are going and if theres anyway i can help