LUCAS (Luxury universal car assistant software)

Algemeen, Vloeistoffen (geen olie), Software, ECU, Verbruik enz
Gebruikersavatar
broadbeanprop
Idle
Idle
Berichten: 68
Lid geworden op: di 09 jul 2013, 15:51
10
Model: XC90

Re: Raspberry Pi mini computer OBD

Bericht door broadbeanprop »

Mooi dat dat probleem is opgelost :tumbup

Je kunt hem volgens mij ook goed gebruiken voor het afsluiten hoor, je kunt hem instellen dat hij na 20 minuten dat hij van de stroom af is pas afsluit (de batterij is daar dus blijkbaar groot genoeg voor), wat mij voldoende tijd lijkt om een synchronisatie te doen.
Verder als je wat handig bent met linux kun je ook je synchronisatie script uitvoeren tijdens het afsluiten, dit kun je doen met rc scripts op runlevel 0, wanneer je bijvoorbeeld een scriptje in /etc/rc0.d/S00synchroniseren schrijft, zal hij dit uitvoeren vlak voor hij afsluit. Let op de S00 voor de naam van het script, de S staat voor start, als je hier een K van maakt (kill) zal hij niks doen, of hem juist af proberen te sluiten, en 00 staat voor de volgorde van de scripts, jouw script moet uiteraard eerst uitgevoerd worden voordat hij alle andere services en drivers gaat afsluiten. Hier een introductie in rc scripts, runlevels en services: KLIK!

Bedankt voor de linkjes, dat zijn (op de gps na) leuke kleine adaptertjes. Die WiFi adapter zal ik ook alvast bestellen, voor die Bluetooth en GPS adapters wacht ik nog even op jouw bevindingen :P
Volkswagen Polo 2f Coupe 1991
Volvo 460 GL 2.0i 1993
Volvo V40 1.8 Dynamic 1999
Alfa Romeo 156 Berlina 2.0 JTS 2004
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 »

Oh kijk, dan is dat een superhandig apparaat inderdaad. Of in plaats van een microsd kaart een USB stick gebruiken, die hebben geen last van corruptie bij een power off. :think

Ik ben bekend met Linux en gebruik zelf crontab om taken uit te voeren bij het opstarten en afsluiten (ik ben lui :P ). Runlevels en rc.d scripts komen me ook bekend voor, maar dat lijkt me niet nodig.

De applicatie die ik aan het schrijven ben is namelijk geschreven in Python en bestaat uit drie onderdelen, namelijk client, server en library. In library staan alle database models en zitten classes die in zowel server als client gebruikt worden. Server heeft dan weer een webserver in zich gebouwd en de client een webclient. Beiden hebben een database, de server heeft een MySQL database en de Raspberry een SQLite database. Beide databases hebben dezelfde tabellen (mits deze nodig zijn, de Raspberry heeft bijvoorbeeld geen tabel voor de web-interface gebruikers). De library heeft ook een functionaliteit die je kunt implementeren en waardoor je een eigen proces toegewezen krijgt. Op dit moment is het opvragen van de OBD data een proces en het synchroniseren ook. Bedoeling is dat GPS ook een eigen taak krijgt. Synchronisatie doe ik door middel van HTTPS met JSON naar de REST interface van de server. De client kijkt elke minuut (mits de motor niet draait) of er routes zijn die gesynchroniseerd moeten worden met de server. Als die er zijn gaat hij ze één voor één versturen naar de server, inclusief routedata. De server berekend vervolgens de statistieken (gemiddelde snelheid, afgelegde afstand, brandstofverbruik, etc.). Als hij klaar is met synchroniseren en de motor niet draait kan ik hem dus heel simpel afsluiten, dat is geen probleem. :dance
Gebruikersavatar
broadbeanprop
Idle
Idle
Berichten: 68
Lid geworden op: di 09 jul 2013, 15:51
10
Model: XC90

Re: Raspberry Pi mini computer OBD

Bericht door broadbeanprop »

Klinkt erg goed! alleen wel even netjes een service van maken he :P
Ik moet nog even kijken hoe ik het allemaal ga aanpakken, lijkt me wel een mooi moment om Python te gaan leren, want ik vrees dat ik met PHP en wat losse scriptjes niet ver genoeg zal komen.
Volkswagen Polo 2f Coupe 1991
Volvo 460 GL 2.0i 1993
Volvo V40 1.8 Dynamic 1999
Alfa Romeo 156 Berlina 2.0 JTS 2004
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 »

