Forum: Offtopic PC Programmierung, Bluetooth, BTM222, alles Mist.


von Simon K. (simon) Benutzerseite


Lesenswert?

Muss mal gerade etwas Frust loswerden.
Ich versuche seit längerem über ein BTM222 Bluetooth Modul Daten zu 
übertragen und schlage mich deswegen mit so allerhand Windows API 
Funktionen herum.

Mein aktuelles Programm schickt immer eine 1-Byte Anfrage und wartet auf 
eine definierte Anzahl von Byte vom Mikroprozessor.

Am Anfang ging es relativ gut, dann kam hinzu dass zwischendurch wohl 
mal einzelne Zeichen länger dauern über die Schnittstelle, ist auch kein 
Problem soweit, ist ja eh alles paketorientiert.

Die Windows API Funktionen für die COM Schnittstelle (CreateFile, etc 
pp) unterstützen ja diese Timeouts.
Da fängt schon der erste Mist an.
http://msdn.microsoft.com/en-us/library/aa363437(VS.85).aspx
http://msdn.microsoft.com/en-us/library/aa363437(VS.85).aspx

Was ist denn bitte der Unterschied zischen ReadInterval und 
ReadTotalTimeOutXXX?
Ich meine, wartet die ReadTotalTimeOutXXX Kombo nicht auch auf Zeichen 
beim Empfangen? Kann da keinen Sinn oder Zweck hinter ReadInterval 
erahnen.

Vom Prinzip rufe ich also nach der Sendefunktion direkt die 
Empfangsfunktion mit einem saftigen Timeout auf, das ja eigentlich nie 
in Kraft treten sollte, da vorher schon die angeforderte Anzahl an Byte 
gelesen werden. Wenn dann doch mal was verloren geht, soll nach ein paar 
hundert Millisekunden neu angefordert werden.

Naja, wie auch immer. Auf ein mal (Habe nichts wesentliches geändert) 
kommt noch ne ganz andere tolle Sache dazu: Portmon funktioniert jetzt 
nicht mehr zusammen mit anderer Software (sowohl nicht mit meiner als 
mit HTerm auch nicht) auf der virtuellen Schnittstelle. Entweder das 
eine Programm sagt, dass die Schnittstelle geblockt ist, oder das 
andere. Na ganz geil.

Dann trennt man ein paar mal die Verbindung und kann auf ein mal keine 
Verbindung mehr herstellen. Das BTM222 tut so als hätte es nicht mal 
einen Hauch von Connection-Request von meinem PC bekommen. Das 
Windows-Bluetooth Symbol unten rechts verschwindet auf ein mal. Da hilft 
dann nur USB BT Stick ziehen und wieder reinstecken und das BTM222 Modul 
resetten (denn sonst wird der Serielle Dienst nicht angezeigt).

Generell habe ich so das Gefühl, dass Bluetooth mit heißer Nadel 
gestrickt worden ist. Und zwar in jedweder Ausführung. Der WIDCOMM 
Bluetooth Stack den ich vorher auch mal drauf hatte (gleiche komische 
Probleme) ist ja von Grund aus schon relativ träge. Aber auch der meinte 
zwischendurch mal die Bluetooth Hardware nicht mehr zu kennen.

Oh mann, da frage ich mich wirklich, warum man heutzutage überhaupt noch 
Informatik (mit entsprechender Fachrichtung) studiert wenn man dann vor 
scheiß Windowskisten sitzt und sich mit so einem Treiber-, Framework- 
und API-Dreck rumschlagen muss.
Die Programmierung vom Mikrocontroller ging übrigens ziemlich angenehm 
von statten, wollte ich noch loswerden.

So, keine Ahnung was der Post jetzt soll. Kann ja auch bei Gelegenheit 
gelöscht werden, aber sonst kann ich heute nicht mehr ruhig schlafen. ;)

von zwieblum (Gast)


Lesenswert?

nu ja, unter linux hast das problem nicht. bis auf die tatsache, dass 
bluetooth trotzdem schrott bleibt.

von Simon K. (simon) Benutzerseite


Lesenswert?

Ja, aus Erfahrung mit anderen Bluetooth Geräten kann man sagen, dass 
Bluetooth wirklich Mist ist.
Ein Kollege hat sich einen Laptop gekauft, dessen eingebaute Bluetooth 
Schnittstelle wohl zu schwach ist um eine Funkmaus betreiben zu können 
(Man musste die Maus sehr nahe am Laptop haben). Mit einem externen 
Mini-BT Adapter geht es.

Ich werde jetzt mal die XBee Module probieren und an eine echte serielle 
Schnittstelle anschließen.

von zwieblum (Gast)


Lesenswert?

xbee geht gut. hab' bei 115200 baud 60 kb/s drüber laufen, kein problem. 
musst nur aufpassen, wenn wlan am selben kanal liegt wie xbee und du 
xbee pro hast, dann ist stille im wlan :-)

von Simon K. (simon) Benutzerseite


Lesenswert?

Auf welche Entfernung und bei welchen Voraussetzungen denn? Klingt ja 
interessant. Die Wi232 Module von Radiotronix sind anscheinend auch ganz 
brauchbar.

von Simon K. (simon) Benutzerseite


Lesenswert?

60kb/s kann aber auch nicht sein. Vielleicht 6kb/s? oder 60kbit/s?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> 60kb/s kann aber auch nicht sein. Vielleicht 6kb/s? oder 60kbit/s?

Es gibt Leute, die der festen Ansicht sind, daß das kleingeschriebene 
"b" eindeutig für "bit" stünde, und es deswegen nicht ausschreiben.

Sind ja auch zwei Zeichen, die man damit einsparen kann.

von zwieblum (Gast)


Lesenswert?

:-)

von zwieblum (Gast)


Lesenswert?

> Auf welche Entfernung und bei welchen Voraussetzungen denn?
oh, ich vergaß ... xbee (ohne pro) reicht aus, ums wlan im selben raum 
stillzulegen.

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.