2004 to 2020 Mazda 3 Forum and Mazdaspeed 3 Forums banner
901 - 920 of 6,600 Posts
Google Maps im Infotainment-System (Mazda 3 2015)

Dies ist technisch möglich - Sie können das Navigationssystem anweisen, zu einer bestimmten GPS-Koordinate zu navigieren, indem Sie eine 'navigateTo'-Methode verwenden.
Zusammenfassung

Daran arbeite ich gerade - die Kartenanwendung für Mazda 3.

Details - wie es funktionieren soll

Wenn ich die Zündung einschalte, verbindet sich der Mazda 3 per Bluetooth (Freisprecheinrichtung) mit meinem Telefon und löst ein Ereignis in der Tasker-Anwendung aus (ich habe ein Android-Telefon), das einen 4G-Hotspot auf dem Telefon aktiviert. Das Infotainment-System stellt über Wi-Fi wieder eine Verbindung zu meinem Hotspot her, um auf das Internet zuzugreifen. Ich muss nur meine benutzerdefinierte Anwendung aus der Liste auswählen (siehe angehängter Screenshot). Die JavaScript-Anwendung lädt das Google Maps-Objekt mithilfe der Google Maps JavaScript API. Geplant ist, GPS-Koordinaten auf die gleiche Weise wie die Kompassanwendung im Infotainment-System abzurufen und die aktuelle Position auf dem Bildschirm zu verschieben oder Karten zu verschieben, wobei die aktuelle Position in der Mitte bleibt. Der zweite Screenshot unten zeigt den aktuellen Verkehr, der mit derselben Google Maps JavaScript API abgerufen wird. Er kann auch Routen/Wegbeschreibungen mit derselben API anzeigen. Wahrscheinlich können wir die Text-to-Speech-Funktion wiederverwenden, um die Wegbeschreibungen anzusagen.

Der einfachste Weg zur Navigation ist wahrscheinlich, die häufigsten Orte/Ziele an Ihrem Heimcomputer in Meine Orte zu definieren, wenn Sie ein Google-Konto haben, um die Navigation zu erleichtern. Die rote Schaltfläche unten links ist meine - sie ruft die Liste der Bedienelemente ab, ähnlich der in der Anwendung zur Kraftstoffverbrauchsanzeige ("ecoenergy"). Es sollte auch Google StreetView anzeigen können, da die Version dieses Browsers HTML5 unterstützt, aber ich habe diesen Punkt noch nicht erreicht, daher kann ich dies nicht bestätigen.

Technische Probleme

Es gibt einige Schwierigkeiten, auf die ich gestoßen bin, falls jemand interessiert ist. Zum Beispiel mag dieser Opera-Browser im Infotainment-System keine SSL-Zertifikate - er sagt, einige von ihnen seien abgelaufen, obwohl sie es wirklich nicht sind, wahrscheinlich stimmt etwas mit Datum/Uhrzeit nicht. Diese Serverzertifikate stammen von Google und werden für die HTTPS-Verbindung verwendet. Also musste ich von HTTPS auf HTTP umstellen, wodurch ich mich nicht von Opera in meinem Google-Konto anmelden kann (das Konto ist für die Verwendung von HTTPS konfiguriert). Es gibt eine Option in den Opera-Konfigurationseinstellungen, um SSL-Zertifikatfehler zu ignorieren, die ich aus Sicherheitsgründen noch nicht verwenden möchte ("OCSP Validate Certificates=0" in "\jci\opera\opera_home\opera.ini").

Das nächste Problem ist, dass Opera beim Versuch, den Dialog "Einige Zertifikate sind abgelaufen, OK/Abbrechen/Meine Auswahl merken" anzuzeigen, die Datei "opera\opengles-ui\dialog.html" nicht finden kann, obwohl sie sich genau dort befindet. Wahrscheinlich sollte der absolute Pfad dazu verwendet werden ("\jci\opera\opengles-ui\dialog.html") anstelle des relativen Pfads. Möglicherweise könnte das Kopieren dieser Datei an einen anderen Ort eine Problemumgehung sein.

Und eine der größten Dinge, die wirklich ärgerlich sind - nach ein paar Sekunden schaltet das Infotainment-System wieder auf die Anwendungsliste zurück, egal was passiert, ich bin mir nicht sicher warum. Wahrscheinlich muss ich meine benutzerdefinierte Anwendung, den Kontext und das *.so-Modul in "\jci\mmui\mmui_config.xml" definieren, aber im Moment beschäftige ich mich nur mit JavaScript. Ich muss die Recherche fortsetzen - meine Testanwendung ist jetzt noch lange nicht einsatzbereit. Da ich mit Embedded Linux nicht vertraut bin, macht es Sinn, meine Bemühungen mit jemandem zu bündeln, der fortgeschrittener ist als ich.

