Hallo Freunde,
zunächst einmal RIESEN Respekt an die erfinder dieses wunderbaren betriebssystems! (und natürlich auch für den Skin von jack)
Ich möchte meinen PI 2B nicht in einem Auto nutzen aber ein CarPC kommt meiner nutzung doch sehr sehr nahe.
Zur erklärung wir bauen für Vatertag etc. einen Bollerwagen, mit einer Hifi Anlage darin. Gesteuert über ein RaspberryPi 2 und dem CarPC image.
lch würde nur gerne neben der reinen musik steuerung noch weitere dinge mit dem Pi steuern können. (hierzu kommen die Relais zum einsatz) Ich denke das interessiert andere Nutzer hier evtl. auch daher frage ich direkt hier nach.
Mir Schwebt folgendes vor:
Ein eigener Menüpunkt welcher beim "anklicken" ein untermenü öffnet und dort dann eine einfache Liste (wie in den Optionen z.b.) erscheint in der ich einzelne Punkte (hier z.b. Licht, Subwoofer etc.) ein und ausschalten kann. ich hoffe das ist verständlich genug.
Wie das ganze funktioniet habe ich verstanden. Die einzelnen "schalter" steuern jeweils einen GPIO an. Dieser gibt ein HIGH oder low signal an das Relais welches dann die Stromzuuhr schließt oder öffnet. Alles eigentlich nicht soo schwer... die Programierung der schalter würde ich also hin bekommen....
Leider ist dies mein erster kontakt mit dem Raspberry (oder linux generell). Programmieren kann ich eigentlich. Jedoch habe ich mich nie mit XML beschäftigt. Daher habe ich keine ahnung wie ich einen eigenes Menü erstelle...
Kann mir hier jemand vll einen guten Tipp geben wie ich das bewerkstelligen kann?
Ganz ohne dich mit xml zu beschäftigen wirst du nicht auskommen. Das ist aber nicht sehr schwierig. Ich kann dir dabei gerne behilflich sein. Einfach PN an mich, wenn du Hilfe brauchst.
Prinzipiell würde ich das im Skin über einen Dialog lösen, der die benötigten Buttons enthält. Über diese Buttons rufst du die Scripte auf, die dann die Relais schalten. Kannst dir ja im Skin mal die Custom_DialogShutdown_1998.xml anschauen. Da sind auch nur Buttons drin, die u.a. Scripte aufrufen. Der Code mag etwas verwirrend aussehen, da ist aber auch einiges drin, was du in deinem Fall nicht brauchst. Um den Dialog (das "Menü") aufzurufen kann dann noch ein Magic Button konfiguriert werden. Das ist dann der einfachste Part.
Also, wie gesagt, melde dich wenn's irgendwo hakt!
Hi Jack (und natürlich auch alle Anderen die hier mit Infos helfen können),
hier würde ich gerne einhaken, da ich ebenfalls einige GPIOS ansteuern bzw. einlesen will.
Allerdings habe ich die internen Strukturen und Zusammenhänge von CarPc noch nicht so ganz durchschaut.
Ich sehe bein startup , dass sich ein GPIO Controller meldet. Welch Aufgabe hat der? Kann ich den für meine Zwecke nutzen? Wenn ja, wie?
Gerne würde ich auch deinem Vorschlag an klebeband22 folgen und mir die Custom_DialogShutdown_1998.xml anschauen. Wo aber ist "Skin", in dem er nachschauen soll?
Gibt es eine Möglichkeit Kodi und Navit zu stoppen ohne auch den Pi herunter zu fahren?
Gunter
Es kommt halt drauf an, was du über die GPIOs steuern bzw. auslesen willst. Für Drehencoder und Taster hat Andrei schon etwas in den Controller eingebaut. Schau mal
hier, das sollte dich schon mal in die richtige Richtung lenken.
Wenn du wie der Threadersteller hier ein Relais oder ähnliches ansteuern möchtest, kommst du um ein Skript oder Addon nicht herum. Da musst du dich entweder nach etwas vorhandenem umschauen (und hoffen dass es mit diesem Projekt läuft) oder eben selber etwas schreiben. Python-Kenntnisse sind dabei sehr von Vorteil.
Mit "Skin" ist der Pfad zum Skin gemeint, also: /home/pi/.kodi/addons/Ordner-des-verwendeten-skins.
Jack, danke für deine Antwort.
Damit komme ich schon ein Stück weiter. Allerdings finde ich in /home/pi/.kodi/addons/ nur einen, für mich als solchen erkennbaren, skin-ordner:"skin.carpc-xtouch". Darin finde ich allerdings kein "Custom_DialogShutdown_1998.xml ", aber dafür den Orner scripts mit einigen python scripts.
Wenn ich das richtig verstehe, so werden diese scripts aufgerufen, wenn ich in der "/opt/carpc/config/io_config" darauf referenziere.
Wenn ich jetzt also den Schalter am Rückwärtsgang via GPIO Pin abfrage, kann ich über ein passendes python script das entsprechende Addon "RPI-Camera Dashcam" aktivieren.
Natürlich jage ich nicht die 12Volt KFZ-Spannung am Schalter direkt auf den GPIO Pin sondern habe einen Opto-Koppler dazwischen.
Ist das so richtig, oder habe ich da etwas völlig falsch verstanden?
Danke für deine Geduld
Gunter
Du musst in dem Skinordner noch in den Ordner 16x9 reingehen. Darin liegen die ganzen xml-Files.
Was das Ansteuern der GPIOs angeht, so muss ich mich da raushalten. Ich habe damit (und allgemein mit Elektronik) zu wenig Erfahrung, als dass ich dazu eine qualifizierte Aussage machen könnte. Ich gebe dir nur einen Rat: bevor du irgendetwas anschließt, informiere dich vorher eingehend. Kriegt der Pi über die GPIOs zuviel Spannung ab, kannst du ihn in die Tonne kloppen. Habe so selber schon mal einen unabsichtlich gegrillt. Das ist nicht ganz ohne.
Hi Jack, danke für deine prompte Antwort.
Die Risiken beim Umgang mit den GPIOs des Pi sind mir klar. Ich komme aus der Elektronik und habe sehr viel Erfahrung mit dem Pi im Mess- und Regelbereich.
Meine Frage zielte viel mehr auf mein, hoffentlich richtiges, Verständnis von dem Zusammenspiel von GPIO und den CarPc Eigenheiten, also hier das Zusammenwirken von Python Aufrufen und den Einträgen in der io_config.
Ich werd's testen und berichten. Eventuell hilft mein Lösungsansatz bzw. die Umsetzung auch anderen mit ähnlichen Ideen.
Schönen Abend noch
Gunter
Soweit ich weiß werden ein paar Dinge über den CarPC-Controller geregelt (FM-Modul, Encoder). Da hast du nur bedingt Zugriff drauf. Aber du kannst die GPIOs auch direkt über Python ansprechen. Das geht dann wohl über die
wiringpi-Library.
So ich melde mich hier auch mal zu Wort auch wenn der letzte Beitrag schon mehr als ein Jahr her ist. Ich saß jetzt auch davor und habe die XML-Datei vom Shutdown kopiert und dann editiert. Nachdem ich da fertig war, hab ich mir den 16x9 Ordner nochmal genau angeschaut und die Datei "Custom_DialogRelais_1999.xml" gefunden, was ja im endefekt genau dafür gemacht ist. Diese ist zwar nur für 4 Relais geschrieben, kann man aber anpassen. Wichtig dazu wäre auch zusagen, das die Datei "custom_relaycontrolsettings_1899.xml" ebenfals angepasst werden muss, um mehr Buttons zu erhalten. Dann nur noch aus dem scripts-Ordner die Dateien "example_relay_off.py" und "example_relay_on.py" kopieren und editieren und schon klappt alles. Ihr habt da was richtig gutes gebastelt. Jetzt muss ich mir nur noch passende Buttons für mein Lichtprojekt suchen (schwarz sieht man sehr schlecht :-) )
Mal schauen wie es weiter geht. Im ersten versuch klacken die Relais auf jeden fall.
In dem neuen Skin von Jack ist die Relaissteuerung schon vorgesehen, schau dir das doch mal an.