Frage

Wir haben eine Anwendung bekommt die Bluetooth für die folgenden Anforderungen muss in der Lage zu verwenden:

  1. Empfangen von Dateien von Bluetooth-Geräten (bis zu 2 Geräten gleichzeitig)
  2. Anzeige alle Bluetooth-Geräte in Reichweite
  3. Senden von Dateien Geräte Bluetooth
  4. Scan für Bluetooth-Geräte und die Übertragung von Dateien zur gleichen Zeit

Wir sind auf Windows XP ausgeführt wird.

Ich habe einige getan schaut sich um und es scheint drei Hauptstapel zu sein:

Bluesoleil

Auf der Website Bluesoleil, in ihrem SDK Abschnitt, so scheint es, nur 1 Verbindung zu erwähnen unterstützt wird, das ist offensichtlich nicht gut.

Fenster

scheint nur 1 Bluetooth-Dongle zu unterstützen, die wahrscheinlich bedeuten, werden wir alle unsere Anforderungen nicht erfüllen können.

Widcomm

Teure und potenziell viel des Guten? Komplexere API? Gedanken?

In Bezug auf die SDK für C #, betrachtete Franson blue, jemand verwendet diese API?

Danke

War es hilfreich?

Lösung

Zum einen der Disclaimer, ich bin der Maintainer der 32feet.NET Bibliothek. : -)

Ich habe gerade überprüft und auf XP mit dem Microsoft-Stack (mit einem Dongle) Ich kann gleichzeitig zwei OBEX PUTs werden empfangen und auch die Entdeckung Geräte. Das ist mit 32feet.NET der ObexListener Klasse und die BluetoothClient.DiscoverDevices Methode. Um die OBEX zu senden Versetzt man seine ObexWebRequest Klasse verwenden können. Gehen Sie mehrere parallele Verbindungen mit ObexListener ich mehrere Threads ruft seine GetContext () -Methode nur hatte.

Also das ist vielleicht einfacher, als wir dachten ...

Ich habe es getestet auch mit Andy Humes OBEX-Server seine Brecham.Obex Bibliothek und die gleichzeitige Arbeiten erhalten dort auch in Ordnung. Seine erhältlich von http://32feet.net/files/folders/objectexchange/entry6511.aspx .

Auf dem Widcomm Unterstützung. Hoffentlich scheint es nicht zu „unvollständig“ auf der Client-Seite ... Anfrage (Geräteerkennung) und Verbindungen alle arbeiten. Die serverseitige muss noch ein wenig Arbeit aber und es gibt einige Dinge, die Widcomm API einfach nicht zB nicht unterstützt. (Programmatische Authentifizierung Handling).

Was war das Problem mit den Proben? Kompilieren Zeit oder Laufzeit? Auf MSFT Stapel oder Widcomm? Follow-up unter http://32feet.net/forums/37.aspx wenn Sie bevorzugen.

Andere Tipps

Zeit zu erklären, genau das, was wir am Ende tun ...

2 Dongles warum?

  1. Wenn ein Dongle einen Scan die Übertragungsrate macht massiv verlangsamt
  2. kann ein Dongle unterstützen nur 7 gleichzeitige Übertragungen, wenn Sie einen Scan machen, fällt dies 6. Wenn Sie senden möchten, empfangen und alle gleichzeitig zu scannen, alles verlangsamt, schlecht, und Sie sind sehr begrenzt in den Kanälen.

So ist die Idee, einen Dongle kontinuierlich Scannen (so Geräte erscheinen so schnell wie möglich) und die anderen Dongle für die Übertragung reserviert zu laufen, und da es nicht Scannings, Transfers sind schön und schnell.

In der Bibliothek verwenden wir

Nach zahlreichen Tests und dachte, wir am Ende entscheiden sich für WirelessCommunicationLibrary von BT Rahmen .

Es unterstützt Widcomm, Windows und den Bluesoleil Toshiba-Stack. Es unterstützt alle Server-Seite Material, das wir brauchen, ist ein gut unterstützt kommerzielles Produkt, das perfekt ohne Fehler funktioniert.

Welche Stapel?

Nun, das ist sehr komplex. NONE der Stapel Träger 2 Dongles zugleich. So ist die einzige Option ist ein Dongle auf einen Stapel und den anderen Dongle auf einem anderen zu laufen. Dies ist, wo die WCL Bibliothek praktisch ist!

Microsoft - Wenn ein Fehler während eines Scans auftritt, ist es üblich, dass der gesamte Stapel aus zum Absturz bringen. Das ist nicht ideal! Sie müssen schließen und Funkgerät neu zu starten, es braucht Zeit und ist fehleranfällig. Aber ... der Microsoft-Stack funktioniert Dateiübertragungen handhaben sehr schön.

Widcomm - Widcomm-Stack ist für Dateiübertragungen nicht groß. Es gibt lästige kleine Anwendungen, die mit Widcomm installieren, die eine Steuerung von Ihrer App nehmen immer wieder versuchen. Sie können die bttray.exe töten, das hilft, aber immer noch ein seltsames Verhalten aus dem Stapel während des Transfers bekommen. Ich bin sicher, dass dieses Problem gelöst werden kann, aber da Windows für Scans schlecht ist, macht Sinn Widcomm zu verwenden, für Scans.

Also ... wir haben einen Dongle Widcomm gesetzt haben immer und immer wieder zu scannen und einen Dongle an Microsoft Satz Satz nur Dateiübertragungen (in und out) zu behandeln.

Ankommen 2 Dongles arbeiten

Wir gingen für 2 des gleichen Dongles verwenden, können wir sie in der Masse bestellen und sie alle die gleiche Verringerung der Verwirrung Lager. Jedes Gerät ausgeliefert braucht nur 2 Bluetooth-Dongles, einfach.

Das einzige Problem ist, sind diese widcomm Dongles und wir brauchen einen Dongle auf dem Windows-Stack. Windows erkennt diese nicht als Windows-Dongles, so wird registriert sie nicht für den Windows-Stack. So ... das ist ein Hack Sie die bt.inf-Datei vornehmen kann, um es den Dongle für Windows machen zu erkennen. Dann müssen Sie die Treiber wechseln für einen des Dongles auf den Windows-Treiber zu laufen und du bist fertig.

Zusammenfassung

So ... wir einen Dongle haben scannen die ganze Zeit, einen Handling-Transfer, die jeweils auf separaten Stapeln und es funktioniert gut. Dies ist der einzige Weg, die ich gefunden habe 2 Dongles zum Laufen bringen reibungslos unter Windows. Wenn Sie einen besseren Vorschlag haben, bitte posten!

Versuchen Sie folgendes: 32feet.NET . Ab Version 2.4 unterstützen sie Widcomm Stack neben Windows-Stack.

BTW: Warum müssen Sie mit zwei Dongles zur gleichen Zeit arbeiten? Normalerweise Dongle können bis zu 7 Geräte handhaben gleichzeitig verbunden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top