Ein weiteres Problem, mit dem ich zu kämpfen habe, ist, dass sich das Infotainment-System nicht immer wieder mit dem Hotspot verbindet, wenn ich zum Auto zurückkehre. Das Debug-Protokoll von "wpa_supplicant" zeigt, dass ein "Timeout aufgetreten" ist, wenn versucht wird, sich wieder mit meinem Access Point zu verbinden.

Die Firmware-Version ist - 31.

VM für die Entwicklung

Eine weitere Sache, die ich derzeit untersuche, ist die virtuelle Maschine für die Entwicklung. Da die Prozessorplattform ARM ist, können wir die VM nicht innerhalb von VMWare oder VirtualBox auf dem PC ausführen. Stattdessen können wir möglicherweise versuchen, den QEMU-Emulator auszuführen, der ARM unterstützt, und dieser QEMU kann überall ausgeführt werden (einschließlich VMWare, VirtualBox oder direkt auf dem PC). QEMU unter Linux ist möglicherweise der richtige Weg, es werden auch Tools und ein Cross-Compiler benötigt.
 

Attachments

RomanB ... So nett!!! Könnten Sie den Code Ihrer App teilen?

Hat jemand Probleme mit dem WLAN? Ich schalte den Hotspot auf meinem Telefon ein und das Auto sieht ihn nicht ... Ich habe es mit meinem Heimrouter versucht und das Auto sieht ihn auch nicht ... ABER ... Das Auto kann meinen Hotspot (Telefon) sehen, wenn ich bei der Arbeit geparkt bin! (äh..!!) Ich habe die Protokolle durchgesehen und nichts gefunden :\

Die Firmware-Version ist 33 (sollte ich ein Downgrade durchführen? lol)
 
Ich werde meine Anwendung auf jeden Fall teilen, aber später. Sobald die App funktioniert, kann es einige Zeit dauern, bis alle Teile zusammengetragen sind und die QA/UAT auf verschiedenen Firmware-Versionen durchgeführt wurde. Ich möchte mich nicht beeilen, da einige fehlende JavaScript-Teile Ihr Infotainment-System in eine Boot-Schleife schicken könnten, und die Wiederherstellung ist nicht jedermanns Sache - es ist eher ein Glücksprozess.
 
Hat jemand Probleme mit dem WLAN? Ich schalte den Hotspot auf meinem Telefon ein und das Auto sieht ihn nicht ... Ich habe es mit meinem Heimrouter versucht und das Auto sieht ihn auch nicht ... ABER ... Das Auto kann meinen Hotspot (Telefon) sehen, wenn ich bei der Arbeit geparkt bin! (äh..!!) Ich habe die Protokolle durchgesehen und nichts gefunden
Bezüglich WLAN-Problemen:

1) Es dauert eine Weile, bis das Auto den Hotspot findet, manchmal findet es ihn sehr schnell, manchmal verschwindet der Name des Zugangspunkts aus der Liste und erscheint dann nach ein paar Sekunden wieder, obwohl der Hotspot direkt hier ist. Der Laptop verbindet sich problemlos mit dem Hotspot.

2) Die Verbindung zum Hotspot durch Drücken der Taste "Verbinden" im Infotainment-System hat bei mir nur einmal funktioniert. Danach dauert die Verbindung lange und endet dann mit einem Timeout, der den Dialog "Netzwerkfehler, versuchen Sie es erneut" anzeigt. Stattdessen deaktiviere und aktiviere ich das kleine Kontrollkästchen in den Einstellungen erneut - dies stoppt und startet den "wpa_supplicant"-Prozess hinter den Kulissen - und das Auto verbindet sich automatisch (aber nicht immer) wieder mit meinem Hotspot.

3) Wenn ich den Motor abstelle, das Auto verlasse und später zurückkehre, sehe ich, dass das Kontrollkästchen "WLAN aktivieren" wieder deaktiviert ist (Kaltstart?), und ich muss von vorne beginnen. Wahrscheinlich kann dies auch über JavaScript umgangen werden - WLAN bei jedem Start aktivieren.

4) Ich probiere verschiedene Optionen aus - Offene Sicherheit (kein Passwort) oder WPA2, versteckter oder sichtbarer Zugangspunkt. Es scheint keinen großen Unterschied zu geben. Ich denke, vielleicht ist die Verwendung eines 3G/4G-Modems, das an einen USB-Anschluss angeschlossen ist, hier zuverlässiger, anstatt WLAN zu verwenden. Ich habe gelesen, dass Treiber für drahtlose Geräte eine Art Herausforderung in Linux darstellen.

