"Analog visare" på Raspberry Pi
"Analog visare" på Raspberry Pi
Tänkte göra en dash till min bil (amatörbyggd super seven).
Har just nu en 20x4 LCD med diverse info, 3 st stora 7-segmentare till hastighet (Arduinobaserat) och analog varvräknare och laddtrycksmätare.
Tänkte ersätta allt detta och lite till med en Raspberry Pi och någon lämplig HDMI-skärm.
Tänker mig en snygg, konstant bakgrundsbild med rörliga visare.
Har programmerat lite i olika språk men kommer att behöva lära mig mer.
Vilket programmeringsspråk ska jag satsa på?
Inspiration:
http://freedesignfile.com/upload/2012/0 ... oard-3.jpg
Har just nu en 20x4 LCD med diverse info, 3 st stora 7-segmentare till hastighet (Arduinobaserat) och analog varvräknare och laddtrycksmätare.
Tänkte ersätta allt detta och lite till med en Raspberry Pi och någon lämplig HDMI-skärm.
Tänker mig en snygg, konstant bakgrundsbild med rörliga visare.
Har programmerat lite i olika språk men kommer att behöva lära mig mer.
Vilket programmeringsspråk ska jag satsa på?
Inspiration:
http://freedesignfile.com/upload/2012/0 ... oard-3.jpg
Re: "Analog visare" på Raspberry Pi
Det du känner att du behärskar bäst, så kommer du ingång snabbt. Alla programmeringsspråk jag har använt hittills har kunnat rita på skärmen och beräknar vinklar / ny koordinat för hörn och liknade.
Re: "Analog visare" på Raspberry Pi
Jag behärskar nog Visual Basic bäst, även om det var längesedan jag använde det.
Men vill ju inte att dashboarden ska se ut som Windows 95
Har surfat runt lite och Python /Pygame verkar vara vettigt.
Onödigt att lära sig ett helt nytt språk?
Men vill ju inte att dashboarden ska se ut som Windows 95
Har surfat runt lite och Python /Pygame verkar vara vettigt.
Onödigt att lära sig ett helt nytt språk?
Re: "Analog visare" på Raspberry Pi
Nej, det är inte onödigt att lära sig nya saker.
Hoppas du får till det med skärmen.
Hoppas du får till det med skärmen.
Re: "Analog visare" på Raspberry Pi
Hittade detta som verkar gjort för mig
http://qt-apps.org/content/show.php/Ana ... tent=87780
En Qt-app. Alltså behöver jag Qt.
Men det verkar finnas olika sätt att använda Qt.
Qt via Python med PyQt.
Qt design
Qt creator
Är lite snurrig. Någon som kan reda ut lite?
http://qt-apps.org/content/show.php/Ana ... tent=87780
En Qt-app. Alltså behöver jag Qt.
Men det verkar finnas olika sätt att använda Qt.
Qt via Python med PyQt.
Qt design
Qt creator
Är lite snurrig. Någon som kan reda ut lite?
Re: "Analog visare" på Raspberry Pi
Vad jag vet är Qt ett grafiklib. Här lite om hur börja använda Qt på RPi:
http://qt-project.org/wiki/RaspberryPi_Beginners_guide
Själv hade jag nog kodat mot Qt i C/C++ men det beror nog mest på att jag fortfarande inte orkat lära mig Python.
http://qt-project.org/wiki/RaspberryPi_Beginners_guide
Själv hade jag nog kodat mot Qt i C/C++ men det beror nog mest på att jag fortfarande inte orkat lära mig Python.
Re: "Analog visare" på Raspberry Pi
Tjena!
Va kul att det är fler som bygger digitala dashboards!
Min historia är att jag ville ha alltid digitalt i bilen för att vara lite "unik".
Min BMW har en Volvo 16v motor med dubbelöverladd(kompressor/turbo) och kör med ett styrsystem som heter MaxxECU.
Det första jag gjorde var väl som dig, att plocka in alla signaler i något lättprogrammerat, så det blev en Arduino UNO. Jag la på en CANBus modul och fick in alla signaler kommunikationsmässigt via ett protokoll från tillverkaren. Sedan överförs signalerna till Datorn via USB->COM(seriell).
.NET Applikation:
Först provade jag .Net på en gammal XP laptop. Och är man van vid .net så går det ganska fort att bara visa en "Screen" med värden som uppdaterar sig. Det tog 2 eftermiddagar att få in allting och lira som jag ville. En "frän font" och lite labels som uppdaterade sig så var saken i princip klar.
Fördelar: Otroligt snabb och enkel programmeringstid med en PC miljö.
Nackdelar: Klumpigt i bilen, behöver extra komponenter för högre spänning, svårare att gömma undan, lång uppstartstid.
Bild:
Raspberry PI Python + OPEN GL:
Efter att ha insett klumpigheten och att jag har flera kompisar som kör samma styrsystem i bilen så letade jag efter en lösning utan att behöva en hel dator! Jag provade Open GL hanteringen i Raspberry PI 1 Rev B+. Den klarade att uppdatera rutor snabbt, men är seriekommunikationen på 115200 bps och full OpenGL så började panelen smålagga. Nu kör jag en Raspberry PI 2 som nyligen släppts, den är imponerande i prestandan. Flyter på nått så enormt! Så jag kör på 10% CPU last vid 50hz uppdatering av värdena, istället för den gamla som bottade direkt. Då har jag även 3st "cylindrar" som dynamiskt anpassar sig och ändrar färg. Jag kör ett bibliotek som heter pi3d och är lite förenklad OpenGL i 3d. Jag var helt nybörjade både på Python och OpenGL 3d, men efter några guider och pi3d exempelkod så rullade allt på fint, är ju mycket likt andra OOP-språk. Det flyter faktiskt på enormt bra när turbons impeller snurrar på i olika hastigheter beroende på laddtryck, samma när spjäll vrider sig på lägesgivare.
Raspberry PI 2:
Fördelar: Mycket för pengarna i detta syfte, ganska snabb uppstart.
Nackdelar: Lite långsammare än .net just i att kordinera upp grafiken på x,y,z positionering.
Bilder:
Tips: Köp absolut ingen Raspberry PI 1, den orkar inte hantera serieporten snabbt samtidigt som grafik, 2an med nya chipset kör den som ingenting! Generellt sett så behövs smartare funktioner/klasser för att kunna arbeta effektivt, tipsar om att tänka till lite redan när man gör den första "gaugen" som skall representeras.
MVH Alex
Va kul att det är fler som bygger digitala dashboards!
Min historia är att jag ville ha alltid digitalt i bilen för att vara lite "unik".
Min BMW har en Volvo 16v motor med dubbelöverladd(kompressor/turbo) och kör med ett styrsystem som heter MaxxECU.
Det första jag gjorde var väl som dig, att plocka in alla signaler i något lättprogrammerat, så det blev en Arduino UNO. Jag la på en CANBus modul och fick in alla signaler kommunikationsmässigt via ett protokoll från tillverkaren. Sedan överförs signalerna till Datorn via USB->COM(seriell).
.NET Applikation:
Först provade jag .Net på en gammal XP laptop. Och är man van vid .net så går det ganska fort att bara visa en "Screen" med värden som uppdaterar sig. Det tog 2 eftermiddagar att få in allting och lira som jag ville. En "frän font" och lite labels som uppdaterade sig så var saken i princip klar.
Fördelar: Otroligt snabb och enkel programmeringstid med en PC miljö.
Nackdelar: Klumpigt i bilen, behöver extra komponenter för högre spänning, svårare att gömma undan, lång uppstartstid.
Bild:
Raspberry PI Python + OPEN GL:
Efter att ha insett klumpigheten och att jag har flera kompisar som kör samma styrsystem i bilen så letade jag efter en lösning utan att behöva en hel dator! Jag provade Open GL hanteringen i Raspberry PI 1 Rev B+. Den klarade att uppdatera rutor snabbt, men är seriekommunikationen på 115200 bps och full OpenGL så började panelen smålagga. Nu kör jag en Raspberry PI 2 som nyligen släppts, den är imponerande i prestandan. Flyter på nått så enormt! Så jag kör på 10% CPU last vid 50hz uppdatering av värdena, istället för den gamla som bottade direkt. Då har jag även 3st "cylindrar" som dynamiskt anpassar sig och ändrar färg. Jag kör ett bibliotek som heter pi3d och är lite förenklad OpenGL i 3d. Jag var helt nybörjade både på Python och OpenGL 3d, men efter några guider och pi3d exempelkod så rullade allt på fint, är ju mycket likt andra OOP-språk. Det flyter faktiskt på enormt bra när turbons impeller snurrar på i olika hastigheter beroende på laddtryck, samma när spjäll vrider sig på lägesgivare.
Raspberry PI 2:
Fördelar: Mycket för pengarna i detta syfte, ganska snabb uppstart.
Nackdelar: Lite långsammare än .net just i att kordinera upp grafiken på x,y,z positionering.
Bilder:
Tips: Köp absolut ingen Raspberry PI 1, den orkar inte hantera serieporten snabbt samtidigt som grafik, 2an med nya chipset kör den som ingenting! Generellt sett så behövs smartare funktioner/klasser för att kunna arbeta effektivt, tipsar om att tänka till lite redan när man gör den första "gaugen" som skall representeras.
MVH Alex
Re: "Analog visare" på Raspberry Pi
OT: Varför sätta Volvo-motor i en BMW, för att de bara har sugmotorer eller?
Re: "Analog visare" på Raspberry Pi
WOW! Det där var bland det coolaste jag sett
Känner väl till MaxxECU, mycket kompetent. Körde Megasquirt innan men bytte till original Trionic 5 (har saab-motor) p.g.a. enkelheten med besiktning (avgasvärden) och att man numera man mappa Trionic själv. Det finns många färdiga mjukvaror att ladda in också.
Blir helt klart en Raspberry 2, en kollega körde 1080p och lite annat samtidigt utan tillstymmelse till lagg.
Tänker mig använda Arduinon som datainsamlare och Raspberryn som visare. Kommunikation över serieporten.
Tänker 2D och inte någon superuppdateringsfrekvens.
Känner väl till MaxxECU, mycket kompetent. Körde Megasquirt innan men bytte till original Trionic 5 (har saab-motor) p.g.a. enkelheten med besiktning (avgasvärden) och att man numera man mappa Trionic själv. Det finns många färdiga mjukvaror att ladda in också.
Blir helt klart en Raspberry 2, en kollega körde 1080p och lite annat samtidigt utan tillstymmelse till lagg.
Tänker mig använda Arduinon som datainsamlare och Raspberryn som visare. Kommunikation över serieporten.
Tänker 2D och inte någon superuppdateringsfrekvens.
Re: "Analog visare" på Raspberry Pi
Går det inte plugga in motorstyrningen mot OBD2 läsare? Sen så är det bara tejpa upp en läsplatta på instrumentpanelen och tanka ner en app så är man hemma..
hanzibal: Håller med, så fel som de bara kan bli
hanzibal: Håller med, så fel som de bara kan bli
Re: "Analog visare" på Raspberry Pi
Off topic svar:hanzibal skrev:OT: Varför sätta Volvo-motor i en BMW, för att de bara har sugmotorer eller?
Mina orsaker var
1. Billigare bygge
2. Tillgänglighet på delar
3. Rätt placering och gött med plats i motorutrymmet = Enklare underhåll/Skruvande
4. Bättre vikt fördelning i.o.m placering
5. Och framför allt för att irritera bmw fantaster (huvud orsaken haha)
Det finns färdiga program till Android som t.ex Torque som kör via en BT modul till telefonen, men själva nöjjet är ju att bygga den själv hahagOry skrev:Går det inte plugga in motorstyrningen mot OBD2 läsare? Sen så är det bara tejpa upp en läsplatta på instrumentpanelen och tanka ner en app så är man hemma..
Det är CAN på 2 av pinouten i OBD2 kontakten. Jag provade att programmera det en gång i Java till min Renault Laguna. Funkar fint att få ut värden ur vanliga diagnosuttaget. Kollar man dessutom igenom dokumentationen till Trionic 5.5 som xl15 kör med, så finns det mer godis än OBD2 att läsa ur via CAN som kan va kul att visa. Arduino UNO + CANBus shield funkar fint till ändamålet signalkonvertering om man skall köra med saabs T5/T7 system. Det borde vara det smidigaste sättet att komma i mål!
Alex
Re: "Analog visare" på Raspberry Pi
Även om jag är saab-fantast gillar jag volvo-motor-i-bmw-tänket.
På samma sätt som jag gillar chevy v8 i en saab
Har funderat på Torque. Körde det på min telefon när arduino-hastighetsmätaren inte fungerade. Bara en mätare som hastighet.
Men jag vill få in mer data än vad som finns i obd2-uttaget. Bränslemängd, avgastemperatur m.m.
Plus "indikatorlampor" för helljus, blinkers o.s.v.
Plus att det är kul att bygga själv.
På samma sätt som jag gillar chevy v8 i en saab
Har funderat på Torque. Körde det på min telefon när arduino-hastighetsmätaren inte fungerade. Bara en mätare som hastighet.
Men jag vill få in mer data än vad som finns i obd2-uttaget. Bränslemängd, avgastemperatur m.m.
Plus "indikatorlampor" för helljus, blinkers o.s.v.
Plus att det är kul att bygga själv.
Re: "Analog visare" på Raspberry Pi
Om du vill ha in bränsleblandning från en bredbandslambda sensor, så har de flesta 0-5v utsignaler.xl15 skrev: Har funderat på Torque. Körde det på min telefon när arduino-hastighetsmätaren inte fungerade. Bara en mätare som hastighet.
Men jag vill få in mer data än vad som finns i obd2-uttaget. Bränslemängd, avgastemperatur m.m.
Plus "indikatorlampor" för helljus, blinkers o.s.v.
Plus att det är kul att bygga själv.
För avgastemp som oftast är av typ-K givare, så finns det förstärkare med 0-5v utgång att köpa att använda som konverterare. Då har du 4st analoga ingångar kvar till oljetemp/tryck/bränsletryck/etanolhalt eller vad du nu vill ha på resten
Då kan du få in dessa i exempelvis en Arduino och sedan ta resten från styrsystemet via CANBus.
Länk:http://www.rossonex.com/SAAB/Trionic_5.pdf
På sidan 101-105 under "Monitoring realtime data" ser du vad Trionic 5.5 erbjuder. Det är bra många parametrar! Dock får man notera att Saab Trionic 5.5 kör med en gammal konstig CANBus baudrate 615kbit/s som kanske tyvärr inte alla canbus-kretsar stödjer Provade en gång för längesen detta till C# och det gick fint med en USB/CAN adapter från lawicel.se (antar att det är samma adapter som du mappar din bil med?) .
Annars får du programmera alla inläsningar av signaler själv via I/O!
Re: "Analog visare" på Raspberry Pi
Har Innovative bredbandslambda och MAX31855 som fixar avgastempen.
Vilka 4 analoga ingångar menar du?
Vilka 4 analoga ingångar menar du?
Re: "Analog visare" på Raspberry Pi
Nä tänkte bara om du skulle ha in dem på en Arduino Uno eller dylikt, brukar väl vara totalt 6st.xl15 skrev:
Inläggsrubrik: Re: "Analog visare" på Raspberry Pi
Har Innovative bredbandslambda och MAX31855 som fixar avgastempen.
Vilka 4 analoga ingångar menar du?
Fast MAX31855 kör på SPI-Bus va?
Du får hojta till om du vill "låna lite källkod" till .net C# eller Python.
Kan skicka över något mindre exempel om du vill visa värden och ha något att utgå ifrån.