Announcement

Collapse
No announcement yet.

Synth Car PC 2nd generation ** UPDATED WITH BETA 1202 INFO**

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Synth Car PC 2nd generation ** UPDATED WITH BETA 1202 INFO**

    Hi All

    Decided to update this thread with what I have been working on for the lead up to the beta milestone of synthcar.
    still unsure how i will release it, as a linux distro, or as a frontend app, or....

    The "Front-end" will be HTML5 driven as you can see in the home and media screen below, the launcher and playlist is in HTML5 loading from uzbl webkit browser full screen with no window decoration. All screens can be accessed by swiping your finger left or right. swiping from the top will bring down the task dock. will add browse by album cover art.
    HTML5 gives me the freedom for excellent eye candy animations. all scrolling will have thumb scrolling enabled.

    will also include 4 channel camera input (one for reverse, one for blind spot) motion detection, collision detection, dtv receiver, 3g internet, google earth navigation.

    Home Screen
    Click image for larger version

Name:	main.jpg
Views:	2
Size:	126.3 KB
ID:	2310870

    Media Screen (controls follow the user)
    Click image for larger version

Name:	media.jpg
Views:	2
Size:	96.9 KB
ID:	2310871

    Navigation Screen
    Click image for larger version

Name:	nav.jpg
Views:	2
Size:	223.4 KB
ID:	2310872

    ODB2 Screen
    Click image for larger version

Name:	obd2.jpg
Views:	2
Size:	113.8 KB
ID:	2310873

    YouTube Screen
    Click image for larger version

Name:	minitube.jpg
Views:	1
Size:	138.9 KB
ID:	2310874

    Keyboard (toggle when field is focused)
    Click image for larger version

Name:	keyboard.jpg
Views:	3
Size:	112.0 KB
ID:	2310875

    I'm also working on quick screen overlays to turn on/off as below
    overlays can be dashcams, videos..etc
    Click image for larger version

Name:	nav2.jpg
Views:	3
Size:	302.1 KB
ID:	2310880

    Your feedback is much appreciated.

    //////////////////////////////////
    BELOW IS pre-alpha details
    /////////////////////////////////

    After selling the car with my 1st generation car pc, I decided to put together another project as I will be purchasing a Nissan Cube soon.

    Hardware I am currently using:
    I'm running it on my netbook at the moment to keep the cost down. All up I spent around
    + Dell Mini 9 Netbook (Will upgrade to mini-itx with m2-atx psu)
    + 1.6Ghz Intel Atom Processor
    + 1GB Ram
    + 16GB SSD (for OS)
    + 1TB Hard Disk (for media)
    + 7" Touch Screen (mounted in double din housing)
    + USB Garmin GPS
    + USB Bluetooth Dongle
    + USB ODB2
    + USB HD Webcam *this is mounted on the dash and one pointing at the blind spot
    + Infrared Reverse Camera (RCA) *this cam auto switches when car in reverse

    Software:
    Instead of trying to integrate everything into 1 application (like centrafuse does), I have customised the OS to be the foundation of the overall system. Since running centrafuse on windows is a no brainer, I decided to go with Linux.
    I'm using a customised VLC rather than XBMC. XBMC is bloat under idle conditions (utilizing about 50% cpu). A nicely skinned VLC does the job. The whole thing is driven with a task bar on the right hand side so the driver always has access to volume and necessary links to change screen between nav, media, cam, odb..etc.
    + Debian based Linux
    + Openbox WM
    + VLC or XBMC
    + iGO8 (running under Wine)
    + GUVCViewer (for webcam recording)
    + Scantool ODB2 monitoring
    + Bluetooth Hands-free Phone ??????

    Media
    Click image for larger version

Name:	synthcar1.png
Views:	1
Size:	697.2 KB
ID:	2310849

    Navigation
    Click image for larger version

Name:	synthcar2.png
Views:	1
Size:	275.2 KB
ID:	2310850

    Camera
    Click image for larger version

