Forum: Mikrocontroller und Digitale Elektronik Autoradioprojekt mit eigener Oberfläche


von Michele96 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Communitiy,

ich habe vor mein eigenes Autoradio mit folgenden Funktionen zu 
programmieren.

- Daten via OBD2 Schnittstelle aus zu lesen und an die richtigen Stellen 
einsetzen
- die Funktionen der Button sollten selbst erklärend sein :)

der Miniplayer soll nur eine art Widget sein, der richtige Player 
befindet sich im Mediacenter..

durch den Button "Klappe" soll ein Relai angesteuert werden.


Mein Gedanke war ein Raspberry Pi 3 b mit GPS,  einer passenden 
Soundkarte und obd2 Auslesegerät..
Jedoch scheitert das Projekt wahrscheinlich schon am realisieren der 
Grafik im Anhang..


Könntet ihr mir weiter helfen, wie ich mein/dieses Projekt programmieren 
kann? (möchte gern mein Design, wie auf dem Bild nutzen)


Ja, die Betriebserlaubnis des Fahrzeuges wird dadurch erlöschen.
Ein Tablet oder ein Androidradio möchte ich nicht verbauen :)

über hilfreiche Antworten würde ich mich freuen :)

: Verschoben durch User
von Drahtloser Autologe (Gast)


Lesenswert?

Michele96 schrieb:
> ich habe vor mein eigenes Autoradio
:

Der Aspekt Radio ist durch blosses so Beschriften einer Schaltfläche 
wohl ganz untergegangen... oder abgedeckt.

> über hilfreiche Antworten würde ich mich freuen :)
Würdest wirklich? Ausser es ist hier im uC Forum?
Vielleicht aber doch, jedoch wohl nicht lange...  :-(

von Dr. Sommer (Gast)


Lesenswert?

Michele96 schrieb:
> Mein Gedanke war ein Raspberry Pi 3 b mit GPS,  einer passenden
> Soundkarte und obd2 Auslesegerät..

Warum nicht einfach ein CAN Modul? Oder gleich einen SBC mit 
CAN-Funktionalität nutzen? Es gibt auch Mikrocontroller mit genug 
Leistung für Grafik-Displays und CAN-Schnittstelle, z.B. STM32F7. Ist 
dann halt mehr Programmieraufwand.

von Drahtloser Autologe (Gast)


Lesenswert?

> Warum nicht einfach ein CAN Modul? Oder gleich einen SBC mit
> CAN-Funktionalität nutzen? Es gibt auch Mikrocontroller mit genug
> Leistung für Grafik-Displays und CAN-Schnittstelle, z.B. STM32F7. Ist
> dann halt mehr Programmieraufwand.

v.A. f. den Radio Teil - oder ist der nur da um die Betreffzeile zu 
schmücken?

von Michele96 (Gast)


Lesenswert?

unter den einzelnen Menüreitern sollen natürlich die aufgeschrieben 
funktionen mit neuem Fenster geöffnet werden.


Drahtloser Autologe schrieb:
> Warum nicht einfach ein CAN Modul? Oder gleich einen SBC mit
> CAN-Funktionalität nutzen? Es gibt auch Mikrocontroller mit genug
> Leistung für Grafik-Displays und CAN-Schnittstelle, z.B. STM32F7. Ist
> dann halt mehr Programmieraufwand.
>
> v.A. f. den Radio Teil - oder ist der nur da um die Betreffzeile zu
> schmücken?

Kann man hiermit auch eigene Grafiken zu Button Verwenden?
und wie bekomm ich von dem Chip ein Soundsignal an das Audiodignal des 
KFZ? (mind. 50W)

Welche Programmiersprachen kann man hierfür verwenden? (C++?)


Drahtloser Autologe schrieb:
> Warum nicht einfach ein CAN Modul? Oder gleich einen SBC mit
> CAN-Funktionalität nutzen? Es gibt auch Mikrocontroller mit genug
> Leistung für Grafik-Displays und CAN-Schnittstelle, z.B. STM32F7. Ist
> dann halt mehr Programmieraufwand.
>
> v.A. f. den Radio Teil - oder ist der nur da um die Betreffzeile zu
> schmücken?

Naja, der Begriff "Autoradio" ist ja viel seitig.. Hoffe allerdings, das 
ich das Thema verständlich erklären konnte.. :)

von Alex G. (dragongamer)


Lesenswert?

So einfach ist das nicht...
Was für Vorerfahrungen hast du so?

