Forum: PC Hard- und Software Bluetooth: UART-Bridge


von Xris (mrgreen)


Lesenswert?

Hallo,

ich habe vor, eine UART über Bluetooth an den PC anzubinden.
Ich habe einen Bluetooth-Dongle und ein China-Bluetooth-Modul (HC05, 
vermute ich).

Unter Windows kann ich sie auch koppeln, aber unter Linux scheitere ich.
Ich habe hciattach versucht:

$ sudo hciattach -n -s 38400 /dev/ttyBlue csr 38400 noflow
Can't open serial port: No such file or directory
Can't initialize device: No such file or directory


Auch das KDE-eigene Applet schafft es nicht; es baut angebich die 
Verbindung auf, nach einer Sekunde aber wieder ab.

Wie gesagt, ich weiß, dass Chip und Dongle prinzipiell funktionieren.
Leider hilft mir auch Google nicht weiter.

Weitere Infos:

$ hcitool dev
Devices:
        hci0    00:19:86:00:3C:65

$ hcitool scan
Scanning ...
        00:19:5D:24:B7:63       OBDII


Der Baustein ist also da, zumindest physikalisch :)

Ich benutze Kubuntu 11.10, BlueZ ist natürlich mit dabei.


Weiß wer, wie es klappen könnte?
Gruß
Mr.Green

von Andreas B. (andreasb)


Lesenswert?

Ich habe warscheinlich die gleiche Hardware hier liegen und fast die 
gleiche Software.

Ich habe gerade versucht die Verbindung aufzubauen.

Ich habe folgendes gefunden: 
http://www.thinkwiki.org/wiki/How_to_setup_Bluetooth

Scannen kannst du ja bereits, dann versuche doch mal:
sudo rfcomm bind 0 [MAC] [Kanal]

Versuche als Kanal mal 3 oder so.


Danach habe ich beim GtkTerm in den Einstellungen einfach als 
Schnittstelle /dev/rfcomm0 eingegeben und bestätigt.

Danach kam ein Dialog der mich aufgefordert hat das Passwort einzugeben.

Das Passwort bei meinem Modul ist leer (habe bereits vor ein paar Tagen 
etwas rumgespielt).
Bin jedoch gerade sehr müde, und hatte noch eine Webseite offen, auf der 
Stand ich solle 1234 eingeben. Habe ich gemacht, mehr als ein mal und 
jetzt will das Modul nicht mehr:-/


Kannst ja mal probieren obs bei dir geht, ich werds auch nochmals 
versuchen, aber nicht mehr heute...



mfg Andreas

von Xris (mrgreen)


Lesenswert?

Hi,

der Tipp mit rfcomm war gut.
Ich habe das hier gefunden:
http://iscte.pt/~ajsco/html/en/monolog/bt2com.htm

Damit habe ich den Baustein auch angebunden gekriegt.
Den Channel bekommst du dann mit sdptool heraus. Bei mir ist es 1.

Er hat auch mehrere Reconnects überlebt.

Jetzt muss ich mal schauen, wie ich den Baustein konfigurieren kann, 
dass er nicht auf "1234" hört.
Die HC05 / HC06 scheinen ja doch recht eigenartig zu sein; mein Pinning 
(also das, was ich bisher rausgefunden habe), scheint zu keinem 
Datenblatt zu passen, das ich gefunden hab.

Gruß
Mr.Green

von Andreas B. (andreasb)


Lesenswert?

Er soll ja irgendwie über AT-Commands über die Serielle Schnittstelle 
programmiert werden können, ich habs aber noch nicht probiert...

Wie sieht denn dein Board aus?

Meins sieht genau so aus:
http://www.komputer.de/zen/images/blue_hc05.jpg

Ich habe schon verschiedene Pinbelegungen gefunden, habe noch nicht 
ausgiebig getestet, er soll z.B. ja auch ein Status LED Ausgang haben, 
der hat bei mir aber nicht funktioniert...

Wahrscheinlich wäre das schlauste mal das Oszi an jeden Pin hängen und 
schauen was ankommt, oder Logic Analyzer, aber das Board ist so klein, 
ich müsste an jeden Anschluss ein Kabel anlöten, mit den Klemmen komme 
ich nicht ran...



mfg Andreas

von Xris (mrgreen)


Lesenswert?

Meiner schaut auch so aus. Das hat wohl aber nichts zu sagen.

