LUCAS (Luxury universal car assistant software)

Algemeen, Vloeistoffen (geen olie), Software, ECU, Verbruik enz
Gebruikersavatar
Solaire
5th Gear member
5th Gear member
Berichten: 693
Lid geworden op: do 17 jul 2014, 18:14
9
Model: V40new
Bouwjaar: 2012
Roepnaam: Peter
Locatie: Breda

LUCAS (Luxury universal car assistant software)

Bericht door Solaire »

Nu ik mijn stage heb afgerond en weer naar school ga (en parttime werk) heb ik ineens af en toe een middag vrij. En dan kom je op de gekste ideeën, zo ook vandaag.

Het idee is om een Raspberry Pi mini computer te gaan plaatsen in mijn auto. Deze wil ik vervolgens aansluiten op de ODB poort waardoor ik dus met de Raspberry een hoop data kan opvragen. Deze data wil ik vervolgens verwerken, loggen en inzichtelijk maken. Ik weet niet precies wat de mogelijkheden zijn met ODB, ik weet dat het mogelijk is om informatie als snelheid en toerental uit te lezen, ik weet alleen niet of het mogelijk is elementen zoals verlichting en ECC aan te sturen. In principe zou dat moeten kunnen op CANBUS niveau, maar dat zal een hoop uitzoekwerk worden. :think

Wat sowieso wel mogelijk is en ik van plan ben om te gaan bouwen:

[*]De mogelijkheid om snelheid / toerental / versnelling / etc. op te vragen
[*]De mogelijkheid om foutcodes op te vragen
[*]Een website-interface om bovenstaande gegevens inzichtelijk te maken (via mobiele telefoon / laptop)
[*]De Raspberry een WiFi module geven die verbinding maakt met WiFi netwerken waardoor het mogelijk wordt om bovenstaande informatie op te vragen zonder een netwerkkabel over het garagepad te trekken (plug-in network in plaats van de plug-in hybrid) :whistle

In principe hetzelfde als wat je kunt met een gewone ODB tool, maar dan zelf gemaakt zodat er veel meer mogelijkheden beschikbaar komen.

Wat dan dus mogelijk wordt (in een vakantie :shhh ):

[*]Het opslaan van snelheid gegevens met een bepaald interval (bijvoorbeeld 5 seconden)
[*]Het synchroniseren van deze gegevens met een centrale databank als de auto verbinding heeft met WiFi (hierdoor verschuift de te maken website-interface van de Raspberry deels naar een externe server die altijd bereikbaar is :dance )
[*]Iets verzinnen voor het power management van de Raspberry zodat hij niet continue aan hoeft te zijn
[*]Tijdens synchronisatie, controle op foutcodes en een melding tonen als er foutcodes zijn
[*]GPS toevoegen en informatie hieruit koppelen aan snelheidsgegevens
[*]Een mobiel netwerk toevoegen die continue snelheid gegevens synchroniseert met een centrale databank waardoor deze op afstand live in te zien zijn (heeft meer nadeel dan voordeel voor nu, misschien toevoegen als anti-theft optie ofzo :think )

Al met al lijkt het me wel een leuk projectje. De Raspberry heb ik nog liggen, die ga ik binnenkort maar eens installeren en configureren met een ODB lezer.
Laatst gewijzigd door Solaire op wo 15 apr 2015, 17:44, 2 keer totaal gewijzigd.
maikelv
5th Gear 1000rpm member
5th Gear 1000rpm member
Berichten: 1076
Lid geworden op: di 11 mar 2014, 19:58
10
Model: V40
Type: T4
Bouwjaar: 1997
Roepnaam: Maikel
Locatie: Sint Oedenrode

Re: Solaire's webdagboek (S40 2.0 2004)

Bericht door maikelv »

Mooie plannen. Als je zelf kunt programmeren is er zeker een hoop mogelijk met obd :tumbup
Webdagboek : http://volvo40forum.nl/forum/viewtopic.php?f=14&t=11902

Auto van de maand Augustus 2015
Gebruikersavatar
Solaire
5th Gear member
5th Gear member
Berichten: 693
Lid geworden op: do 17 jul 2014, 18:14
9
Model: V40new
Bouwjaar: 2012
Roepnaam: Peter
Locatie: Breda