Ich würde empfehlen erstmal das nötige zu lernen um die Software mittels 
Python auf dem PC zum laufen zu bringen weil diese Programmeirsproche 
auch auf dem Raspi läuft.
Dafür gibt es Grafiklibrarieries mit denen man das in ein paar Wochen 
von grundauf als Hobby erlernen kann: 
https://wiki.python.org/moin/GuiProgramming
Zumindest sofern du zum programmierer geignet bist. Jeder lernt das in 
anderem Tempo...

von Max D. (max_d)


Lesenswert?

Die einfachste Möglichkeit sowas mit der Funktionalität zu kriegen 
dürfte Kodi (ehemals XBMC) mit einem Theme drauf sein.
Dazu ein Plugin für deine Fahrzeug-Parameter und das Relais.

von Michele96 (Gast)


Lesenswert?

Alex G. schrieb:
> So einfach ist das nicht...
> Was für Vorerfahrungen hast du so?
>
> Ich würde empfehlen erstmal das nötige zu lernen um die Software mittels
> Python auf dem PC zum laufen zu bringen weil diese Programmeirsproche
> auch auf dem Raspi läuft.
> Dafür gibt es Grafiklibrarieries mit denen man das in ein paar Wochen
> von grundauf als Hobby erlernen kann:
> https://wiki.python.org/moin/GuiProgramming
> Zumindest sofern du zum programmierer geignet bist. Jeder lernt das in
> anderem Tempo...

geht das doch mit Python? cool, habe bei Python nie was passendes 
Gefunden bezüglich 'Grafiken' als Button zu benutzen.

Ich habe bis jetzt nur gelernt, wie man mit CoDeSys im Strukturiertem 
Text programmiert. habe allerdings nebenbei in Python und C++ rein 
geschaut.. aber dann würde ich mir Python nochmal genauer anschauen und 
das projekt nach und nach aufbauen..

Gibt es bei Python auch .lib zum auslesen von USB Mediadatein? und 
Radiofunktionen?

Max D. schrieb:
> Die einfachste Möglichkeit sowas mit der Funktionalität zu kriegen
> dürfte Kodi (ehemals XBMC) mit einem Theme drauf sein.
> Dazu ein Plugin für deine Fahrzeug-Parameter und das Relais.

Das war das Fertige Design? das gefällt mir nicht und bringt mir nicht 
das, was ich mir vorstelle :)

von Max D. (max_d)


Lesenswert?

Du kannst natürlich alles selber programmieren, aber bis du z.B. einen 
Mediaplayer programmiert hast bist du ganz schön beschäftigt.
Mit Kodi hast du ein gutes Gerüst (GUI+Player-Funktionen) auf das du zum 
einen dein Theme legen kannst und zum anderen in das du über Plugins 
verschiedene Funktionen einbinden kannst.