Hier ist der Inhalt der Konfigurationsdatei ("wpa_supplicant-wlan0.conf"), die vom Infotainment-System generiert wurde:

Code:
ctrl_interface=/var/run/wpa_supplicant-wlan0
ctrl_interface_group=0
update_config=1

network={
	ssid="[access_point_name_removed]"
	bssid=[mac_address_removed]
	psk="[password_removed]"
	proto=RSN
	key_mgmt=WPA-PSK
	group=CCMP TKIP
	auth_alg=OPEN
}
Interfaces-Datei:

Code:
auto lo
iface lo inet loopback

iface eth0 inet dhcp
	udhcpc_opts -t 10

iface usb0 inet dhcp
	udhcpc_opts -t 10

iface wlan0 inet dhcp
	udhcpc_opts -t 10
Der ursprüngliche wpa_supplicant-Prozess wird mit den folgenden Parametern ausgeführt:

Code:
wpa_supplicant -c /data/nms/wpa_supplicant-wlan0.conf -i wlan0 -D nl80211 -ddtKB
 
Es gibt eine Option in den Opera-Konfigurationseinstellungen, um SSL-Zertifikatsfehler zu ignorieren, die ich noch nicht verwenden möchte ("OCSP Validate Certificates=0" in "\jci\opera\opera_home\opera.ini") aus Sicherheitsgründen.
Während Sie entwickeln, würde ich sagen, dass die Wahrscheinlichkeit eines MITM-Angriffs ziemlich gering ist. :) (Die Bereitstellung auf Millionen von Geräten weltweit wäre ein anderes Szenario.)

Das nächste Problem ist - wenn Opera versucht, den Dialog "Einige Zertifikate sind abgelaufen, OK/Abbrechen/Meine Wahl merken" anzuzeigen, kann es die Datei "opera\opengles-ui\dialog.html" nicht finden, obwohl sie genau dort ist.
Wenn die Zertifikate abgelaufen sind, bedeutet dies, dass Opera seine Stammzertifikate aktualisieren muss. Das Hochladen neuerer Zertifikatsdateien könnte dies beheben.

Eine weitere Sache, die ich derzeit untersuche, ist die virtuelle Maschine für die Entwicklung. Da die Prozessorplattform ARM ist, können wir die VM nicht in VMWare oder VirtualBox auf dem PC ausführen. Stattdessen können wir möglicherweise versuchen, den QEMU-Emulator auszuführen, der ARM unterstützt, und dieser QEMU kann überall ausgeführt werden (einschließlich VMWare, VirtualBox oder direkt auf dem PC). QEMU unter Linux ist möglicherweise der Weg, um es zu versuchen, es werden auch Tools und ein Cross-Compiler benötigt.
Ja, das brauchen wir. :)

Ich liebe es, die Fortschritte zu hören.
 
R.I.P Ente

Mit großer Trauer muss ich diesen Beitrag schreiben.

Mein Sohn Andrew, in diesem Forum besser bekannt als die "Ente", ist am Montag um 22:00 Uhr plötzlich verstorben.

Wir sprachen regelmäßig über die Fortschritte, die ihr gemacht habt, und seine Begeisterung für eure Mission war überwältigend. Oft genug hatte ich das blaue Ethernet-Kabel von meinem Familienzimmer zu seinem in der Garage geparkten Auto verlegt, um einen neuen Download oder Patch auszuprobieren.
Ich weiß, dass er es vermissen wird, aber meine einzige Hoffnung ist, dass er vielleicht im Himmel endlich den RSA-Schlüssel reverse engineeren kann... :wink2:

Möge Gott immer einen Platz in deinem Herzen haben,

Andrews Vater, Gary
 
Es ist mit großer Trauer, dass ich diesen Beitrag schreiben muss.

Mein Sohn Andrew, in diesem Forum besser bekannt als die "Duck", ist am Montag um 22:00 Uhr plötzlich verstorben.

Wir sprachen regelmäßig über die Fortschritte, die ihr machtet, und seine Begeisterung für eure Mission war überwältigend. Oftmals hatte ich das blaue Ethernet-Kabel von meinem Familienzimmer zu seinem in der Garage geparkten Auto verlegt, um einen neuen Download oder Patch auszuprobieren.
Ich weiß, dass er es vermissen wird, aber meine einzige Hoffnung ist, dass er vielleicht im Himmel endlich den RSA-Schlüssel reverse engineeren kann... :wink2:

Mein Gott, möge er immer einen Platz in eurem Herzen haben,