Re: Solaire's webdagboek (S40 2.0 2004)

Bericht door Solaire »

Mooi om te horen, dan moet het wel goed komen. Heb nog geen ODB reader in mijn bezit, als ik die heb zal ik eens gaan kijken. :dance

Ik gok dat het gewoon een blok data is waarbij bepaalde bits wel of niet zijn ingesteld om een functionaliteit te activeren/deactiveren. Maar aangezien het Volvo specifieke dingen zijn is er geen documentatie voor en wordt het dus reverse engineering. Met C of Python is het dan vrij eenvoudig om met een seriële poort data te versturen en te ontvangen van de ODB interface. Voorkeur heeft Python op dit moment omdat je hier ook eenvoudig een REST service mee opzet waardoor je de data kunt benaderen vanaf een telefoon/laptop, wat uiteindelijk de bedoeling wordt.

Sorry, minder technisch kan ik het niet maken (A)

Als er interesse is zal ik mijn voortgang hier bijhouden.
maikelv
5th Gear 1000rpm member
5th Gear 1000rpm member
Berichten: 1076
Lid geworden op: di 11 mar 2014, 19:58
10
Model: V40
Type: T4
Bouwjaar: 1997
Roepnaam: Maikel
Locatie: Sint Oedenrode

Re: Solaire's webdagboek (S40 2.0 2004)

Bericht door maikelv »

Uiteraard interesse, altijd leuk om te volgen zulke dingen :tumbup
Webdagboek : http://volvo40forum.nl/forum/viewtopic.php?f=14&t=11902

Auto van de maand Augustus 2015
Gebruikersavatar
MarcO
Beheerder
Beheerder
Berichten: 10690
Lid geworden op: vr 05 jun 2009, 23:45
14
Model: V60
Type: D5
Bouwjaar: 2013
Roepnaam: Marco
Locatie: Eanske

Re: Solaire's webdagboek (S40 2.0 2004)

Bericht door MarcO »

Vooral doorgaan. :-D
Gebruikersavatar
R.O.B
Veteraan
Veteraan
Berichten: 9658
Lid geworden op: vr 05 jun 2009, 18:58
14
Model: V50
Type: 2.0
Bouwjaar: 2011
Roepnaam: Rob
Locatie: Veldhoven
Contacteer:

Re: Solaire's webdagboek (S40 2.0 2004)

Bericht door R.O.B »

Interessant :tumbup
Gebruikersavatar
Solaire
5th Gear member
5th Gear member
Berichten: 693
Lid geworden op: do 17 jul 2014, 18:14
9
Model: V40new
Bouwjaar: 2012
Roepnaam: Peter
Locatie: Breda

Re: Solaire's webdagboek (S40 2.0 2004)

Bericht door Solaire »

Mooi dat jullie het interessant vinden, dan zal ik mijn voortgang hier bijhouden. :tumbup