Über die Themes kann man eigtl. die komplette UI selber definieren (z.B. 
hier: https://forum.kodi.tv/showthread.php?tid=225688 mit bmw logo).

Ich will dir die Fähigkeit selber sowas zu schreiben nicht absprechen, 
aber es wird garantiert ein großer Brocken Arbeit und am Ende hast du 
etwas das von aussen auch nicht besser aussieht.

Ich würde meine Energie lieber in das grafische Design und das Interface 
zum Auto stecken. Damit bist du nämlich eh erstmal beschäftigt.

von Michele96 (Gast)


Lesenswert?

Max D. schrieb:
> Du kannst natürlich alles selber programmieren, aber bis du z.B.
> einen Mediaplayer programmiert hast bist du ganz schön beschäftigt.
> Mit Kodi hast du ein gutes Gerüst (GUI+Player-Funktionen) auf das du zum
> einen dein Theme legen kannst und zum anderen in das du über Plugins
> verschiedene Funktionen einbinden kannst.
>
> Über die Themes kann man eigtl. die komplette UI selber definieren (z.B.
> hier: https://forum.kodi.tv/showthread.php?tid=225688 mit bmw logo).
>
> Ich will dir die Fähigkeit selber sowas zu schreiben nicht absprechen,
> aber es wird garantiert ein großer Brocken Arbeit und am Ende hast du
> etwas das von aussen auch nicht besser aussieht.
>
> Ich würde meine Energie lieber in das grafische Design und das Interface
> zum Auto stecken. Damit bist du nämlich eh erstmal beschäftigt.

Ich glaub ich verstehe es nicht richtig mit dem Kivy.
Ich habe ja oben ein Bild von meinem Design (Alpha, wird noch ein wenig 
bearbeitet)

Besteht mit Kivy die Möglichkeit, die Funktionen des players zu 
verwenden?

von Dr. Sommer (Gast)


Lesenswert?

Drahtloser Autologe schrieb:
> v.A. f. den Radio Teil - oder ist der nur da um die Betreffzeile zu
> schmücken?
Da gibts doch IC's für, oder? Der STM32 hat Audio-Interfaces (I2S u.a.).

Michele96 schrieb:
> Kann man hiermit auch eigene Grafiken zu Button Verwenden?
Der Controller weiß nichts von "Buttons" oder "Grafiken". Du sendest dem 
Display Pixel für Pixel, was es anzeigen soll. Da kannst du Buttons, 
Bilder, Diagramme, was auch immer darstellen. Es empfiehlt sich die 
Verwendung einer Grafik-Bibliothek, um das zu vereinfachen, z.B. 
STemWin.

Michele96 schrieb:
> und wie bekomm ich von dem Chip ein Soundsignal an das Audiodignal des
> KFZ? (mind. 50W)
Audio-Interface (I2S), Audio-Codec und dann irgendein Verstärker?

Das STM32F7-Discovery Board hat ein Display und einen Audio-Codec mit 
Klinken-Buchsen eingebaut, so als Start.

Michele96 schrieb:
> Welche Programmiersprachen kann man hierfür verwenden? (C++?)
C, C++, Basic, Python, Lua, Assembler, Pascal, ...

Michele96 schrieb:
> geht das doch mit Python? cool, habe bei Python nie was passendes
> Gefunden bezüglich 'Grafiken' als Button zu benutzen.
Python ist eine universelle Programmiersprache, die kann prinzipiell 
alles darstellen. Je nach verwendetem Grafik-System auch beliebige 
Buttons.

Ich finde es jedenfalls niedlich, dass du die "Grafik-Buttons" so als 
Hauptkriterium siehst. Das ist so wie zu sagen "ich möchte ein Auto 
bauen und suche dafür eine Chassis-Fertigungs-Technologie, mit der ich 
die Lenkradfarbe ändern kann".

Michele96 schrieb:
> Ich habe bis jetzt nur gelernt, wie man mit CoDeSys im Strukturiertem
> Text programmiert.
Das ist ja auch kein "programmieren"...

Michele96 schrieb:
> Gibt es bei Python auch .lib zum auslesen von USB Mediadatein? und
> Radiofunktionen?
Python verwendet keine .lib Dateien. Python selber kann wohl kaum USB 
direkt ansprechen, aber wenn ein Betriebssystem wie Linux darunter liegt 
ist es kein Problem Dateien von USB-Sticks zu öffnen.
Die Radiofunktion ist doch ein Hardware-Problem, eine Programmiersprache 
kann wohl kaum Hochfrequenz-Signale empfangen.

Michele96 schrieb:
> Das war das Fertige Design? das gefällt mir nicht
Das Design eines fertigen Systems anzupassen sollte die allereinfachste 
Möglichkeit sein... Du kaufst doch auch kein neues Auto, nur weil dir 
die Lenkradfarbe des alten nicht gefällt.

von Max D. (max_d)


Lesenswert?

Michele96 schrieb:
> Ich glaub ich verstehe es nicht richtig mit dem Kivy.
> Ich habe ja oben ein Bild von meinem Design (Alpha, wird noch ein wenig
> bearbeitet)
>
> Besteht mit Kivy die Möglichkeit, die Funktionen des players zu
> verwenden?

Kodi ist erstmal ein Media-Center.
In dem default-theme ist das ausgelegt um auf einem TV oder dgl benutzt 
zu werden. (XBMC war die Abkürzung für Xbox Media Center)
Der "media-player" teil ist schon fertig.

Du gehst jetzt her und schreibst ein theme dafür mit dem du die 
Menüstruktur und Darstellung der Knöpfe anpasst.

von Michele96 (Gast)


Lesenswert?

Max D. schrieb:
> Michele96 schrieb:
> Ich glaub ich verstehe es nicht richtig mit dem Kivy.
> Ich habe ja oben ein Bild von meinem Design (Alpha, wird noch ein wenig
> bearbeitet)
> Besteht mit Kivy die Möglichkeit, die Funktionen des players zu
> verwenden?
>
> Kodi ist erstmal ein Media-Center.
> In dem default-theme ist das ausgelegt um auf einem TV oder dgl benutzt
> zu werden. (XBMC war die Abkürzung für Xbox Media Center)
> Der "media-player" teil ist schon fertig.
>
> Du gehst jetzt her und schreibst ein theme dafür mit dem du die
> Menüstruktur und Darstellung der Knöpfe anpasst.

also könnte ich das Media-Center so verwenden, wenn ixh auf meinen 
button drücke, das ich dann zu diesem Mediamenü gelange? das wär aufjede 
fall nice :)


möchte mich schonmal für die, bis jetzt reichlichen und hilfreichen 
Antworten bedanken :)
Ich würde dieses Projekt anschließend mit euch Teilen (inkl. 
Beschreibung)