Die service komt wel een keer (A) . Nee, zonder gekheid, die zal ik inderdaad even maken, scheelt een hoop gemor.

Python leren zou ik trouwens zeker doen, PHP is niet echt meer van deze tijd en Python is heel erg in opkomst. Heb getwijfeld tussen C en Python om dit project te maken maar ben toch voor Python gegaan, omdat ik zelf Python ook nog niet lang niet zo goed ken. Heb de web-interface trouwens met AngularJS gemaakt die met dezelfde REST interface communiceert als de auto. Dan heb je helemaal geen server-sided scripting taal meer nodig. :dance
Gebruikersavatar
broadbeanprop
Idle
Idle
Berichten: 68
Lid geworden op: di 09 jul 2013, 15:51
10
Model: XC90

Re: Raspberry Pi mini computer OBD

Bericht door broadbeanprop »

Heel goed! :tumbup
PHP als taal is misschien minder van deze tijd dan Python vanwege de standaard library, maar aangezien het op 75% van de websites gebruikt wordt, de community eromheen zo groot is, en het een veel modernere taal te maken is bij het gebruik van MVC frameworks is het nogsteeds een hele goede keus hoor!
Daarnaast zit ik op m'n werk vast aan PHP, dus heb ik ook geen keus, maar Python wilde ik altijd al leren en ik denk dat dit projectje een goed moment is om dat te doen.
AngularJS hoor ik ook steeds vaker voorbij komen ja, daar moet ik mij misschien ook maar eens in gaan verdiepen. Al ben ik persoonlijk niet zo'n fan van al die client side scripting dingen, jQuery uitgesloten dan om het mooi te maken, maar niet iedereen hoeft al mijn code te kunnen zien vind ik.
Volkswagen Polo 2f Coupe 1991
Volvo 460 GL 2.0i 1993
Volvo V40 1.8 Dynamic 1999
Alfa Romeo 156 Berlina 2.0 JTS 2004
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 »

Heb ook een tijd met PHP gewerkt (een aantal weken geleden nog) en volgens mij wordt het zelfs nog voor meer dan 75% van de websites gebruikt. Het is op zich een prima taal, al zitten er soms wel dingen in waar je niet vrolijk van wordt. Maar dat is met iedere taal zo. :P PHP in combinatie met bijvoorbeeld Laravel is :tumbup . Maar Python met Flask en SQLAlchemy bevalt heel erg goed moet ik zeggen. SQLAlchemy kun je vergelijken met het Entity framework, mocht je ook een beetje bekend zijn in de .NET wereld.

AngularJS begint ook heel erg snel heel populair te worden. Het wordt ook veel gebruikt voor mobiele apps die op elk platform moeten werken (HTML5 en JavaScript werken tenslotte op alle besturingssystemen). Heb er zelf voor gekozen omdat ik er nog niks van kende en omdat deze applicatie in principe ook op elk platform moet kunnen draaien. Daarbij is JavaScript met veel dingen sneller dan de server, zeker met een applicatie als deze. Je hoeft alleen maar je data aan te leveren, en aangezien AngularJS MVVM afdwingt hou je er ook nog een nette structuur aan over. Ook ondersteunt het dingen als het inladen van pagina's in een viewport en is er een bootstrap plug-in voor AngularJS waarbij je eenvoudig gebruik kunt maken van modals, carousels, etc. Ook WebSQL en andere vormen van local storage is geen probleem. Moet zeggen dat ik het een heel erg mooi systeem vind en na jarenlang trouwe fan te zijn geweest van PHP ik hier eerder voor zou kiezen in de toekomst. Ik zou er niet zo snel een webshop in bouwen, maar voor een wat simpelere applicatie... :tumbup :tumbup

Als je interesse hebt kan ik je wel een PM sturen met de link naar de SVN repository. Daar staan de back-end (Python) en front-end (HTML5 / bootstrap / AngularJS) beiden in.
Gebruikersavatar
broadbeanprop
Idle
Idle
Berichten: 68
Lid geworden op: di 09 jul 2013, 15:51
10
Model: XC90

Re: Raspberry Pi mini computer OBD

Bericht door broadbeanprop »