Name:	synthcar3.png
Views:	1
Size:	412.6 KB
ID:	2310851

    Please leave any suggestions, feedback, comments below.
    Last edited by trippah; 12-04-2013, 01:34 AM.

  • #2
    I have a suggestion. if you haven't built it yet. these elm327 solutions offer generic obd2 functions only. they will only communicate with the cars ecu, ecm, vcm, pcm or whatever you wanna call the engine controller, and sometimes the trans control module. they are so ill equipped for today's vehicles. IF you could track down some obd2 to pc device that would give you vehicle specific capabilities, you could say, just talk to the body control module or bcm and request control of on board systems and control your power windows or door locks from your carpc for example without ever running a single wire. or talk to the hvac control monitor and see what the actual a/c pressures are without going to a shop and having gauges hooked to your car. I am sure there are canbus decoders out there that can achieve this, also. there is just so much of the car that these generic solutions don't see. and by generic, I mean global obd2. there is the airbag module, the anti-lock brakes module, the tire pressure monitor system, driver door module, passenger door module, remote keyless entry module, the body control module, electronic suspension module, fan control module, traction control module, HVAC(heating ventilation and air conditioning) control module, IPC(instrument panel cluster) module, front and or rear SAM(signal acquisition module), totally integrated power module(TIPM), just to name a few. I think it'd be awfully frustrating to go through all the effort to build a carpc and integrate it into the vehicle, and still have to take it to somebody else when the airbag or antilock brakes or traction control lights came on. if my build kept its factory controllers and wiring that is what I would have hunted down. just my 2 cents.

    Comment


    • #3
      If you do decide to look for something more detailed, check out Auto Enginuity. They have expansion packs for all makes. With the Ford expansion pack, it reads almost 500 PIDS on my super duty and does bidirectional communication to run tests, command solenoids on and off, buzz injectors, etc.
      My 2007 Ford F350 Work Log located HERE

      Comment


      • #4
        Definietly a lot more clean than the xbmc setup I was initially looking at. I think I like this better, it's simple and should be faster for loading since it's not using xbmc as the interface. I actually use xbmc as a home htpc so I have nothing against it what so ever. I'm using lubuntu and IGO is running smoothly and going this route gives me the ability to use any music player I want, so great thinking! How are you having the media buttons on each desktop with other apps running?

        Comment


        • #5
          with the right window manager (i use openbox) you can set all kinds of window property to certain programs, eg. to run ontop, show on all desktop..etc
          then you can switch through then using wmctrl.
          the bonus is when you use a guesture program like easystroke so you can get the "swipe" action going.
          the extra bonus is when you add 3ddesktop to add a 3D cube to the "swipe" effect.
          if you are patient you could even use compiz for mega eye candy, but I'm initially deploying on an Atom 1.6, so keeping animations to a minimal.
          also added kvkbd onscreen keyboard and a home screen+button which shows a launcher.

          boot time is about 20sec from power on to music playing, could be faster on a better ssd.
          boot times are of less priority since its a netbook with a battery, so it can stay in sleep mode most of the time, while the car is off. to wake up takes a few seconds.
          the computer does not sleep for 30mins in case your just quicky ducking into a store.
          once the car is on, the netbook battery starts charging again.
          awsome advantages when using a laptop in a car...

          The screenshots above are pretty alpha, I'll post beta shots in the next few days...
          Last edited by trippah; 11-20-2013, 02:32 PM.

          Comment


          • #6
            Originally posted by AutoWiz View Post
            IF you could track down some obd2 to pc device that would give you vehicle specific capabilities, you could say, just talk to the body control module or bcm and request control of on board systems and control your power windows or door locks from your carpc
            are these devices actually available?

            Comment


            • #7
              I have been a driveability and diagnostic tech for about 12 years, now. all of the snap-on scantools that I have ever owned have this ability. snap-on solutions are among the most expensive in the industry I think. and I do not think you will get a snap-on scantool or a launch x431 master to communicate with your carpc like that. but the proof of concept is definitely there. I bought an elm327 Bluetooth scanner from ebay for my first carpc build. and I was just so let down. my snap-on scanner gives me a bigger datastream and more pids on 1980's cars. there are so many sensors in todays car's that the datastream had to be broken up into parts , so now when you click on engine data, it brings up another menu for engine1 data, misfire data, fuel data, throttle actuator control data, emissions data, and different companies have more or less. I have yet to see one of these cheap solutions offer these sub menu's for the ecu's datastream. and also (this is just one example that repeats itself in a slightly different manner for most vehicles) there are new communications protocols that have come out in recent years, and I am not sure if elm327 is compatible with these newer systems. all gm cars have 2 networks driving all the modules in the car. there is the traditional low speed lan or as gm calls it class 2 communication which is just 1 wire connected to every module on its network and communicates at 33.3k/s. this type of communication has been around since before the dawn of OBD2 in 1996. and then there is gm's high speed lan that is 2 wires running in and out of every module on its network and communicates at 500k/s. I am not sure if the elm 327 communicates with this newer high speed lan. and it's important because all the vital stuff is on the high speed lan and only ancillary modules or modules that do not need the higher bandwith remain on the older style class 2. the pcm or ecu is tied into both networks and so is the body computer. but the anti lock brakes and traction control module, the electronic suspension control module(if so equipped), transmission controller, and important controllers of the like use the high speed lan.

              Comment


              • #8
                Depending on the make of car but scantool.net has some good tools and and you can buy extended diagnostic add on. only GM, Ford and mazda it looks like SNO

                Comment


                • #9
                  I was playing around with ScanXL Pro last night, and it looks like it only supports a handful of car models (mostly US manufactures).

                  Click image for larger version