Inmiddels is het allemaal wat concreter, namelijk het volgende:
  • - Deze ODB scanner is onderweg
  • - De Raspberry in de auto gaat controleren of de motor gestart is. Als de motor gestart wordt maakt hij een route aan. Deze route krijgt een opvolgende naam (route 1, route 2, etc.) die eventueel later aan te passen is. Een x aantal keer per seconde gaat hij vervolgens data opslaan en koppelen aan deze route. Ik weet nog niet precies hoe vaak, ik denk dat 1 of 2 keer per seconde een goed aantal is. Met data opslaan bedoel ik dan de volgende dingen:
  • Coordinaten (GPS)
  • Snelheid (GPS)
  • Hoogte (GPS)
  • Richting (GPS)
  • Hoe accuraat de GPS is
  • Coolant temperature
  • Speed (die de auto weergeeft)
  • RPM
  • Fuel level
  • Engine load
  • Intake temperature
  • Engine runtime
  • Air flow rate
  • Fuel pressure
  • Intake manifold pressure
  • Throttle position
  • Relative throttle position
  • Fuel rail pressure
  • Fuel input

    Deze data wordt lokaal op de Raspberry opgeslagen. Als de motor niet draait gaat de Raspberry controleren of er verbinding is met het internet (via WiFi bij mij thuis). Als er internet is maakt hij verbinding met een server en stuurt alle data die hij heeft opgeslagen over. Als dat lukt gooit hij zijn data lokaal weg.

    - Op een server komt dus een interface te draaien die het mogelijk maakt om routes (inclusief bovenstaande data) te ontvangen. Deze data wordt opgeslagen en zal in principe nooit worden verwijderd. Deze data wordt gekoppeld aan een login en een auto om eventuele uitbreiding in de toekomst mogelijk te maken. Ook komt er een interface te draaien die het mogelijk maakt om een route te selecteren vanuit een web-interface. Deze web-interface geeft vervolgens met een aantal grafieken en andere dingen de data weer die is opgeslagen. Denk hierbij aan de route die wordt uitgestippeld op Google Maps waarbij je in de map kunt klikken en te zien krijgt welke snelheid je op dat punt reed, etc. Natuurlijk ontbreken statistieken zoals gemiddelde snelheid, afgelegen afstand en de tijd die is stilgestaan niet.

    - Het wordt mogelijk om via de web interface live de data van de auto in te zien. Uiteraard werkt dat alleen als de auto is verbonden met het internet. Deze interface biedt dezelfde informatie als het dashboard, met natuurlijk een aantal dingen meer.
Zoals altijd zit het meeste werk in de web-interface. Ik ben al aardig gevorderd met het ontwerpen van het dashboard, ik hoop van het weekend de history optie te kunnen ontwerpen. Dan gaat er dus Google maps in die de route tekent met alle data die daarbij hoort. Fictief voor nu, maar wel al gekoppeld aan de server zodat het eenvoudig later over is te zetten.

De dashboard interface is hier live te bewonderen. Dat ziet er dus zo uit:

Afbeelding
Gebruikersavatar
MarcO
Beheerder
Beheerder
Berichten: 10690
Lid geworden op: vr 05 jun 2009, 23:45
14
Model: V60
Type: D5
Bouwjaar: 2013
Roepnaam: Marco
Locatie: Eanske

Re: Solaire's webdagboek (S40 2.0 2004)

Bericht door MarcO »

Misschien handig om voor je project een ander topic aan te maken.
Maar voor zo ver ik lees lijkt het erg op wat Torque doet.
Daar kun je ook data verzamelen met Google maps
Gebruikersavatar
Solaire
5th Gear member
5th Gear member
Berichten: 693
Lid geworden op: do 17 jul 2014, 18:14
9
Model: V40new
Bouwjaar: 2012
Roepnaam: Peter
Locatie: Breda

Re: Solaire's webdagboek (S40 2.0 2004)

Bericht door Solaire »

Ik kende Torque niet, maar het lijkt er inderdaad wel veel op. Al slaat Torque volgens mij alleen GPS data op en dus niet de OBD data waardoor het niet zo uitgebreid is en biedt het minder informatie aan. Plus het maakt gebruik van een telefoon terwijl ik liever iets heb wat in de auto zelf zit en geen omkijken naar heb. Plus natuurlijk de mogelijkheid om bijvoorbeeld mijn dashcam eraan te koppelen. Dan heb je én data én beeld. :dance

Als een moderator deze posts wilt afsplitsen naar een nieuw topic :tumbup
Gebruikersavatar
Solaire
5th Gear member
5th Gear member
Berichten: 693
Lid geworden op: do 17 jul 2014, 18:14
9
Model: V40new
Bouwjaar: 2012
Roepnaam: Peter
Locatie: Breda

Re: Raspberry Pi mini computer OBD

Bericht door Solaire »

Het project begint steeds meer vorm te krijgen. :dance

Gisteren ook op het idee gekomen om automatisch de tankbeurten te loggen en het verbruik en de afgelegde kilometers uit te rekenen (ik ga het aantal liters dat nog in de tank zit uitlezen, dus als er dan bijkomt weet ik dat er getankt is en is de rest een simpele rekensom). De interface begint ook aardig wat te worden, voor nu is het nog onzin data, de daadwerkelijke data is de volgende stap (behalve mijn auto, die is wel echt :P ).

Screenshots vanaf desktop & telefoon:

Desktop:
Afbeelding
Afbeelding
Afbeelding
Afbeelding

Telefoon:
Afbeelding
Afbeelding
Afbeelding
Afbeelding

Over de brandstof tabel ben ik nog niet helemaal tevreden. Even kijken wat ik daar nog mee doe, moeten toch nog grafiekjes bij dus misschien gooi ik het hele design op die pagina wel op de schop. :think
Gebruikersavatar
RikJ
1st Gear member
1st Gear member
Berichten: 112
Lid geworden op: ma 01 aug 2011, 20:43
12
Model: V50
Bouwjaar: 2008
Locatie: Eindhoven

Re: Raspberry Pi mini computer OBD

Bericht door RikJ »

Nou dat begint zeker al vorm te krijgen! Echt super gaaf, dit blijf ik volgen. Ga zo door!

[ Geplaatst met iPhone ] Afbeelding
LagerbergM
5th Gear member
5th Gear member
Berichten: 750
Lid geworden op: wo 25 sep 2013, 10:02
10
Model: V40
Type: 1.9D 115pk
Bouwjaar: 2003
Locatie: Aalsmeer

Re: Raspberry Pi mini computer OBD

Bericht door LagerbergM »

Mega tof!! :dance

Kan ik tegen de tijd dat het werk bij je in de "leer"? (A)
Gebruikersavatar
Solaire
5th Gear member
5th Gear member
Berichten: 693
Lid geworden op: do 17 jul 2014, 18:14
9
Model: V40new
Bouwjaar: 2012
Roepnaam: Peter
Locatie: Breda

Re: Raspberry Pi mini computer OBD

Bericht door Solaire »

:tumbup
In de leer voor wat? :P
LagerbergM
5th Gear member
5th Gear member
Berichten: 750
Lid geworden op: wo 25 sep 2013, 10:02
10
Model: V40
Type: 1.9D 115pk
Bouwjaar: 2003
Locatie: Aalsmeer

Re: Raspberry Pi mini computer OBD

Bericht door LagerbergM »

Hoe ik dit in mijn V werkend kan krijgen :tumbup
Gebruikersavatar
Solaire
5th Gear member
5th Gear member
Berichten: 693
Lid geworden op: do 17 jul 2014, 18:14
9
Model: V40new
Bouwjaar: 2012
Roepnaam: Peter
Locatie: Breda

Re: Raspberry Pi mini computer OBD

Bericht door Solaire »

Ik ben van plan om als ik de hardware binnen heb (ik hoop vandaag een groot gedeelte binnen te krijgen :tumbup ) een lijstje te maken met de hardware elementen die je nodig hebt. Kosten daarvan zijn in ieder geval niet zo heel hoog, volgens mij zit ik rond de 70 euro. Ik hou dit topic in ieder geval up to date voor zowel hardware als software.
maikelv
5th Gear 1000rpm member
5th Gear 1000rpm member
Berichten: 1076
Lid geworden op: di 11 mar 2014, 19:58
10
Model: V40
Type: T4
Bouwjaar: 1997
Roepnaam: Maikel
Locatie: Sint Oedenrode

Re: Raspberry Pi mini computer OBD

Bericht door maikelv »

Tof :tumbup Blijf dit hier ook zeker volgen :dance
Webdagboek : http://volvo40forum.nl/forum/viewtopic.php?f=14&t=11902

Auto van de maand Augustus 2015
Arjan
Supporting Member
Supporting Member
Berichten: 937
Lid geworden op: di 13 nov 2012, 15:14
11
Model: V70
Bouwjaar: 2004
Roepnaam: Arjan
Locatie: Seinäjoki Finland

Re: Raspberry Pi mini computer OBD

Bericht door Arjan »

Ik ben hier ook zeker in geïnteresseerd. Zit je ook te denken over een oplossing voor mensen die niet dicht genoeg bij hun WiFi netwerk kunnen parkeren?
Afbeelding
-=[Voorsteltopic]=----------=[Webdagboek T4]=----------=[Webdagboek 1.8]=-
Gebruikersavatar
Solaire
5th Gear member
5th Gear member
Berichten: 693
Lid geworden op: do 17 jul 2014, 18:14
9
Model: V40new
Bouwjaar: 2012
Roepnaam: Peter
Locatie: Breda