von Max D. (max_d)


Lesenswert?

Ich weiß nicht zu 100% wie jedes Detail von Kodi gelöst ist, aber ich 
würde mir an deiner Stelle einfach mal Kodi auf den Desktop laden und da 
z.B. das bmw theme installieren. Dann kannst kannst du dir anhand der 
Struktur der Dateien einen Überblick verschaffen wie das ganze gelöst 
ist und wo du eingreifen müsstest um deine Lösung umzusetzen.
Für Sachen wie Ladedruck würde ich als Ausgangspunkt vlt. ein 
Wetterdaten Plugin nehmen. Da werden externe Daten geladen und 
visualisiert. Da könntest du ansetzen um deine Daten aus deinem Kfz zu 
holen und ebenfalls anzuzeigen.

von Michele96 (Gast)


Lesenswert?

Max D. schrieb:
> Ich weiß nicht zu 100% wie jedes Detail von Kodi gelöst ist, aber
> ich würde mir an deiner Stelle einfach mal Kodi auf den Desktop laden
> und da z.B. das bmw theme installieren. Dann kannst kannst du dir anhand
> der Struktur der Dateien einen Überblick verschaffen wie das ganze
> gelöst ist und wo du eingreifen müsstest um deine Lösung umzusetzen.
> Für Sachen wie Ladedruck würde ich als Ausgangspunkt vlt. ein
> Wetterdaten Plugin nehmen. Da werden externe Daten geladen und
> visualisiert. Da könntest du ansetzen um deine Daten aus deinem Kfz zu
> holen und ebenfalls anzuzeigen.

Danke sehr :)
Ich probier das mal aus..
Mit den Auslesedaten werde ich ein OBD2 auslesemodul für den Pi 
verwenden (Ladedruck muss evtl. extra abgegriffen werden)

von Michele96 (Gast)


Lesenswert?

Max D. schrieb:
> Ich weiß nicht zu 100% wie jedes Detail von Kodi gelöst ist, aber
> ich
> würde mir an deiner Stelle einfach mal Kodi auf den Desktop laden und da
> z.B. das bmw theme installieren. Dann kannst kannst du dir anhand der
> Struktur der Dateien einen Überblick verschaffen wie das ganze gelöst
> ist und wo du eingreifen müsstest um deine Lösung umzusetzen.
> Für Sachen wie Ladedruck würde ich als Ausgangspunkt vlt. ein
> Wetterdaten Plugin nehmen. Da werden externe Daten geladen und
> visualisiert. Da könntest du ansetzen um deine Daten aus deinem Kfz zu
> holen und ebenfalls anzuzeigen.

Ich habe jetzt mal grob geschaut, wie das mit dem "KODI" aussieht..
Leider habe ich da keinen Ansatz gefunden, wie man da eingreifen kann..
Von der Seite "Python" gibt es evtl. das ein oder andere Tool mit dem 
etwas brauchbares raus kommen könnte, jedoch würde ich dies bezüglich 
gern mit erfahrerenen Leuten auseinander setzen.

Bin Leider einfach zu neu im Gebiet der Programmierung von, für mich, so 
komplexen Systemprogrammierungen.

Wenn jemand die ein oder andere Idee hat, wie man einzelne Komplexe in 
ein schon recht komplexes Projekt mit einzubinden, wär das natürlich 
mega :)

Ich zähle mal ein paar Thematiken auf:

- die Schrift der Button sollen sich beim Betätigen ändern (auf dem Bild 
sind die Button transparent und ich habe das mit einer Ebene geregelt, 
die sic unter dem Button Befindet)
- Navigationssystem (mir würde google-maps reichen o.ä.)
- Bluetooth und W-Lan Verbindung (Bluetooth zur Datenübertragung und zum 
abspielen von Musik und Videos (wenn möglich mit anzeige von den 
Titeln), W-Lan ganz klar für das Internet)
- Der "kleine" Mediaplayer, soll synchron zu dem laufen, der sich im 
Mediacenter befindet.
- Es soll auch im Bereich des Sounds eine Einstellung des Klang geben 
(Bass, Höhen, Tiefen, ..)
- auslesen von Livedaten aus dem Canbus (OBD2 Funktion, nur Livedaten, 
keine Veränderung wie Codieren! oder Fehlerspeicher auslesen, das soll 
noch unabhängig des Radios geschehen)
- nach und nach kommt sicher die ein oder andere Funktion dazu, jedoch 
sollen die Punkte erstmal genügen, ist ja bis hier hin erstmal eine 
Menge Aufwand

Ihr könnt euch gern auch privat melden
Email: MickelMichele@web.de

Wenn das Projekt funktioniert, würde ich es gern mit Beschreibung 
vorstellen :)

von Michele H. (michele_h)


Lesenswert?

hab mich mal registriert..

Das ein oder andere "Problem" in meinen Augen sehe ich wahrscheinlich 
auch zu kritisch oder falsch, man merkt villt. das ich ziemlicher 
Neuling auf dem Gebiet bin und Bitte daher auf Verständnis :)

von S. R. (svenska)


Lesenswert?

An welche Informationen kommst du denn jetzt schon dran?

Ein Vollbild-Fenster mit ein paar Buttons drin ist nicht besonders 
schwer, das kann man sich mit SDL oder einer anderen Bibliothek (Python 
kommt z.B. mit Tkinter) schnell zusammenzimmern.

Aber deine Hauptaufgabe liegt darin, die Daten korrekt auszulesen bzw. 
zu empfangen, passend aufzubereiten (d.h. in die darzustellenden 
Einheiten umzuwandeln) und eventuell bestimmte Aktionen auszulösen.

Und dann hast du da noch lange kein Radio mit Bluetooth-Eingang drin. 
Schon gar keins, was auch dann noch weiterspielt, wenn du einen Button 
gedrückt hast und jetzt das Bild der Rückfahrkamera einblendest. Das ist 
nämlich alles nicht so ganz einfach.

Außerdem verwechselst du "Raspberry Pi" und "komplexe 
Systemprogrammierung". Einen Raspberry Pi programmierst du wie einen 
ganz normalen Linux-PC. Also besorge dir erstmal einen Linux-PC (VMware 
Player oder Virtual PC reicht) und schreibe dir erstmal alles, was ohne 
Auto funktioniert, da drauf. Wenn das funktioniert, teste es auf dem Pi.

Ein erfahrener Entwickler wird für dein Vorhaben vielleicht 3-6 Monate 
brauchen. Vollzeit. Wenn er weiß, was er zu tun hat.

Für dich selbst, rechne mal mit 3-6 Jahren. Danach hast du zwar das Auto 
nicht mehr, dein Radio passt in kein dann aktuelles Auto mehr rein, aber 
du hast viel gelernt. Viel Erfolg.

von Michele96 (Gast)


Lesenswert?

S. R. schrieb:
> An welche Informationen kommst du denn jetzt schon dran?
>...

das mit dem Pi war ja nur ein erster Ansatz, ich würde halt sehr gern 
mehr davon lernen, jedoch ohne hilfe und ohne guten ansatz kommt man 
nicht weit.

möchte nicht unfreundlich wirken, aber "viel erfolg" und kontra meiner 
ideen, ohne verbesserungsvorschläge zu liefern, helfen leider kein stück 
weiter :(

von SM (Gast)


Lesenswert?

Michele96 schrieb:
> Könntet ihr mir weiter helfen, wie ich mein/dieses Projekt programmieren
> kann?

Das geht mit Python und QT :)

von Michele96 (Gast)


Lesenswert?

SM schrieb:
> Michele96 schrieb:
> Könntet ihr mir weiter helfen, wie ich mein/dieses Projekt programmieren
> kann?
>
> Das geht mit Python und QT :)

Dann nehme ich Python..

Wie kann man denn Kodi mit Python zerflücken und auf den quelltext 
zugreifen?

von Alex G. (dragongamer)


Lesenswert?

Wieso willst du Kodi zerpflücken?
Dessen Code findest du hier: https://github.com/xbmc/xbmc
Ist aber ganz gewiss nichts für Programmieranfänger.