Name:	odb1.jpg
Views:	1
Size:	160.1 KB
ID:	2288045

                  The problem is hunting down the raw elm327 codes for each car model, and it looks like manufactures outside US are not willing to share.

                  Comment


                  • #10
                    I also just stumbled upon http://openxcplatform.com/ has anybody had any experience using with it?
                    From their specs there is alot of info you can tap into...

                    OpenXC Data Set
                    This is the list of signals officially supported by the Android library. All vehicles do not necessarily support all of these signals - there are plans to be able to check for the existence of a signal before using it. For information on which data is supported on your vehicle, see the supported vehicles page.

                    The OpenXC message format is officially documented and versioned in a separate repository - this page as an unofficial mirror.

                    steering_wheel_angle
                    -600 to +600 degrees
                    Frequency: max 10Hz

                    torque_at_transmission
                    -500 to 1500 Nm
                    Frequency: max 10Hz

                    engine_speed
                    0 to 16382 RPM
                    Frequency: max 10Hz

                    vehicle_speed
                    0 to 655 km/h (this will be positive even if going in reverse as it's not a velocity, although you can use the gear status to figure out direction)
                    Frequency: max 10Hz

                    accelerator_pedal_position
                    0 to 100%
                    Frequency: max 10Hz

                    parking_brake_status
                    Boolean (true == brake engaged)
                    Frequency: 1Hz and immediately on change

                    brake_pedal_status
                    Boolean (True == pedal pressed)
                    Frequency: 1Hz and immediately on change

                    transmission_gear_position
                    States: first, second, third, fourth, fifth, sixth, seventh, eighth, reverse, neutral
                    Frequency: 1Hz and immediately on change

                    odometer
                    0 to 16777214.000 km, with about .2m resolution
                    Frequency: max 10Hz

                    ignition_status
                    States: off, accessory, run, start
                    Frequency: 1Hz and immediately on change

                    fuel_level
                    0 - 100%
                    Frequency: max 2Hz

                    fuel_consumed_since_restart
                    0 - 4294967295.0 L (this goes to 0 every time the vehicle restarts, like a trip meter)
                    Frequency: max 10Hz

                    door_status
                    Value is State: driver, passenger, rear_left, rear_right. Event is Boolean: true == ajar
                    Frequency: 1Hz and immediately on change

                    headlamp_status
                    Boolean, true is on
                    Frequency: 1Hz and immediately on change

                    high_beam_status
                    Boolean, true is on
                    Frequency: 1Hz and immediately on change

                    windshield_wiper_status
                    Boolean, true is on
                    Frequency: 1Hz and immediately on change

                    latitude
                    -89.0 to 89.0 degrees with standard GPS accuracy
                    Frequency: max 1Hz

                    longitude
                    -179.0 to 179.0 degrees with standard GPS accuracy
                    Frequency: max 1Hz

                    button_event
                    Value is State: left, right, up, down, ok.
                    Event is State: idle, pressed, released, held_short, held_long, stuck
                    (The buttons this message refer to are highly dependent on the specific vehicle, but if it's supported, try the steering wheel buttons.)
                    Frequency: Sent only if value changes

                    Comment


                    • #11
                      I really do not have any linux experience, but do you find it is more stable in the car? I have been running win8 with cf and freeice in the car for approx 18 months now and i find the thing that causes the most instability and crashes is usually windows itself. The thing that has not yet pushed me over to try linux is mainly finding device drivers for my usbs like usb mouse, touch screen and dabmonkey board.

                      your thoughts?

                      Comment


                      • #12
                        Originally posted by mos33y View Post
                        I really do not have any linux experience, but do you find it is more stable in the car? I have been running win8 with cf and freeice in the car for approx 18 months now and i find the thing that causes the most instability and crashes is usually windows itself. The thing that has not yet pushed me over to try linux is mainly finding device drivers for my usbs like usb mouse, touch screen and dabmonkey board.

                        your thoughts?
                        unless you are using some special devices, most devices work on linux. ie. usb mouse, touch, dab+, odb, or at least support some of the models.
                        you can try a VM of linux and see if your hardware works with a default kernel. if a device is not working you will need to recompile the kernel.

                        if you're looking for an out-of-the-box solution, forget about it. there is currently bodhi linux, and other distro which offer tablet support but none of them meet my standards.

                        obviously you need to spend some time configuring to the way you want but its great. you get all the tools to work with window managers, docks, hotkeys, mouse gestures,virtual desktops,..etc, and if your good enough it is possible to have a front-end like android.

                        then why not just install a cheap android tablet? Because you can't expand on a tablet, you are actually shrinking it. the cameras become unusable (if installed in dash) for one.

                        for me, coming from CF about 7 years ago, linux changed my mindset from "install os and install a front-end on top of it", to "make the os as a front-end"
                        you get so much more control over your carpc, possibility becomes endless.
                        CF was good back then but the UI is now out-dated for touch. no thumb scroll for one.
                        with linux you can do system wide thumb scroll, onscreen keyboard..etc

                        will post beta pics soon, delayed as i'm writing my stackable playlist manager as seen in CF in HTML5.
                        Last edited by trippah; 11-30-2013, 06:55 AM. Reason: addition

                        Comment


                        • #13
                          I really like what you've done on this one. I am looking to build a Car PC but I also insist on using all Free Software(free as in speech). I have been browsing the forums here and have noticed that most people are just running windows with a program on top to manage the different functions you'd want in a car pc. For this application a GNU/Linux(or even FreeBSD) system just makes more sense.

                          I think that your Openbox setup looks great but I also thought of using E17 for the interface. What limitations have you hit in your inteface setup that you wish would work a little different or a little better? Also, are you using an FM/AM/HD Radio tuner at all? Do you have any kind of internet connection running?

                          Comment


                          • #14
                            Originally posted by ThinkGNU View Post
                            I really like what you've done on this one. I am looking to build a Car PC but I also insist on using all Free Software(free as in speech). I have been browsing the forums here and have noticed that most people are just running windows with a program on top to manage the different functions you'd want in a car pc. For this application a GNU/Linux(or even FreeBSD) system just makes more sense.

                            I think that your Openbox setup looks great but I also thought of using E17 for the interface. What limitations have you hit in your inteface setup that you wish would work a little different or a little better? Also, are you using an FM/AM/HD Radio tuner at all? Do you have any kind of internet connection running?
                            There is still plenty to do, ticking them off one by one, but I'm glad you like it so far, thanks.

                            I tried E17, (Also compiz, gtk) and it was really unstable on my netbook (my initial deployment) so I decided to keep this a minimal profile and add a rich profile using E or another rich composite window manager when I upgrade my hardware. It's kinda hard to get used to the E binary config system, really annoying. Also i think there are like only a handful of active developers for E, so release cycles and bug fixes are slow, if any.

                            The greatness of HTML5 is that there are existing libraries like JQuery so you can do composite with minimal effort. The downside is, since it is running in a browser as a WWW user (it has no display), it takes a bit of tweaking to allow sharing of X with the local desktop user..etc I think it would be handy to have a gtk-python wrapper at this point. In laymen terms, the browser can't talk directly to the GUI, so python would step up.

                            thumb scrolling is a bit of a hack, as it doesn't recognise the scroll gesture until you let go off the screen. (ie. the page scrolls down AFTER you swipe your finger up). it should recognise immediately and scroll with the finger. but how do i differentiate between a thumb scroll and text select... hmm I think ill add this in the window manager layer.

                            There will be a radio tuner in the DTV box I'll be purchasing. I'm keeping the radio encoding on the hardware to minimize load on the pc.
                            I'll also be attaching a 3G dongle for internet, but data rates are expensive in AU I'll have to look into bandwidth management and offline capabilities.

                            hmm This thing is becoming like android by the day....
                            Last edited by trippah; 12-02-2013, 12:04 AM.

                            Comment


                            • #15
                              I got my 8" touch display today, here is a quick unboxing...
                              will do some final touch screen testing before installing it...

                              Click image for larger version

Name:	DSC_0190[1].jpg
Views:	1
Size:	86.7 KB
ID:	2288087

                              Click image for larger version

Name:	DSC_0192[1].jpg
Views:	1
Size:	113.7 KB
ID:	2288088

                              Click image for larger version

Name:	DSC_0193[1].jpg
Views:	1
Size:	168.2 KB
ID:	2288089

                              Click image for larger version

Name:	DSC_0194[1].jpg
Views:	1
Size:	134.9 KB
ID:	2288090

                              Comment

                              Working...
                              X