Tablet im Auto

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      Am Besten gleich nen Rostwarner mit ins Tablet einprogrammieren......................... °°%rolf °°%rolf °°%rolf °°%rolf °°%rolf °°%rolf °°%rolf
      Leute, die mit mir nicht auskommen, müssen eben noch an sich arbeiten !!! $finger $finger $finger



      Im Laufe der Jahre begriff ich, daß es unmöglich ist, allen zu gefallen. Daher entschied ich, einfach Allen auf den Sack zu gehen.
      Und ich liebe es..........
      Ich lese übrigens mit Interesse mit. :thumbsup: erzähl weiter ... auch wenn es ab und an etwas spezieller wird.
      Wenn ich die Menschen gefragt hätte, was sie wollen, hätten sie gesagt, schnellere Pferde. (Henry Ford)
      Das Leben ist zu kurz, um "Hardware sicher zu entfernen"
      orschwerbleede
      Das kannste schon so machen, aber dann isses halt Kacke
      Momentan ärgere ich mich mit der Bluetooth-Kommunikation rum. Gott, ist das kompliziert. Der Bluetooth OBDII-Dongle benimmt sich ein kleines Stück wie ein Modem.

      Kennt das noch wer von früher? Modems? :D Und ich meine nicht die Zeit, wo es das Internet gab, sondern wo es Mailboxen gab? Wo man sein Terminalprogramm aufgemacht hat und so schöne Zeichenfolgen eingegeben hat? ATZ, um das Modem zurückzusetzen, ATDT05111234567 um zu wählen (Tonwahl) oder ATDP für Pulswahl?

      Auf jeden Fall kann ich ein ATZ an den Dongle senden und er antwortet dann mit einem String....wenn es denn funktioniert. Android will mich aber gerade ärgern. Ich schicke ATZ, kontrolliere den Puffer, was macht er? Er schickt folgendes

      AT
      Z

      Ganze 3 popelige Bytes soll er senden und er splittet den Stream.... Der Arme Dongle ist so verwirrt, daß er erst nach 5 Sekunden zaghaft wie folgt antwortet:

      ?

      Er tut mir wirklich leid, denn er hat nicht mal schuld... und ich weiß noch nicht mal wirklich wo der Fehler liegt....
      JAAAA! ICH HABS!

      Programmierempfehlung seitens Google ist für Kommunikationsstreams asynchrone Streams zu nehmen. Das bedeutet, sie laufen in einem eigenen Thread im Hintergrund und behindern den Rest des Systems nicht, gerade bei einer langsamen Übertragung. Das Problem dabei ist nur, daß serielle Bluetoothkommunikation sooo lahm ist, daß der Thread nach dem AT der Meinung war "da kommt scheinbar nix mehr" und hat den Stream abgeschickt. Das Z war für ihn dann wieder was neues.

      Tja, 115200 baud ist einem 1,2GHz-Dualcore-Prozessor einfach zu öde.

      Jetzt hab ich das wieder so gemacht, wie man früher programmiert hat. Serielle Leitung reservieren, blockieren, schreiben, freigeben. Mir doch egal, wieviel Taktzyklen die CPU dann in der Zeit Däumchen drehen muß.

      Und was ist der Lohn der ganzen Sucherei? Ein zartes Hallo seitens des Dongles:

      ELM327 v1.5

      Willkommen kleiner Dongle! :D :D :D

      So, Mitternacht, Schnauze voll jetzt, hab mein Ziel erreicht. Entweder saufe ich mir jetzt noch einen oder gehe gleich in die Heia.......hmmmm......
      tja, diese AT-Codes sind einfach nicht tot zu kriegen. Na nu haste es ja, abhacken und nicht wundern :)
      Da bekommste ja jetzt abgefahrene Infos von der Karre, da kannste ne lustige Blink-Blink Info Seite basteln.
      Bestimmt bekommt da hier wieder "Einer" feuchte Augen. 8o
      Oder was akustisches... "Markus, Maschinenraum meldet: Alle Systeme auf Betriebstemperatur, Höchstleistung steht zur Verfügung" :thumbsup:
      Wenn ich die Menschen gefragt hätte, was sie wollen, hätten sie gesagt, schnellere Pferde. (Henry Ford)
      Das Leben ist zu kurz, um "Hardware sicher zu entfernen"
      orschwerbleede
      Das kannste schon so machen, aber dann isses halt Kacke

      TheSilent schrieb:

      Ich lese übrigens mit Interesse mit. :thumbsup: erzähl weiter ... auch wenn es ab und an etwas spezieller wird.

      Icke ooch...;)

      Coltracer schrieb:

      Kennt das noch wer von früher? Modems? :D Und ich meine nicht die Zeit, wo es das Internet gab, sondern wo es Mailboxen gab? Wo man sein Terminalprogramm aufgemacht hat und so schöne Zeichenfolgen eingegeben hat? ATZ, um das Modem zurückzusetzen, ATDT05111234567 um zu wählen (Tonwahl) oder ATDP für Pulswahl?


      Hör uff, wat habsch da nächtelang vor den bekloppten RAS Servern jesessen, wenn dat mit den Remote-Modem´s nüscht jefunzt hat. Hyperterminal dran und dann de Debug-Logs beobachtet bis de Augen 4eckig waren...:( Du reisst gerade alte Wunden uff... :S
      Beste Grüsse, Frank

      Ich bin nur verantwortlich für das was ich schreibe, nicht für das was Du verstehst! :ideaa

      Einfachheit ist die höchste Form der Raffinesse (Leonardo da Vinci)

      Link zu den Unterhaltskosten Pajero 2.8 TD:
      Ich versteh nur Bahnhof !!!!!!!!!!! $schreck $schreck $schreck
      Leute, die mit mir nicht auskommen, müssen eben noch an sich arbeiten !!! $finger $finger $finger



      Im Laufe der Jahre begriff ich, daß es unmöglich ist, allen zu gefallen. Daher entschied ich, einfach Allen auf den Sack zu gehen.
      Und ich liebe es..........
      Sehr interessante Geschichte das Ganze - da ich nen Nixkönner bin, werde ich mich wenn mein Naviceiver irgendwann mal zu ende geht für nen android-Doppel-Din-Radio entscheiden. Android ist so ein herrlich erweiterbares Betriebssystem, da kann man echt viel mit im Auto anstellen. Die Lösung mit dieser Dockingstation finde ich auch sehr gelungen.
      So. Ich hab den Fehler gefunden und dem Entwickler von Basic4Android gleich mal gehörig ans Bein gepisst. Ich war echt schwer sauer.

      Es gibt 2 Connect-Routinen:

      Connect (MacAddress As String)
      Tries to connect to a device with the given address. The connection is done in the background.
      The Connected event will be raised when the connection is ready (or fails).
      The UUID used for the connection is the default UUID: 00001101-0000-1000-8000-00805F9B34FB.



      Connect2 (MacAddress As String, UUID As String)
      Tries to connect to a device with the given address and UUID. The connection is done in the background.
      The Connected event will be raised when the connection is ready (or fails).


      Das heißt für mich, daß Serial1.Connect(IrgendeineMACAdresse) dasselbe ist wie Serial.Connect2(IrgendeineMACAdresse,"00001101-0000-1000-8000-00805F9B34FB")

      Ist es aber nicht. Wenn ich die UUID selber eintrage, funktioniert es JEDES MAL.

      WAS SOLL SOWAS???? X( :cursing: $unhappy ;boooom
      vielleicht ist Default nicht Default, sondern ne Liste von Defaults. Die dann abgeklappert werden und dein Dongle verärgern.
      Wenn ich die Menschen gefragt hätte, was sie wollen, hätten sie gesagt, schnellere Pferde. (Henry Ford)
      Das Leben ist zu kurz, um "Hardware sicher zu entfernen"
      orschwerbleede
      Das kannste schon so machen, aber dann isses halt Kacke

      TheSilent schrieb:

      vielleicht ist Default nicht Default, sondern ne Liste von Defaults. Die dann abgeklappert werden und dein Dongle verärgern.


      Tja...der Entwickler hat gerade geantwortet und behauptet, beide Zeilen wären identisch implementiert. Und jetzt kommst Du. :D

      The two lines you posted are identical.

      Here is the implementation of Connect:


      Quellcode

      1. public void Connect(final BA ba, String MacAddress) throws IOException {
      2. Connect2(ba, MacAddress, "00001101-0000-1000-8000-00805F9B34FB");
      3. }
      hmm. muss man in deinem Basic die Exception eigentlich zwingend behandeln, oder schmeisst der die irgendwann weg wenn es keinen interessiert?
      Nee, is wohl quatsch, die connect2() schmeisst doch bestimmt auch nen Fehler, und da geht's.

      Tja, schreib dir doch die Funktion nochmal selber, ist ja nicht so spektakulär. Ich wette bei dir funktionierts.


      kommst du an den Source von dieser B4A Bridge ran?
      Wenn ich die Menschen gefragt hätte, was sie wollen, hätten sie gesagt, schnellere Pferde. (Henry Ford)
      Das Leben ist zu kurz, um "Hardware sicher zu entfernen"
      orschwerbleede
      Das kannste schon so machen, aber dann isses halt Kacke

      Pajero_V20 schrieb:

      TheSilent schrieb:

      Ich lese übrigens mit Interesse mit. :thumbsup: erzähl weiter ... auch wenn es ab und an etwas spezieller wird.

      Icke ooch...;)

      bin auch am grübeln wie ich sowas bei mir reinbekomme aber meine PC Kentnisse schlagen dann doch fehl, solange ich es hinkriege das Pad dann einzuschalten und Maps zu Öffnen bin ich Froh! :huh:

      Aber mach mal weiter so villeicht vermarktest du dann das programm mit mir kannste da schon viel Kohle verdienen! :thumbup:
      "Et Kütt wie et Kütt"

      Pajero 2.8l Diesel Verbrauch: ca. 11l

      Pajero V46
      bj. 1996
      mit 2.8er Diesel Rennmaschiene

      tja, bisschen mager, ich dachte ich finde da die connect2() Funktion.

      was dieser erin da gepostet hat ist auch eher c, hmm..
      Wenn ich die Menschen gefragt hätte, was sie wollen, hätten sie gesagt, schnellere Pferde. (Henry Ford)
      Das Leben ist zu kurz, um "Hardware sicher zu entfernen"
      orschwerbleede
      Das kannste schon so machen, aber dann isses halt Kacke

      TheSilent schrieb:

      was dieser erin da gepostet hat ist auch eher c, hmm..


      Nee, das ist Java. Ich vermute, daß sein Basic4Android einfach die Java-Bibliotheken einbindet. Du brauchst fürs compilieren auch das JDK lokal auf dem Rechner und in den Einstellungen die Pfadangaben, um auf den Java Compiler zuzugreifen. Insofern glaube ich, daß die Basic IDE das ganze schlicht und ergreifend in Java übersetzt und dann durch den Java-Compiler jagt.
      Hab ein Bild von einem gefunden, der sein Radio tatsächlich in das Brillenfach gebaut hat. Konnte mir das optisch noch nicht so ganz vorstellen. Jetzt weiß ichs, gar nicht mal so schlecht!

      Er hatte 2 Bilder gemacht, ich habe die mal einfach grob aneinandergestückelt, um eine bessere Vorstellung zu haben. Ich glaub ich mach das so...
      Bilder
      • DSC00168.jpg

        372,39 kB, 1.112×2.208, 51 mal angesehen

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „coltracer“ ()