Iedere taal heeft inderdaad wel zijn plus- en minpunten ja. Laravel heb ik nog nooit mee gewerkt, ik gebruik zelf CakePHP, wat een vrij stijle leercurve heeft maar wel een heel erg goed MVC framework is.
Ik kan wel een beetje C# en ASP.NET, maar dat is te verwaarlozen, ik heb mij daar ook nog nooit voor in frameworks verdiept, ben ik verder ook niet van plan want ik ben de afgelopen jaren wat Microsoft allergisch geworden.
Dat AngularJS klinkt best goed, daar zal ik mij ook eens over buigen, begrijp ik het nou goed dat het vergelijkbaar is met wat je met jQuery kan?
Daar heb ik zeker interesse in, aangezien ik zelf ook Python wil leren zal ik niks copy-pasten, maar misschien kan ik er wat goede ideeën uit opdoen. Zodra ik zelf ook een eindje op weg ben zal ik mijn repo ook wel even delen :tumbup
Volkswagen Polo 2f Coupe 1991
Volvo 460 GL 2.0i 1993
Volvo V40 1.8 Dynamic 1999
Alfa Romeo 156 Berlina 2.0 JTS 2004
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 »

Met CakePHP heb ik dan zelf weer nog nooit mee gewerkt, ken het alleen van naam. :think Moet heel eerlijk zeggen dat ik nog maar zo'n drie jaar programmeer waarvan ik alleen het eerste jaar echt PHP heb gedaan. De laatste jaren ben ik vooral bezig met C#/C(++)/Assembly/Python en wat minder met PHP/Java/SQL en JavaScript. Mijn interesse ligt ook meer aan de technische kant en een Raspberry volgooien met PHP scripts heeft niet direct voorkeur. :P

AngularJS is tot op zekere hoogte wel te vergelijken met jQuery maar het is echt een framework. Je hebt een view, een controller en het compileert de HTML voor je. Zet je ergens in je view een variabele weg dan zal hij tijdens het compileren automatisch die referentie vervangen door de waarde van de variabele en houdt het wijzigingen van die variabele in de gaten. Ook kan het door arrays lopen om bijvoorbeeld een selectie menu te maken met opties.

PM met gegevens is onderweg. :tumbup
Gebruikersavatar
broadbeanprop
Idle
Idle
Berichten: 68
Lid geworden op: di 09 jul 2013, 15:51
10
Model: XC90

Re: Raspberry Pi mini computer OBD

Bericht door broadbeanprop »

Ik heb bijna 5 jaar geleden mijn opleiding applicatieontwikkeling afgerond maar heb pas sinds 1 september een baan als developer, daarvoor ben ik systeembeheerder geweest, dus zo veel programmeer ervaring heb ik helaas ook nog niet.

Ah, AngularJS klinkt inderdaad best goed! Ik begin met Python leren, maar daarna zal ik daar mee beginnen :D

Thanks!
Volkswagen Polo 2f Coupe 1991
Volvo 460 GL 2.0i 1993
Volvo V40 1.8 Dynamic 1999
Alfa Romeo 156 Berlina 2.0 JTS 2004
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 »

Vandaag de GPS binnengekregen. Super tof ding, had binnen 3 seconden een GPS fix terwijl hij op de passagiersstoel lag en de auto geparkeerd stond tussen twee huizen. :dance

Vanmiddag direct de GPS implementatie toegevoegd aan de applicatie en toen ik 's middags weg moest even alles uitgetest. Helaas detecteert het systeem nog steeds niet helemaal goed wanneer de motor start of uitgaat en ik moet nog wat meer GPS data opslaan. Ik sla nu alleen de latitude en longitude op, dingen als accuracy en height gooi ik vooralsnog weg. Maar, dat zijn allemaal kleine dingen, de hoofd functionaliteit werken. :jerry

Ook komen er in de front-end nog grafieken e.d. waarmee je bijvoorbeeld je brandstofgebruik kunt zien tijdens de route (waarbij de x-as de afstand is en op de y-as met een interval van bijvoorbeeld 5 seconden het brandstof verbruik wordt weergegeven). En GPS snelheid mis ik ook nog bij statistieken, lijkt me ook leuk om die op te slaan zodat je het verschil tussen je snelheidsmeter en GPS kunt zien. Genoeg ideeën voor een nieuwe versie in ieder geval. :P

Afbeelding
Afbeelding

Bij from address en to address staan de straatnaam en plaatsnaam van de beginpositie en de eindpositie. Heb ze onleesbaar gemaakt omdat dit een publiek gedeelte is op het forum. :P
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 »

Wel een beetje asociaal om door de berm/plantsoen/gras heen te rijden, niet? :P

Zonder gekheid, mooie toevoeging! :tumbup
Gebruikersavatar
broadbeanprop
Idle
Idle
Berichten: 68
Lid geworden op: di 09 jul 2013, 15:51
10
Model: XC90

Re: Raspberry Pi mini computer OBD

Bericht door broadbeanprop »