Was du tun könntest, ist ein Plugin für Kodi mittles Pyhton zu bauen: 
http://kodi.wiki/view/Python_development

: Bearbeitet durch User
von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Eigentlich wollte ich gerade anmerken, dass die Implementierung eines 
eigenen Navigationssystems schon eine gewaltige Aufgabe ist. Dann habe 
ich aber bemerkt, dass es für Kodi offenbar sogar schon ein Google 
Maps-Addon gibt. Allerdings ist es keine Kleinigkeit, daraus ein 
richtiges Navi zu machen, insbesondere wegen der erforderlichen 
Kartendrehung und fortwährenden Aktualisierung des Aufenthaltsortes., 
ohne dass es zu sehr ruckelt.

http://kodi.wiki/view/Add-on:Maps_Browser

Die o.a. Schätzung von 3-6 Mannmonaten für einen hinreichend erfahrenen 
Entwickler halte ich für das Gesamtpaket des "Autoradios" reichlich 
knapp bemessen. In der Zeit schafft man es vielleicht, die allerersten 
Grundfunktionen zu implementieren bzw. aus bestehenden Projekten 
anzupassen.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Dr. Sommer schrieb:
> Michele96 schrieb:
>> Ich habe bis jetzt nur gelernt, wie man mit CoDeSys im Strukturiertem
>> Text programmiert.
> Das ist ja auch kein "programmieren"...

Strukturierter Text (ST bzw. Siemens SCL) ist doch ein normaler 
Pascal-Dialekt. Damit kann schon durchaus schon sehr ordentliche 
Ablaufsteuerungen usw. programmieren, und das durchaus auch mit 
gehobenen Ansprüchen an die Softwarestruktur.

Allerdings sollte man nicht den Umkehrschluss ziehen, d.h. aus der 
erfolgreichen Implementierung einer trivialen Ablaufsteuerung schließen, 
dass man nun den großen Durchblick in Sachen Softwareentwicklung habe.

von SM (Gast)


Lesenswert?

Michele96 schrieb:
> SM schrieb:
>> Michele96 schrieb:
>> Könntet ihr mir weiter helfen, wie ich mein/dieses Projekt programmieren
>> kann?
>>
>> Das geht mit Python und QT :)
>
> Dann nehme ich Python..
>
> Wie kann man denn Kodi mit Python zerflücken und auf den quelltext
> zugreifen?

Mit open("Dateiname") sowie mit dem Python ast Parser.

von Michele96 (Gast)


Lesenswert?

hab gehofft, das es eine Copy&Past sache, mit kleinigkeiten anzupassen, 
wird :D

scheinbar ist der aufwand zu hoch.. aber falls sich jmd ein paar münzen 
verdienen möchte, kann er gern eine pn schreiben ^^

von Michele96 (Gast)


Lesenswert?

Michele96 schrieb:
> hab gehofft, das es eine Copy&Past sache, mit kleinigkeiten
> anzupassen, wird :D
>
> scheinbar ist der aufwand zu hoch.. aber falls sich jmd ein paar münzen
> verdienen möchte, kann er gern eine pn schreiben ^^

dann bitte an michele_h die pn.

von Ich (Gast)


Lesenswert?

Copy&Paste und Programmieren schließt sich in den meisten Fällen aus.
Zu den Münzen: Selbst bei einem symbolischen Stundenlohn von 2,50€ wirst 
du es kaum bezahlen wollen. Zumindest nicht, wenn es sauber, 
nachvollziehbar und performant umgesetzt sein soll.
Falls Du es dennoch selbst angehen willst:
- Teile das Projekt in sinnvolle Module
- Gliedere die Module nach Wichtigkeit und Abhängigkeiten (Tipp: 
GUI/Design ist eher unwichtig)
- Leg los

Ohne große Programmierpraxis kann es sein, dass Du schnell verzweifelst, 
oder die ersten Module öfters implementieren wirst.

Das soll keine Abschreckung sein, aber für ein erstes Projekt ist das 
schon sehr anspruchsvoll...

von Peter P. (Gast)


Lesenswert?

Eventuell hilft dir das weiter:
http://www.carberry.it

von S. R. (svenska)


Lesenswert?

