Hallo,
der Preis für die Bluetooth-USB-Dongle hat die 10€-Grenze
unterschritten.
Wenn man die Preise für Bluetooth-RS232-Dongle anschaut liegen diese
noch bei ca. 100 €. Was für ein Preisunterschied (vermutlich liegt dies
an der Stückzahl).
Geht einfach mal auf www.reichelt.de und sucht nach "BLUETOOTH USB C1".
Das Teil kostet noch 7,90€.
Jetzt mein Frage:
Wäre es nicht möglich diese Bluetooth-USB-Dongle direkt am µC zu
betreiben. Natürlich müsste man einen gewissen Aufwand treiben bis alles
funktioniert, aber man muss sich mal überlegen was für ein Potential
dahintersteckt, wenn es mal funktioniert. Für ein paar Euros kann man
eine zuverlässige Funkverbindung zwischen µCs aufbauen, deren Reichweite
bis über 100m geht.
Ausserdem gibt es doch schon USB-Implemtentationen für µCs oder sogar
schon µCs die mit USB ausgestattet sind, z.B. PICs.
Jetzt müsste man nur noch wissen wie die Dinger softwaremässig
angesprochen werden.
Wenn mir jemand die notwendigen Daten zur Verfügung stellen würde, würde
ich mich dazu bereit erklären, dass mal mittels einem PIC-µC in Angriff
zu nehmen. Bei Erfolg würde ich dies dann der Allgemeinheit zur
Verfügung stellen.
Die Bluetooth-Verbindung sollte auf dem "serial port profile" basieren,
d.h. dass wenn die Verbindung mal steht (nach einer Paarung) die
Kommunikation wie bei einer seriellen Schnittstelle funktioniert. So
weit ich weiss, basieren die ganzen Dongle eh schon auf dem "serial port
profile". Des weiteren generieren diese Dongle auf dem PC einen
virtuellen COM-Port, was mich vermuten lässt, dass sich im Dongle ein
FT232 oder dergleichen sitzt. Eventuell könnte man die serielle Daten
direkt an irgendeinem Pin abgreifen, dann bräuchte man gar nichts mehr
programmieren, hätte aber den Nachteil, dass man das Gehäuse öffnen und
hermumlöten müsste.
Was auch noch von grossem Vorteil wäre, ist die Tatsache, dass die
Konfiguration (z.B. Eingabe der PIN) direkt am PC durchgeführt werden
kann. Man nimmt also 2 Dongle in Betrieb und steckt sie dann direkt an
den µCs ein und hat schon ein funktionierende serielle Funkverbindung.
Des weiteren sind die Dongle für den Funkbetrieb schon linzensiert.
Ihr merkt vielleicht, dass ich von der ganzen Sache ziemlich begeistert
bin. Vielleicht lassen sich ein paar Leute von meiner Begeisterung
anstecken. Für Eure Unterstützung wäre ich auf jeden Fall dankbar.
Der Aufwand würde sich auf jeden Fall lohnen.
Dabei werden zwei bis drei nicht zu unterschätzende Probleme auftreten:
- USB-Host-Interface an µC anschließen
Lässt sich zwar mit "Vinculum" o.ä. in den Griff bekommen, aber das
erfordert eigene Firmware für den Vinculum, denn
- nicht bekanntes USB-Protokoll
Der USB-BT-Stick implementiert keine standardisierte Geräteklasse analog
zu HID oder MSD, sondern verwendet ein nur ihm und dem zugehörigen
Windows-Treiber bekanntes Protokoll
Nein, die BT-Dongles enthalten nichts FT232-artiges, die virtuelle
serielle Schnittstelle ist nur eine der vielen vom BT-Treiber/Stack
implementierten Funktionen. Und der ist Bestandteil des PC-Treibers,
nicht der Firmware des USB-BT-Sticks
- BT-Stack in Software auf einem µC implementieren.
Zwar gibt es OSS-BT-Stacks, die aber dürften beide einfache µCs mit
ihrem Speicherbedarf überfordern.
<quote>
Ausserdem gibt es doch schon USB-Implemtentationen für µCs oder sogar
schon µCs die mit USB ausgestattet sind, z.B. PICs.
</quote
imho sind das alles usb-devices und keine hosts... meiner meinung nach
geht sowas nur vernünftig mit nem arm und linux drauf...
die idee ist sicher naheliegend so einen usb-stick zu verwenden.. nur
glaube ich, dass du controller mit funk-interface einfacher zum
funktionieren überreden kannst als einen blauzahn-dongle...
alternative wär z.b zigbee... nur hab ich keine ahnung wo man z.b einen
AT86RF230 oder eine microchip-alternative herbekommt...
73
Hallo,
die geschichte mit dem Bluetooth Dongle an nem µC würde mich auch
brennend interessieren. Allerdings glaube ich auch das es nicht so
einfach sein wird so ein teil an nem 8Bit µC zum laufen zu bringen.
Bisher habe ich für meine Bluetooth sachen von Amber Wireless die
BT-Module Verwendet und über das besagte SPP Protokoll komuniziert.
Diese Module gibt es ab ca. 27EUR. Die Module basieren auf einem
National BT Basisband Chip.
Wer was günstigeres kennt kann es mich wissen lassen.
reichelt:
>>bluetooth usb2
preis:---
technische daten:
......
- File Transfer, DUN, LAN Access, Serial
Port, Active Sync, OBEX, Fax,
>HID>>DELOCK 61273
preis:8,90€
File Transfer, DUN, LAN Access, SerialPort, Active Sync, OBEX, Fax,
>HID
die beiden unterstützen HID,...
_______________________
wenn ich mich recht erinnere gabs hier auch einen thread, in welchem der
analoge comperator eines AVR für eine usb verbindung genutzt wurde,...
da will ich mich jetzt aber nicht soweit ausm fenster lehnen,...
grüüüüüüüüße
Was Du da aufzählst, sind Funktionen, die erst dann vorhanden sind, wenn
der mitgelieferte Treiber installiert wird. Der stellt diese
Funktionen zur Verfügung. Auf welche Art und Weise der Treiber mit der
Hardware kommuniziert, hat mit dieser Liste rein gar nichts zu tun.
Auch wenn Du da in der Liste "HID" gefunden hast, bedeutet das nur, daß
der betreffende USB-BT-Adapter BT-HIDs wie BT-Tastaturen und -Mäuse
unterstützt, aber eben NICHT, daß der Adapter sich via USB als HID
anbiedern würde.
Nein, ohne die in den mitgelieferten Windows-Treiber eingebauten
Funktionen sind diese Adapter annähernd vollkommen nutzlos.
Rufus t. Firefly wrote:
> Nein, ohne die in den mitgelieferten Windows-Treiber eingebauten> Funktionen sind diese Adapter annähernd vollkommen nutzlos.
Zum Glück gibts da nur zwei? Chiphersteller, die Dongles von den 1500
verschiedenen China-Firmen sind intern alle recht gleich.
Drum kommt linux da auch mit nur einem recht generischen
bluetooth-Treiber aus (hci_usb).
d.h. wenn man die USB-Verbindung am laufen hat, wäre der Rest schon
machbar. Aber wie schon weiter oben geschrieben: ARM (von mir aus auch
AVR32) mit Linux drauf, dongle angeschlossen, bluez laufen lassen,
fertig.
/Ernst
Nun, dazu kommt noch der eigentliche (und hardwareunabhängige) BT-Stack,
aber den gibts für *nix natürlich auch ...
Jedenfalls ist das 'ne deutliche Nummer zu groß für die hier üblichen
µCs (von ARMen mit ucLinux abgesehen).