Re: Raspberry Pi mini computer OBD

Bericht door Solaire »

Op dit moment niet echt. Wel heb je natuurlijk tegenwoordig met bijvoorbeeld UPC / Ziggo / KPN hotspots vrijwel overal in de bebouwde kom een WiFi netwerk. Daar kun je natuurlijk ook gewoon gebruik van maken (mits je klant bent van één van deze bedrijven).

Als er écht geen WiFi beschikbaar is dan kan er altijd nog een 3G of 4G modem aan, dat maakt voor de software in principe niks uit. Het zal alleen gaan synchroniseren als de auto stilstaat en er voldoende mobiel bereik is in plaats van WiFi bereik. Het enige verschil is dat de dashboard functionaliteit niet meer zal werken omdat er geen live data opgehaald kan worden uit de auto. Maar ook daar valt in principe wel omheen te werken.

Op zich zeker een goede vraag. :think
JvdZ
Idle
Idle
Berichten: 71
Lid geworden op: za 29 nov 2014, 20:17
9
Model: V40
Type: 1.8
Bouwjaar: 2001
Locatie: Alphen a/d Rijn

Re: Raspberry Pi mini computer OBD

Bericht door JvdZ »

Erg interessant project, ik blijf het volgen!

Over het bepalen van het actueel verbruik, dit kan toch direct uit de obd data? Ik heb een bluetooth obd module en deze geeft op de telefoon het actueel verbruik en het gemiddeld verbruik weer van de rit. Wel alleen als de obd app aan staat natuurlijk.
Deze is (denk ik) gecalculeerd op de actuele brandstof inspuiting (volume) en de actuele snelheid, beide zijn bekend in de computer van de Volvo. Gemiddeld verbruik is dan een cijfer uit het volume ingespoten brandstof vs. een afgelegde afstand. Is het voor jouw systeem ook niet makkelijker om deze twee gegevens uit te lezen en hier het verbruik uit te bepalen? Aantal liters in de tank doet er dan niet meer toe.
Gebruikersavatar
Solaire
5th Gear member
5th Gear member
Berichten: 693
Lid geworden op: do 17 jul 2014, 18:14
9
Model: V40new
Bouwjaar: 2012
Roepnaam: Peter
Locatie: Breda

Re: Raspberry Pi mini computer OBD

Bericht door Solaire »

Zeker, het is ook mijn bedoeling om het direct uit de obd data te halen. Daarmee kun je prima het brandstofverbruik per route uitrekenen en dat is ook wat ik ga doen. Maar dat is voor de route.

Wat ik bedoel met de brandstof optie is dat ik ga kijken wanneer de brandstof in de tank is toegenomen. Als dat het geval is (een kleine marge van 2 a 3% meegerekend), is er dus getankt aan een pomp. Aangezien ik dan ook alweer GPS data aan het loggen ben kan ik dus zien waar er getankt is. Of ik dan de gereden kilometers en het procentuele verschil van de brandstof uit ga rekenen of ik een opsomming pak van de gereden routes sinds de laatste tankbeurt weet ik nog niet, dan is een opsomming inderdaad het eenvoudigst.

Wat ik bedoel is, kort samengevat, de auto heeft 47% fuel aan het eind van route 12. Aan het begin van route 13 heeft de auto 100% fuel, er is dus getankt. Op het moment dat de raspberry zijn data verstuurd naar de server en de server de statistieken uitrekent zie ik die toename. Vervolgens maak ik een tankbeurt aan in het systeem. Daar komt het verbruik in te staan, het aantal liters dat is getankt, het aantal kilometers dat is gereden op die tank en de naam / locatie van het tankstation. Ook de prijs per liter benzine of diesel van dat tankstation op dat moment is dan op te halen en wil ik daaraan toevoegen, inclusief natuurlijk het aantal liters dat getankt is keer de liter prijs. Het wordt dus eigenlijk een brandstofverbruik logboek, maar dan per tankbeurt. Rechtsreeks te declareren bij de werkgever of in te boeken in de persoonlijke administratie.

Verstuurd vanaf mijn Nexus 5 met Tapatalk
Plaats reactie