PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ASURO über Bluetooth Flaschen - Probleme und Möglichkeiten



AsuroStarter
15.05.2008, 22:47
Hallo Leute,

da mir die Infrarot Verbindung zu langsam und fehleranfällig ist, habe ich meinen ASURO mit einer steckbaren Kabel Direktverbindung (über MAX232) und einem steckbaren Bluetooth Modul ausgestattet. Leider habe ich dabei noch ein kleines Problem, und es wäre super wenn jemand eine Idee hätte woran es liegen könnte.
Die Kabelverbindung klappt super, und ich kann Problemlos Flaschen und Daten austauschen.
Für die Bluetooth Verbindung verwende ich das SparkFun BlueSMiRF (die neuere Version). Die RX und TX Leitungen sind (gekreuzt) mit den Kontakten des ASURO verbunden, RTS und CTS sind direkt Verbunden und Strom beziehe ich vom Anschluß für die Erweiterungsplatine.
Die Bluetooth-Verbindung an sich klappt auch problemlos, und ich kann über sie super Daten zum ASURO schicken und seine Antworten kommen fehlerfrei beim virtuellen Com-Port an.
Um nun auch über Bluetooth Flaschen zu können, habe ich den Reset Pin des Prozessors von VCC getrennt (Leiterbanen auf der Platine durchtrennt, habe danach natürlich R11 und Pin 7 über ein kurzes Kabel wieder verbunden). Den nun "in der Luft hängenden" Reset Pin habe ich über einem 10k Ohm Pull-Up mit VCC verbunden und kann ihn über einen Button auf GND ziehen. Das klappt auch super, sobald ich den Button drücke Resetet der ASURO.
Zum Flaschen gehe ich wie flogt vor. Ich schalte den ASURO an, stelle die Bluetooth Verbindung mit dem Computer her, starte die Flash Software, wähle den entsprechenden virtuellen COM Port aus, klicke auf "Program" und drücke den Reset Button am ASURO...Allerdings klappt das Flaschen nicht.
Weiter als bis "Connect to ASURO -->" kommt die Software nicht, bis schließlich "Timeout !" auftaucht. Woran kann das liegen. Da die Bluetooth Verbindung an sich ja Problemlos funktioniert, und auch beim Drücken des von mir angebrachten Reset Buttons erhalten bleibt, kann ich mir das Problem nicht so recht erklären. Meine einzige Vermutung ist zur Zeit, dass der Bootloader andere Einstellungen (Baudrate, Parity, etc.) für die Serielle Kommunikation verwendet, als die auf die ich das BlueSMiRF für den Betrieb mit der normalen ASURO Library eingestellt habe.
Hat sonst noch jemand eine Idee wo das Problem liegen könnte? Hat jemand schon Erfahrungen mit dem Flaschen über Bluetooth gemacht?

Im voraus schon mal vielen Dank für eure Hilfe,
Viele Grüße

m.a.r.v.i.n
16.05.2008, 23:48
Hallo,

ich habe die gleichen Probleme mit dem BlueSmiRF (alte Version) beim Flashen. Lösung dazu habe ich aber auch noch keine. Ich habe allerdings noch ein anderes Bluetooth Modul. Damit werde ich das auch noch mal testen.

AsuroStarter
17.05.2008, 00:38
Hey m.a.r.v.i.n.,
danke für deine Antwort. Da bin ich ja schon mal in soweit froh, dass das Problem nicht an irgendwelchen seltsamen Eigenheiten meines BlueSMIRF liegt. Hast du denn eine Vermutung woran es liegen könnte? Ich denke der Ansatz, dass der Bootloader andere Parameter für die serielle Schnittstelle nutzt ist relativ plausibel.
Muss man bei deinem anderen Bluetooth Modul die Parameter für die Übertragung auch im Gerät vorher festlegen?

Hat vielleicht schon wer den Code des Boatloaders gesehen, oder kann man irgendwie feststellen mit welchen Parametern die Flash Software auf der PC Seite die serielle Schnittstelle betreibt?

Viele Gruesse

damaltor
18.05.2008, 23:53
man kann mit einem zweiten transceiver den flashvorgang "mithören". da alle zeichen korrenkt ankommen (es wird zuerst AsuroAsuroAsuroAsuro, dann zeilenweise die hex-datei gesendet), vermute ich mal dass es nicht an den einstellungen (geschwindigkeit, parität, ...) liegt.

m.a.r.v.i.n
20.05.2008, 10:26
Hallo AsuroStarter,

ich wollte am Wochenende dem Fehler noch etwas auf den Grund gehen, mußte dann aber feststellen, das meine Asuro über Bluetooth und auch über RS232 nicht mehr senden mag. :frown:

