Forum: Mikrocontroller und Digitale Elektronik Raspi5 redet nich mit HM-10 BT05


von Detlef _. (detlef_a)


Lesenswert?

Liebe Blauzahnfreunde und besonders -kenner,

seit geraumer Weile möchte ich gerne einen Raspi 5 mit einem HM-10 
seriellen Modul Daten austauschen lassen. Das will mir immer noch nicht 
gelingen.

Was tue und sehe ich?
Ich hab mir fabrikfrische HM-10 Module bei botland gekauft, sodass ich, 
wenns' mit denen geht, die nochmal identisch nachkaufen kann.

Die Module bespaße ich mit AT-Kommandos.
"AT+VERSION" bringt "+VERSION=v5.6", "AT+NAME" bringt "+NAME=BT05", 
"AT+LADDR" bringt die MAC von dem Teil, 'PIN' bringt die PIN usw. , 
alles erwartungskonform.

Ich will HM-10 jetzt starten. Mit "AT+ROLE0" mach ich es zum Slave und 
mit
"AT+IMME1" lass ich HM-10 auf eine connection warten.

Auf meinem Android Handy sehe ich das Ding nicht bei Bluetooth.

Auf dem raspi starte ich "sudo bluetoothctl" mit "power on", "agent on" 
"default-agent" "scan on" und sehe den HM-10 mit seiner MAC.

"trust D0:39:72:C0:C5:4A" geht  immer, "devices Trusted" zeigt ihn.

"connect/disconnect D0:39:72:C0:C5:4A" geht auch ohne "pair 
D0:39:72:C0:C5:4A" oft, nicht immer.

 "pair D0:39:72:C0:C5:4A" ging noch nie, auch nicht mit richtigem 
passkey, "Failed to pair: org.bluez.Error.AuthenticationCanceled".

Auf dem raspi hab ich Python bleak installiert.
"devices = await BleakScanner.discover()" liefert auch mit einem 
connected HM-10 kein Ergebnis, dito  "if await client.is_connected():"

Habt Ihr nen Rat?
THX
Cheers
Detlef

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

raspi und BT war schon immer ein kleines Drama und ob über BT eine 
Serielle genutzt werden kann, ich hatte da auch so ab und an Probleme, 
vor allem ist mir CDC oder so in Erinnerung. Nicht jede BT Schnittstelle 
oder Treiber? beherrscht die Seriellumsetzung.

Im aktuellen ESP32 mit wlan ist sogar BT Unterstützung nicht mal 
eingebaut obwohl beide 2,4GHz nutzen und alle mir bekannten ESP32 Device 
Module bis dahin BT konnten.

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Detlef _. schrieb:
> Auf meinem Android Handy sehe ich das Ding nicht bei Bluetooth.

Schlecht. Installiere mal die "nrf Connect for Mobile" App, die ist zwar 
von und für NordicSemi, funktioniert aber mit allen BTLE Geräten.

Die HM-10 lassen sich IIRC nur dann scannen wenn sie nicht mit anderen 
Geräten verbunden sind.

Dasselbe gilt für "BleakScanner.discover()", auch hier werden nur Geräte 
erfasst die nicht verbunden sind (und daher advertisen).

Verbundene Geräte werden von Bleak offenbar gar nicht behandelt - da 
unterscheiden sich die Betriebssystem APIs auch stark.

Einer der Würgarounds macht einen "bluetoothctl disconnect" Aufruf mit 
der gespeicheten Adresse, danach sollte discover() funktionieren.

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.