Den LED-Pin habe ich gefunden; PIO8 (der 4. oben auf der rechten Seite).
Allerdings scheint der bei mir sowohl als Status als auch als 
Verbindungsanzeige zu fungieren. Angeblich soll PIO9 leuchten, wenn die 
Verbindung da ist; das tut aber der PIO8, der schnell blinkt, wenn er im 
Bridging-Modus ist.

Über PIO11 soll man ihn in den AT-Modus schalten können. Stimmt aber 
nicht...
Etwas chaotisch, diese Bausteine, scheint mir :)

Gruß
Mr.Green

von Andreas B. (andreasb)


Lesenswert?

Chris R. schrieb:
> Meiner schaut auch so aus. Das hat wohl aber nichts zu sagen.

Ok

> Angeblich soll PIO9 leuchten, wenn die
> Verbindung da ist; das tut aber der PIO8, der schnell blinkt, wenn er im
> Bridging-Modus ist.

LED gegen GND oder VCC? Hat bei mir beides nicht geklappt...

> Etwas chaotisch, diese Bausteine, scheint mir :)

Ja;-) Es gibt wohl auch verschiedene Firmware Versionen, habe ich 
zumindest gelesen, bei denen dann der Funktionsumfang auch verschieden 
ist.

Heute mache ich nichts mehr, aber ich würde vorschlagen das wir hier 
wider schreiben wenn wir was rauskriegen, und ggf. eine Wiki Seite 
erstellen hier? Gibt noch keine zum HC-05.


mfg Andreas

von Vn N. (wefwef_s)


Lesenswert?

Beitrag "BC417143 UART Kommunikation"
http://byron76.blogspot.com/ unten
Je nach Firmware (HC05 oder HC06) unterscheidet sich die Belegung und 
Ansteuerung.

von Xris (mrgreen)


Lesenswert?

Ja, die Seite kenne ich.
Aber ganz so verhält sich mein Modul eben nicht.