Einzige Erkenntnisse bisher:
Mit dem Portmon Programm (http://www.microsoft.com/germany/technet/sysinternals/utilities/Portmon.mspx) habe ich herausgefunden, dass das Flasher Programm
* die Schnittstelle wie gehabt mit 2400 Baud initialisiert.
* statt einfach nur empfangene Zeichen zu lesen werden irgenwelche Statusabfragen der Schnittstelle gemacht. Vielleicht liegt es ja daran.
* bei Hyperterminal wird einfach nur zyklisch gelesen (IRP_MJ_READ).

Jetz muß ich erst mal wieder meinen Asuro fixen.

AsuroStarter
21.05.2008, 16:30
Hallo ihr beiden,
vielen Dank für eure Antworten. So wie es aussieht hat das Problem ja tatsächlich nichts mit den Einstellungen der Schnittstelle zu tun. Sehr sehr komisch.
Woran könnte es noch liegen? Aus sicht des Flash Programms müsste es doch keinen Unterschied machen, ob die RX/TX Leitungen direkt verbunden sind, oder über Bluetooth laufen, so lange die Schnittstellen-Einstellungen des BlueSMIRF zu denen des Flash Programms passen.

Viele grüße

m.a.r.v.i.n
21.05.2008, 22:50
Hallo AsuroStarter,

mein Asuro läuft wieder, und das Flashen über Bluetooth funktioniert jetzt auch. :)
Allerdings nicht mit dem normalen Asuro Flasher Programm, sondern mit dem AsuroFlasher Tool aka 'Eierlegende Wollmichsau' von Osser.
Probiers mal damit.
https://www.roboternetz.de/phpBB2/viewtopic.php?t=25249

Osser
22.05.2008, 15:51
Hi,

wenn ich das so lese erscheint es mir wahrscheinlich, dass es am Timing ligt. Es sind ja einige Bridges beim Übertragen zu umsegeln, bevor die Daten tatsächlich am µC ankommen.

z.B. Übertragung DCE zu DTE



DCE 1) COM --> STREAM (Treiber)
DCE 2) STREAM --> USB slot

DTE 3) USB slot --> STREAM
DTE 4) STREAM --> USB2RS232 (IC MAX232)
DTE 5) USB2RS232 --> TX


Der Treiber wird wohl nicht jedes Zeichen direkt auf den USB Bus legen und der IC MAX232 somit ebenfalls nicht auf TX. Würde ich so einen Treiber schreiben währe da sicherlich eine Art Cluster-Transfer implementiert, denn sonst würde ja fast nur Protokoll übertragen und kaum "Nutzlast".


Was denkt Ihr?

Gruss,
O.

icerose
29.07.2008, 12:55
Hallo zusammen,

ich bin ein absoluter Beginner in der Roboter Szene aber interessiere mich sehr dafür. Habe gerade diese Thread gelesen und wollte mal wissen ob man nicht einen einfachen USB Bluetooth Stick dazu nutzen kann. Damit man nicht ein Bluetooth modul extra kaufen muss. So nen Stick hätte ich nämlich noch über.

Gruß
Icerose

AsuroStarter
29.07.2008, 14:15
Hallo icerose,
erstmal herzlich willkommen in der Roboter Welt ;-)
Deine Idee mit dem USB Bluetooth Sticks wird vermutlich nicht funktionieren, da die Ansteuerung eines solchen mit der CPU des ASURO schwierig bis unmöglich ist. Um den Strick nutzen zu können, müsste der ASURO als USB Host auftreten, was meines Wissens nur mit einem Zusatz Chip und extrem viel Aufwand möglich ist. Unterm Strich wird die Lösung mit einem USB Bluetooth Stick, wenn überhaupt möglich, teurer und aufwendiger.
Allerdings gibt es neben dem BlueSMIRF noch andere, wesentlich billigere Bluetooth to Serial Module. Diese erfordern allerdings etwas mehr Bastelaufwand wegen ihrer Bauform und sind nicht ganz so gut dokumentiert.
In einem sehr informative Artikel im Blog eines Roboternetz Users wurde viele Informationen zu der nutzung eines solchen billig Bluetooth to Serial Chips gegeben. Leider finde ich den Link gerade nicht mehr, vielleicht hat ihn jemand anderes noch zur Hand?

Viele gruesse

icerose
29.07.2008, 15:43
Hi AsuroStarter,

jetzt wo Du es sagst ist es völlig klar das es nicht so einfach ist! Sonst wäre das wahrscheinlich eh schon längst Thema hier im Forum!! Aber ich werde mich mal weiter im Forum umsehen und mich fleissig dran machen meinen Asuro zu programmieren. Bis jetzt haben ich nur das visual Tool getestet und damit ist es echt einfach anzufangen. Wobei ich jetzt mal sehen muss das ich mich mit dem coden auseinander setzte.

Aber bei Fragen werde ich auf die kompetenz des Forums setzten.

Gruß
Icerose