Möglichkeiten und Machbarkeit eines Bluetooth-Servers in C++/C#/VB?



  • Hallo,

    bin neu hier und habe gleich mal eine dicke Frage mitgebracht.

    Eigentlich bin ich Java-Entwickler (J2EE) und habe genau einen der Fälle, mit denen ich dort nicht weiterkomme, da es sich hier um ein hardware-nahes Thema handelt.

    Ich möchte gern einen Bluetooth-Server schreiben. Dieser Server soll auf einem Rechner laufen und sobald ein Handy (mein Handy) in Reichweite ist, Bilder dorthin versenden. Das mag recht unspannend klingen, wäre aber für mich durchaus von Interesse.

    Nun habe ich das natürlich schon in Java probiert und umgesetzt. Doch dort stoße ich auf die Probleme, sobald es nicht "rund" läuft. Das könnten zum Beispiel Verlassen der Reichweite ohne Notifizierung sein. In diesem Fall kann ich nicht auf die Hardware zugreifen, sondern muss auf den internen Disconnect des Geräts warten, was unter Umständen sehr sehr lange dauern kann (mitunter Minuten).

    Nun zu meinen Fragen, ich hoffe ihr konntet mir soweit folgen Augenzwinkern

    1. Ist es prinzipiell möglich mit C++/C# (oder auch anderen Sprachen) einen solchen Server zu entwickeln?

    2. Gibt es eine Bluetooth-API, die mir hier hilft und disconnects schnell und sauber ausführt? (das funktioniert in Java überhaupt nicht)

    3. Oder Kann ich mit C++/C# (oder anderen Sprachen) ein Hardware-Device "resetten"?

    Wichtig ist unterm Strich also eher das Behandeln der negativen Effekte (Fehler wie Reichweite etc.), die positiven Aspekte habe ich mit Java mehr als ausreichend abdecken können 😉

    Gerne nehme ich auch Tipps und Links an, die weiterführend zu diesem Thema sind. Ich habe zwar schon viel gegoogelt und gelesen, aber leider nur unzureichende Informationen erhalten.

    Vielen Dank für etwaige Antworten



  • In diesem Fall kann ich nicht auf die Hardware zugreifen, sondern muss auf den internen Disconnect des Geräts warten, was unter Umständen sehr sehr lange dauern kann (mitunter Minuten).

    ich nehme an, dass du threads verwendest... was spricht gegen eine timeout-zeit, nach deren ablauf die verbindung zum gerät automatisch getrennt wird? oder hast du probleme mit dem trennen?



  • blubblabla schrieb:

    In diesem Fall kann ich nicht auf die Hardware zugreifen, sondern muss auf den internen Disconnect des Geräts warten, was unter Umständen sehr sehr lange dauern kann (mitunter Minuten).

    ich nehme an, dass du threads verwendest... was spricht gegen eine timeout-zeit, nach deren ablauf die verbindung zum gerät automatisch getrennt wird? oder hast du probleme mit dem trennen?

    Richtig, es entstehen Probleme beim Trennen. Die Threads kehren zwar ordnungsgemäß zurück, aber auf der Hardware wird der disconnect nicht bzw. zeitversetzt ausgeführt. Das ist ein Problem, da ja nur eine begrenzte Anzahl an Verbindungen erläubt sind.

    Ich kann hier aber nicht ausschließen, dass es Probleme beim Bluetooth Protocol und/oder der Hardware sind.



  • die api wird sehr betriebssystemabhängig sein. verwendest du windows oder linux? für linux gibt es einen bluetooth stack namens bluez. vielleicht hilft dir das.



  • besserwisser schrieb:

    die api wird sehr betriebssystemabhängig sein. verwendest du windows oder linux? für linux gibt es einen bluetooth stack namens bluez. vielleicht hilft dir das.

    Das ist mir durchaus bewusst, aber genau weil ich auf andere Weise in nicht beeinflussbare TimeOuts laufe, möchte ich hier eingreifen.

    Ich arbeite übrigens mit Windows, welches auch mein Zielsystem sein wird.


Anmelden zum Antworten