Zo! Dat ziet er goed uit! :tumbup
Volkswagen Polo 2f Coupe 1991
Volvo 460 GL 2.0i 1993
Volvo V40 1.8 Dynamic 1999
Alfa Romeo 156 Berlina 2.0 JTS 2004
Gebruikersavatar
rejaatje
40forum team
40forum team
Berichten: 7002
Lid geworden op: vr 03 mei 2013, 10:35
10
Model: C30
Type: 2.0
Bouwjaar: 2011
Roepnaam: Renee
Locatie: Gemert

Re: Raspberry Pi mini computer OBD

Bericht door rejaatje »

Gaaf zeg! :tumbup En fijn dat de GPS ontvangst goed was, ik sta met m'n hardloophorloge altijd een minuut of 10 op een open veldje te wachten :tumbdown
Volvo for life
Jannick
Engine off
Berichten: 3
Lid geworden op: zo 28 dec 2014, 17:32
9
Model: S40
Type: 2.0
Bouwjaar: 1996

Re: Raspberry Pi mini computer OBD

Bericht door Jannick »

Netjes! Ik ben op den duur wel geïnteresseerd in je code, misschien ook eens mijn Pi voor gebruiken of gewoon lekker ordinair mijn laptop op de bijrijderstoel... Ik hou 't even in de gaten! :)
Volvo S40 Sports-line 1996 2.0 16v Afbeelding
Volvo 360 GL 1986 2.0 Afbeelding
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 »

RikJ schreef:Wel een beetje asociaal om door de berm/plantsoen/gras heen te rijden, niet? :P
:jerry
rejaatje schreef:Gaaf zeg! :tumbup En fijn dat de GPS ontvangst goed was, ik sta met m'n hardloophorloge altijd een minuut of 10 op een open veldje te wachten :tumbdown
Ja precies, het was even afwachten. Ben erg tevreden met het resultaat. :dance
Jannick schreef:Netjes! Ik ben op den duur wel geïnteresseerd in je code, misschien ook eens mijn Pi voor gebruiken of gewoon lekker ordinair mijn laptop op de bijrijderstoel... Ik hou 't even in de gaten! :)
Ik zit er nog steeds aan te denken om het in de open source te gooien, dus wie weet!

Verder nog een aantal ideeën uitgewerkt om de komende tijd mee aan de slag te gaan:

[*] Bestuurders toevoegen die gekoppeld zijn aan een auto. Een auto kan meerdere bestuurders hebben en een bestuurder meerdere auto's. Op die manier geef je op de route aan wie hem gereden heeft en kun je het verschil in rijstijl zien.
[*] Kilometerstand bijhouden in het systeem (startwaarde + elke route die er bij komt)
[*] GPS snelheid toevoegen aan statistieken (gemiddelde snelheid)
[*] Notificaties toevoegen met ondersteuning voor o.a. Android en iOS. Op die manier weet je wanneer je auto een route heeft gesynchroniseerd of wanneer er een tankbeurt gedetecteerd is.
[*] Statistieken (totale tijd gereden, totale afstand afgelegd (binnen het systeem), je snelste 0 - 100 km/h tijd, aantal liter benzine, etc.)
[*] Tankbeurten detecteren en invoegen. Aangezien de tankinhoud niet uitgelezen kan worden ga ik het anders aanpakken. Ik ga kijken of een gebruiker bij het begin van een route bij een tankstation is (< 10 meter). Als dat zo is ga ik er vanuit dat hij getankt heeft en maak ik een tankbeurt aan die hij nog moet goedkeuren. Deze optie is uit te zetten voor de mensen die naast een tankstation wonen. :P Tankbeurten zijn ook vrij in te vullen, te bewerken of te verwijderen.
[*] Grafieken toevoegen (afstand, snelheid, brandstofverbruik, etc.)
[*] Weer informatie toevoegen aan de route (temperatuur / windsnelheid en andere data van de begin en eindlocatie).

Ik kan voorlopig weer vooruit. :jerry
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 »