Michele96 schrieb:
> möchte nicht unfreundlich wirken, aber "viel erfolg" und kontra meiner
> ideen, ohne verbesserungsvorschläge zu liefern, helfen leider kein stück
> weiter :(

Das war nicht abwertend gemeint, sondern als Ansporn.

Stichworte wurden genug genannt. Für deine Wunschoberfläche brauchst du 
eine Programmiersprache und eine Grafikbibliothek.

Als Programmiersprache hast du dich für Python entschieden, das ist 
keine schlechte Wahl für einen normalen PC oder einen Raspberry Pi mit 
Linux (für einen Arduino wäre es eine sehr schlechte Wahl). Dann ist 
dein nächster Schritt, diese Sprache zu lernen.

Als Grafikbibliotheken wurden mindestens SDL, Qt und Tkinter genannt, es 
gibt aber noch weitere. Alle diese kann man mit Python benutzen, und 
keine von denen wäre eine schlechte Entscheidung für deinen 
Anwendungsfall. Also musst du als nächstes diese Bibliotheken lernen.

Das ist der einfache Teil der ganzen Sache. Wenn du den nicht selbst 
machen kannst, wirst du die schwierigen Sachen (Bluetooth, Ladedruck 
auslesen usw.) auch nicht schaffen. Du unterschätzt den Aufwand.

Und was die Münzen angeht... rechne mal kurz nach: 1€ pro Stunde, 8 
Stunden pro Arbeitstag, 20 Arbeitstage pro Monat, 6 Monate insgesamt 
bist du schon bei fast 1000€. Für einen kompetenten Entwickler legst du 
da noch nen Faktor 50 bis 100 drauf, und selbst dann hast du keine 
Garantie, dass es in der Zeit fertig ist.

Ein paar Bitmaps malen kann ich dir übers Wochenende machen, aber damit 
kannst du nichts anfangen und mir nützt es auch nichts. Vor allem würde 
es in die "Radio-Software" nicht reinpassen, denn ich weiß ja nicht, wie 
der Rest des Systems funktioniert. Das müsstest du schon vorher 
entwerfen (wie erfährt die Oberfläche, welches Lied gerade an welcher 
Position spielt, ...)

Du bist dran, es ist dein Projekt.

von Dr. Sommer (Gast)


Lesenswert?

S. R. schrieb:
> Als Programmiersprache hast du dich für Python entschieden, das ist
> keine schlechte Wahl für einen normalen PC oder einen Raspberry Pi mit
> Linux

Python ist unzweifelhaft eine gute Sprache, aber für sehr komplexe 
Projekte bevorzugen viele eine statisch typisierte Sprache wie Java, C# 
oder C++, weil man hier Fehler in verschachtelten Konstrukten schneller 
findet. Irgendwann wird es auch weniger Arbeit, die Typannotationen 
dranzuschreiben, als jede Funktion mit Laufzeit-Typ-Prüfungen 
vollzustopfen und mit Unit-Tests extra dafür zu versehen.
Das angestrebte Projekt ist von der Komplexität her definitiv in diesem 
Bereich...

von S. R. (svenska)


Lesenswert?

Ich schrieb nicht, dass Python die erste Wahl dafür ist. Es ist aber 
zumindest kein Fehler (wo ich z.B. diverse Basic- und Pascal-Dialekte 
einsortieren würde).

Am Ende ist das Projekt sowieso ein Sammelsurium kleinerer Projekte, 
deren Interfaces sauber definiert sein müssen. Anders kann man das 
allein ohnehin nicht stemmen.

von SM (Gast)


Lesenswert?

Dr. Sommer schrieb:
> [Python]
> Irgendwann wird es auch weniger Arbeit, die Typannotationen
> dranzuschreiben, als jede Funktion mit Laufzeit-Typ-Prüfungen
> vollzustopfen und mit Unit-Tests extra dafür zu versehen.

Welche Laufzeit-Typ-Prüfungen? Mit falschen Typen fliegt Dir das Ding 
zur Laufzeit um die Ohren und gut ist. Die Philosophie ist eine andere 
("We are all adul(nospam)ts here"). Du sollst nicht Python zu C++ 
umbauen. Natürlich solltest Du lieber gleich C++ nehmen.

von Dr. Sommer (Gast)


Lesenswert?

SM schrieb:
> Welche Laufzeit-Typ-Prüfungen? Mit falschen Typen fliegt Dir das Ding
> zur Laufzeit um die Ohren und gut ist.
Ja, aber zu spät. Wenn ein Objekt durch verschiedene Funktions-Level und 
Klassen übergeben wird, merkt man ggf. erst ziemlich spät dass es der 
falsche Typ ist. Und dann gibt's fröhliches Suchen, wo jetzt genau das 
falsche Objekt übergeben wurde - deswegen machen manche Leute an den 
Anfang einer jeden Funktion eine Prüfung auf korrekte Typen, damit der 
Fehler halt sofort auftritt und leichter zu finden ist. Da kann man aber 
auch direkt eine statisch typisierte Sprache nehmen.

von Torben (Gast)


Lesenswert?

1. Welche Größe und Auflösung soll das Touchpad haben?
2. Welche NaviApp möchtest Du nutzen?

Ich finde den Raspberry Pi nicht schlecht, aber das Betriebssystem im 
Auto von einer SD Karte zu laden halte ich für keine gute Idee.

Ich würde Dir eher zum UP oder UP² raten, weil das System hat einiges 
mehr an Power, eMMC, SATA M.2 und Du bist relative frei bzgl. 
Betriebssystem Windows oder Linux.

http://www.up-board.org/upsquared/

Das Board unterstützt viele verschiedene Betriebssystem und du sparst 
Dir dank x86 das Cross compilieren.

Bzgl. HMI und Programmiersprache solltest Du eine nehmen welche Du schon 
kennst.

Dein HMI Beispiel lässt sich sehr schnell in C# WPF o. UWP, QT C++ oder 
Java realisieren.

von Thomas G. (Firma: Frickelhauptquartier) (taximan)


Lesenswert?

Die ganzen Chinaböller verwenden soweit ich weiss, Windows CE. Dafür 
müsste man eigentlich genug bekommen.

von SM (Gast)


Lesenswert?

Dr. Sommer schrieb:
> [...]

ja, Zustimmung.


Torben schrieb:
> http://www.up-board.org/upsquared/

Verwendest Du das?

Wie schnell ist die Anbindung zum FPGA? Werden IPs (FPGA) und Treiber 
(CPU) zur Verfügung gestellt? Wo kann man (ernsthafte) Dokus und SW 
herunter laden?

von Torben (Gast)


Lesenswert?

>Verwendest Du das?

Nein, da ich keine I/O Interfaces benötigte für mein Projekt hab ich 
mich zu einem Intel NUC MiniPC entschieden, aber das Feedback der 
Community ist recht positiv.

Forum:
https://www.up-community.org/

Downloads:
https://downloads.up-community.org/

von S. R. (svenska)


Lesenswert?

Torben schrieb:
> Ich finde den Raspberry Pi nicht schlecht, aber das Betriebssystem im
> Auto von einer SD Karte zu laden halte ich für keine gute Idee.

Stimme ich ebenfalls zu. Für die Erstimplementierung reicht das aber 
vollkommen aus, und später kann man das Board ohnehin wechseln. Meine 
Wahrnehmung spricht von einer stinknormalen Linux-Entwicklung und ein 
bisschen Embedded, das ist relativ portabel.

Torben schrieb:
> Das Board unterstützt viele verschiedene Betriebssystem und du sparst
> Dir dank x86 das Cross compilieren.

Auf ein Betriebssystem muss man sich zwingend festlegen, aber ob man da 
nun Windows, Linux oder was drittes nimmt, ist nebensächlich. Tools 
gibt's für alles.

Cross-Compiling spielt keine Rolle. Python-Code wird nicht über Kreuz 
gebaut und der TO kann auf dem Raspberry selbst komfortabel genug 
entwickeln. Wir reden hier nicht von Profi-Niveau.

Torben schrieb:
> Bzgl. HMI und Programmiersprache solltest Du eine nehmen
> welche Du schon kennst.

Ich sehe beim TO keine nennenswerten Vorkenntnisse. Eine Sprache wird er 
so oder so lernen müssen, und Python ist zumindest kein Fehler.

Thomas G. schrieb:
> Die ganzen Chinaböller verwenden soweit ich weiss, Windows CE. Dafür
> müsste man eigentlich genug bekommen.

Windows CE ist doch schon länger tot, nur noch nicht ganz verrottet. Mag 
sein, dass man da bekannte Navi-Software draufkriegt, aber das ist weder 
zukunftssicher, noch kriegt man das in seine eigene Software integriert.

von Max D. (max_d)


Lesenswert?

Die mir bekannten "Chinaböller" sind alle grob gesagt ein Android Tablet 
(oft noch mit altem Android) dessen Audio-Ausgang in einen Class-D Amp 
geht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.