Lediglich LED1 funktioniert bei mir, und KEY hat scheinbar keine 
Funktion.
Jedenfalls akzeptiert es keine AT Kommandos :(

LED1 blinkt, wenn er auf eine Verbindung wartet, und leuchtet 
Dauerstrich, wenn es verbunden ist. Also der Pin für diese LED stimmt 
schon mal. Aber der Rest wohl nicht so ganz.

von Holger (Gast)


Lesenswert?

Versuch mal den Rx-TX vom BT-Modul zu verbinden. via 1K Ohm.
Mit open z.B COM40 u. Password: 1234 muss du mit einem Terminal-Prog
einen Loopback machen. Bezug auf (WIN 7)

Ich habe die HC-06 Firmware, der "explizit" als BT-Slave.

BTBee Modul. mit CSR Chip. für 17 Euro.
Da ist aber auch eine AT Doku mit dabei.

Gruss Holger

von Holger (Gast)


Lesenswert?

Hier ist das Modul, aber die Doku ist auch nicht sofort dabei.
Die Handhabung ist aber, da explizit Slave ganz einfach gehalten.

http://www.arduino-shop.de/BTBee-Bluetooth-module

von M. W. (hobbyloet)



Lesenswert?

Eventl. hilft das erste im Anhang weiter.

von Xris (mrgreen)


Lesenswert?

Hallo Holger,

ganz verstanden hab ich deinen Beitrag nicht.
Ich habe das Loopback, aber was nun? Dadurch geht der Baustein doch 
nicht in den AT-Modus, oder? Zumindest meiner nicht.

Meine Firmware müsste HC-05 sein, von daher verstehe ich nicht, warum 
sie nicht auch den AT-Modus beherrscht.


Das Datenblatt von hobbyloet ist gut, aber das hatte ich schon probiert. 
Die beiden verschiedenen AT-Startup-Modi hatte ich schon mal gelesen, 
aber es funktioniert nicht

Gruß
Mr.Green

von Holger (Gast)


Lesenswert?

Gut ist das der Loopback geht, damit ist die serielle tx-rx
Strecke von der Hardware ok.
 Hier was zur Info für HC-05
Was hat der Loopback für einen Bit-Rate ?

Zur Info die AT Kommandos.
Was für AT Kommandos hast du den getestet?

http://elasticsheep.com/2011/05/serial-bluetooth-module-slave-test/
Hier was zur Info.

AT+VERSION?
+VERSION:2.0-20100601
OK
AT+NAME?
+NAME:HC-05
OK
AT+ADDR?
+ADDR:11:3:252009
OK
AT+UART?
+UART:9600,0,0


Bei meinem Modul HC-06 geht auf AT nix mit OK, aber der
z.B Name Baud usw. geht zu ändern.
Hat mich so erst mal glauben lassen, dass der AT bei mir nicht geht.
Also das hilft nur zu testen.


Was hat dein Modul für einen BT-Namen da eingetragen, via 
PC-visual-BtManager ??
--
Solange das BT-Modul nicht gekoppelt ist, ist
ohne einen "speziellen" AT-Pin der AT-Mode aktiv.

Gruss Holger
Ich will mir auch son HC-05 BT-Module noch dazulegen, aber der
AT Command Set ist bei den China Teilen Sellern nicht dabei.

von Holger (Gast)



Lesenswert?

Habs noch gefunden der AT Cammand Set.
Ich habe auch einen Login bei CSR Homepage gemacht,
da sind Infos, wie ich via SPI die Firmware neu flashen kann.
Gruss Holger.

von Holger (Gast)


Angehängte Dateien:

Lesenswert?

Hier mit "speziellen" AT-Pin ist der AT-Mode aktiv.
Für das Flashen:
http://microsin.ru/content/view/1284/44
Gruss Holger.

von Xris (mrgreen)


Lesenswert?

Hallo,

wie flashe ich den denn, wenn ich keinen LPT mehr habe?
Ich hab einen mkII Programmer, aber den will das PSTool usw. nicht 
erkennen.

Muss ich mir jetzt einen Adapter von USB => LPT kaufen / bauen?

Gruß
Mr.Green

von Holger (Gast)


Lesenswert?

Ist das für die Firmware ???
http://ubi.cs.washington.edu/wiki/index.php/Sensor_Board_Programming
Via Bootloader ...
Connecting the BlueCore3 to the Serial Port
HC4 wird statt LPT ausgeählt.
Gruss Holger.

von Xris (mrgreen)


Lesenswert?

Ja für die Firmware.

Ich bekomme es nicht hin.

Ich habe den Bluetooth Chip per UART-USB-Wandler am PC und habe 
versucht, mit PSTool eine Verbindung aufzubauen. Weder H4 noch H5 oder 
ein anderer Modus funktionieren.

Das Programm BlueTest3 kann auch keine Verbindung öffnen, es sagt 
"Failed to open COM7".

COM7 passt aber, die UART erreiche ich darüber.

BlueFlash sagt gleich beim Start "No SPI transports found" und beendet 
sich wieder.

Hast du noch einen Tipp?

Gruß
Mr.Green

von Holger (Gast)


Lesenswert?

> Das Programm BlueTest3 kann auch keine Verbindung öffnen, es sagt
> "Failed to open COM7".
Versuch mal das USB-Comport auf COM:1 oder COM:2 mit dem
Hardware Manager umzustellen.
Alte Software kann nur ein open auf Com1 bis Com5 machen.

Fazit: Man kommt erst mal um einen echten LPT Port,
u. den dazu gehoerenden SPI-Adapter nicht herum.
######################################################################
BC212015-ds-001Pj BlueCore2-External Data Sheet AUG06.pdf
9.7.2 Writing to BlueCore2-External
Ich habe mir die CSR Doku. für das Flashen des BT-Modul via SPI
durchgelesen.
Aber das Chip erase Kommando ist nicht dabei.
Ich kann mir nicht vorstellen das ohne vorheriges Chip-Erase der
neue Firmware-Code  geflasht werden kann.
Der Firmwarecode für HC-5 fängt ab Adresse 0x100 an.
Viel Erfolg.

Gruss Holger.

von Xris (mrgreen)


Lesenswert?

Achso.
Ich hatte dich so verstanden, dass man ihn alternativ auch über 
Bluetooth flashen kann.

von aex (Gast)


Lesenswert?

Hi,

könnte irgendjemand mit dem Modul ein speedtest machen,

ich habe auch so ein Modul und ich kriege etwa 1000bytes die Sekunde,
was wie ich finde sehr langsam ist,
habe es schon unter Linux und Windows probiert.
Direkt über USB/UART geht es viel schneller.
Die Baudrate habe ich schon auf 115200
Ich will damit einen Adressierbaren RGB Strip ansteuern und brauche ca 
8Kbyte/s

Weis vielleicht einer wo der Turbo Knopf ist?

Danke

von aex (Gast)


Lesenswert?

hab rausgefunden

wenn ich 25 byte auf einmal sende komm ich auf ca 6Kbyte/s

müsste reichen

und mehr scheint der Arduino nicht zu verkraften

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.