Andrews Vater, Gary
Oh wow, es tut mir so leid, das zu hören - Danke für das Posten.

Ich habe ein wenig mit Duck zusammengearbeitet, um die Wikipedia-Seite start [Mazda3Hacks] einzurichten.

Ich glaube, er war derjenige, der die ganze Sache kontrollierte, und er hat sehr geholfen, als die Bots anfingen anzugreifen.

Er war ein Freund von mir auf Steam, er hat einen großen Beitrag zu unseren Bemühungen geleistet.

Es tut mir sehr leid zu hören, dass er verstorben ist - ich bin sicher, dass ihn jeder, der an diesem Projekt teilgenommen hat, sehr vermissen wird.

Danke, dass Sie uns informiert haben - nochmals, er wird sehr vermisst werden und wir alle sind sehr traurig über Ihren Verlust. :crying2: :frown2:

_______

Als Randbemerkung - ich bin mir nicht sicher, ob er für den Server bezahlt hat, auf dem die Wiki-Seite unter start [Mazda3Hacks] läuft,

oder ob sie unbegrenzt online bleiben wird... trotzdem - wir müssen möglicherweise Vorkehrungen treffen, um die Wiki-Seite zu verlegen und alles dafür zu sichern.

Ruhe in Frieden @Duck
 
Awwww, Ente. :(

Ich kannte ihn nur von diesem Forum, aber er war sehr freundlich und hilfsbereit. Seine Anwesenheit wird hier vermisst werden. :crying2:
 
Vielen Dank, dass Sie sich die Zeit genommen haben, uns über Ihren Sohn "Duck" zu informieren. Wir wünschen Ihnen Frieden, während Sie um diesen Verlust trauern.
 
Okay, nun, bietet der Router DHCP an? Wenn ja, erhält das Auto eine IP-Adresse vom Router und verwendet diese. Ihr PC (oder was auch immer Sie verwenden) erhält auf diese Weise ebenfalls eine IP-Adresse. Sie können ein Port-Scanning-Tool wie nmap ausführen, um die IP-Adresse zu ermitteln, die der Router dem Auto zugewiesen hat.

Ich habe zwei USB-Ethernet-Kabel ausprobiert... eines, ein altes, billiges, funktionierte, und ein teureres, das mit meinem Tablet geliefert wurde, funktionierte nicht.
 
Ich werde an dem Projekt teilnehmen und bei der Entwicklung helfen. Ich habe ein paar Ideen, die ich umsetzen möchte, und wir werden sehen, ob es funktioniert. Ich bin ziemlich gut in Javascript und habe einen guten Entwicklungshintergrund, also hoffentlich ist es nicht allzu schmerzhaft. Hoffen wir, dass der Emulator nicht schrecklich ist.
 
@White
Ich habe auch die EU-Version und keine automatische Türverriegelung bei eingeschalteter Zündung.
Ich habe einige Änderungen vorgenommen, um diese Funktion in der GUI zu aktivieren, und konnte das Menü sehen und diese Option auswählen. Aber als ich diese Option auswählte, brachte es nichts. Es hat sich selbst wieder auf "Aus" zurückgesetzt. Ich glaube also, dass es eine weitere Überprüfung in einer der Bibliotheken gibt, die die Befehle von der GUI verarbeitet. Ich habe etwas gefunden, indem ich dies hier disassembliert habe: /jci/mmui/uia/libjciuiavehsettings.so, aber ich habe nicht herausgefunden, wie die Einstellungen geladen werden und woher.
Hallo :)

In der EU-Version haben wir keine Optionen für "Coming Home". In den Einstellungen gibt es keine Optionen für "Scheinwerferverzögerung"

Schande Mazda! Warum nicht in der EU?

Kann es irgendwie codiert/programmiert werden? Ich habe meinen Mazda-Service gefragt und sie sagten, dass sie das nicht können...

Vielleicht ist diese Funktion in der FW für die EU "gesperrt"...und wir können diese Funktion irgendwie freischalten, so wie Sie es für die Türverriegelung getan haben?
Gibt es Neuigkeiten zu diesen beiden Funktionen?
 
Hallo zusammen,

Neu hier, aber interessiert daran, zu helfen. Gibt es laufende Projekte oder Initiativen, zu denen ich beitragen kann? Ich habe gerade einen Mazda3 von 2015 gekauft und arbeite Vollzeit als Entwickler. Ich habe angefangen, eine OpenCar-Anwendung zu programmieren, und nachdem mein USB-zu-Ethernet-Adapter per Post eintrifft, möchte ich wirklich anfangen, herumzuspielen.

Beste Grüße,
Danny B
 
901 - 920 of 6,600 Posts