Na de laatste tijd wat minder tijd te hebben gestoken in dit project, afgelopen donderdag de raspberry in de auto meegenomen naar het werk om een leuke route uit te stippelen (zo'n 50 km). Heb de afgelopen dagen aardig wat dingen aangepast, zo wordt de route nu aangegeven met een kleur (groen indien de snelheid hoger is dan de maximale snelheid, rood indien hij lager is) en wordt er nu ook GPS data gelogd (snelheid, hoogte, koers, etc.). Deze data wordt nu ook netjes rechts van de map weergegeven in de interface. Ook zijn notificaties geïmplementeerd, zowel op de web interface als op een mobiele telefoon.

Het gezicht van mijn baas toen ik hem een screenshot stuurde van de route als declaratie is niet te beschrijven.. :jerry

Tijd en datum kloppen overigens niet, was een goede 11 uur later tijdens de ochtendspits. :P

Afbeelding
Afbeelding

Volgende stap is om een logo te maken en een aantal design dingen aan te pakken. Vervolgens verder met de tankbeurten en het aanschaffen van een bluetooth variant van de ELM lezer die ik nu heb. :dance
Laatst gewijzigd door Solaire op vr 13 mar 2015, 21:08, 1 keer totaal gewijzigd.
Gebruikersavatar
René
Beheerder
Beheerder
Berichten: 31971
Lid geworden op: vr 05 jun 2009, 18:18
14
Model: V40new
Type: 1.6
Bouwjaar: 2014
Roepnaam: Bompa
Locatie: Oldenzaal
Contacteer:

Re: Raspberry Pi mini computer OBD

Bericht door René »

Solaire schreef:Het gezicht van mijn baas toen ik hem een screenshot stuurde van de route als declaratie is niet te beschrijven.. :jerry
:worthless :jerry
Afbeelding
Afbeelding V40new 1.6 T3 R-Design 2014 Afbeelding

2014 V40 1.6 R-Design 498 Caspian Blue Met.
2007 V70 2.4 Edition Sport 426 Silver Met.
Gebruikersavatar
broadbeanprop
Idle
Idle
Berichten: 68
Lid geworden op: di 09 jul 2013, 15:51
10
Model: XC90

Re: Raspberry Pi mini computer OBD

Bericht door broadbeanprop »

Hahaha, dat had ik best willen zien! :tumbup
Volkswagen Polo 2f Coupe 1991
Volvo 460 GL 2.0i 1993
Volvo V40 1.8 Dynamic 1999
Alfa Romeo 156 Berlina 2.0 JTS 2004
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 »

En we zijn weer een aantal functionaliteiten verder. :dance

[*] De naam is omgedoopt tot Lucas (Luxury Universal Car Assistant Software).

[*] Op de kaart kunnen nu gebeurtenissen worden weergegeven. Een voorbeeld daarvan is stilstaan. Op de kaart zie je een icoon om aan te duiden waar je stil hebt gestaan (op dit moment is dat een schildpad). Als je op dat icoon klikt krijg je meer informatie (hoe laat en hoe lang). Het idee is om o.a. tankbeurten en flitsers als gebeurtenis weer te geven. Maar dat staat nog niet vast.
Afbeelding

[*] Er kan een grafiek worden gemaakt van de snelheid, het toerental, de koelvloeistof temperatuur en het verbruik.

Koelvloeistof:
Afbeelding

Brandstof (liter / 100 km):
Afbeelding

Ik moest even slikken toen ik zag dat hij op zijn piek ruim 325 liter per 100 km gebruikt als je sportief wegrijdt (1, 2 en 3 tot 5500 RPM).

[*] Stilstaan bij een tankstation wordt nu gedetecteerd als een tank beurt. Ik kan bij een hele hoop informatie van dat tankstation, waaronder of het wel of geen winkel heeft met broodjes of andere dingen. Met die informatie kan ik een gedragspatroon vastleggen van hoe mensen tanken (bij hoeveel kilometer, bij welk tankstation, etc.). Of juist niet tanken bij een tankstation door alleen een broodje elke ochtend te halen, die 'tankbeurten' filter ik er dan simpelweg uit. 100% nauwkeurig wordt dat nooit, maar met 90% ben ik tevreden. Het zou anders ook te eng worden. :P

De prijs per liter (1.55) in de afbeelding is een stomme afrondingsfout van mijzelf, moet 1.554 zijn, de actuele benzine prijs bij het tankstation waar ik vanavond getankt heb. Ook de tijd waarop er getankt is en hoe lang er over gedaan is moet er nog bij, maar voor nu is dit al heel gaaf.
Afbeelding
Gebruikersavatar
broadbeanprop
Idle
Idle
Berichten: 68
Lid geworden op: di 09 jul 2013, 15:51
10
Model: XC90

Re: Raspberry Pi mini computer OBD

Bericht door broadbeanprop »

:jerry :jerry :jerry
Volkswagen Polo 2f Coupe 1991
Volvo 460 GL 2.0i 1993
Volvo V40 1.8 Dynamic 1999
Alfa Romeo 156 Berlina 2.0 JTS 2004
Plaats reactie