Forum: Mikrocontroller und Digitale Elektronik uC als BT RFCOMM master


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Sebastian (Gast)


Lesenswert?

Liebe Leute,

zur Zeit frage ich von einem Raspberry Pi aus mit einem Python-Skript 
regelmässig die Erzeugungsdaten meine SMA-Solarwechselrichter über 
Bluetooth RFCOMM ab. Dazu musste ich aber ein USB-BT-Modul mit langem 
Kabel näher an die Wechselrichter bringen.

Direkt neben den Wechselrichtern habe ich aber einen Atmega328PB zur 
Überwachung und Schaltung meiner Garten-Bewässerungsventile im Einsatz.

Welche Hardware/Software mit der der uC als BT RFCOMM master operieren 
kann wäre empfehlenswert?

LG, Sebastian

von Jim M. (turboj)


Lesenswert?

RFComm gibt es nur für BT classic, und funktioniert damit nicht auf 
dem modernden BT LE wo es einige µC fertich gäbe.

Wenn es klein und leicht sein soll, wird man vermutlich nix unterhalb 
eines Raspberry Pi Zero W finden. Und ja, der hätte dann neben Bluetooth 
auch WLAN.

Schau mal auf die Verpackung vom BT USB am RPi. Es gibt Class1, Class2 
und Class 3 Sticks. Mit einem Class1 Stick - der hat die längste 
Reichweite - könnte man vermutlich die USB Verlängerung weglassen.

von Stefan F. (Gast)


Lesenswert?

Sebastian schrieb:
> Welche Hardware/Software mit der der uC als BT RFCOMM master operieren
> kann wäre empfehlenswert?

Zum Beispiel ein HC-05 Modul.
http://stefanfrings.de/bluetooth/index.html

von Sebastian (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Zum Beispiel ein HC-05 Modul.
> http://stefanfrings.de/bluetooth/index.html

Danke Stefan, du bist ein Schatz! Module sind bestellt und sollen heute 
kommen. Mal sehen was geht ...

LG, Sebastian

von Sebastian W. (wangnick)


Lesenswert?

Sebastian schrieb:
> Stefan ⛄ F. schrieb:
>> Zum Beispiel ein HC-05 Modul.
>> http://stefanfrings.de/bluetooth/index.html
>
> Module sind bestellt und sollen heute kommen. Mal sehen was geht ...

Nach 6 Stunden geht noch nichts. Es passiert folgendes (mit 9600 Baud):
1
P34 set LOW
2
POWER ON
3
WAIT
4
P34 set HIGH
5
AT+ORGL -> OK
6
P34 set LOW (ansonsten gerate ich in den 38400-Bootmodus)
7
WAIT
8
P34 set HIGH
9
AT+ROLE=1 -> OK
10
-> +INQ:80:25:C19F0,1F04,FFB0
11
-> +INQ:80:25:C1A5A,1F04,FFBD
12
... und weiter so für 90 Sekunden und dann immer wieder mal sporadisch ...
13
AT+PSWD=0000 -> ERROR:(1D)
14
AT+CMODE=0 -> OK
15
AT+BIND=0080,25,0C1A5A -> OK
16
AT+RESET -> OK
17
P34 set LOW (ansonsten gerate ich in den 38400-Bootmodus)
18
WAIT
19
P34 set HIGH
20
-> +INQ:80:25:C19F0,1F04,FFB0
21
-> +INQ:80:25:C1A5A,1F04,FFBD
22
... und weiter so für 90 Sekunden und dann immer wieder mal sporadisch ...
23
AT+LINK=0080,25,0C1A5A -> FAIL
24
AT+STATE? -> +STATE:INQUIRING<crlf>OK
25
AT+PAIR=0080,25,0C1A5A,10000 -> OK
26
AT+STATE? -> +STATE:INQUIRING<crlf>OK
27
AT+STATE? -> +STATE:CONNECTING<crlf>OK
28
AT+STATE? -> +STATE:INQUIRING<crlf>OK
29
AT+RNAME?0080,25,0C1A5A -> +RNAME:SMA001d SN: 210018nmop SN210018<crlf>
30
OK
31
AT+LINK=0080,25,0C1A5A -> FAIL

Ideen?

LG, Sebastian

: Bearbeitet durch User
von Sebastian W. (wangnick)


Lesenswert?

Fortschritt. Der Befehl muss lauten:
1
AT+PSWD="0000" -> OK

Dann verbindet sich das Modul, geht automatisch aus dem Kommandomodus, 
und ich empfange regelmäßig die PPP-Gekapselte Loginaufforderung:
1
...
2
-> 7E 1F 00 61 5A 1A 0C 25 80 00 00 00 00 00 00 00 02 00 00 04 70 00 01 00 00 00 00 01 00 00 00
3
P34 set HIGH
4
AT+STATE -> +STATE:CONNECTED<crlf>OK
5
P34 set LOW
6
-> 7E 1F 00 61 5A 1A 0C 25 80 00 00 00 00 00 00 00 02 00 00 04 70 00 01 00 00 00 00 01 00 00 00
7
...

Und nach POWER OFF, POWER ON verbindet sich das Modul sofort wieder.

Was wohl nicht funktioniert ist beide Wechselrichter zu bedienen. Jedes 
dieser Module scheint nur einen Kanal zu unterstützen ...

LG, Sebastian

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Sebastian W. schrieb:
> P34 set LOW
> POWER ON
> WAIT

Diese Meldungen kenne ich nicht

> Ideen?

Offenbar wurde die Firmware verändert, vielleicht auch deren 
Befehlssatz. Frage den Händler nach Doku.

von Stefan F. (Gast)


Lesenswert?

Sebastian W. schrieb:
> Jedes dieser Module scheint nur einen Kanal zu unterstützen ...

Ja das ist ganz sicher so.

von Sebastian (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Sebastian W. schrieb:
>
>> P34 set LOW
>> POWER ON
>> WAIT
>
> Diese Meldungen kenne ich nicht

Nein, das sind meine Aktionen, keine Kommandos auf der seriellen Leitung 
:) Ich benutze das Modul z.Zt. an einem PC mit hterm über einen 
USB-FTDI-Adapter der auf 3V3 eingestellt ist und der P34 über DTR 
steuert.

LG, Sebastian

von Stefan F. (Gast)


Lesenswert?

Sebastian schrieb:
> Nein, das sind meine Aktionen, keine Kommandos auf der seriellen Leitung
> :)

Haha, so kann man sich missverstehen. Normalerweise brauchst du den Pin 
34 gar nicht zu beschalten. Es sei denn, du willst Verbindungen wieder 
trennen.

Kennst du die Methode von Modems? Da konnte man "+++" (ohne 
Zeilenumbruch!) senden, etwas eine Sekunde später war man wieder im 
Befehlsmodus. Vielleicht klappt das auch bei dem Bluetooth Modul. Ich 
meine mich schwach zu erinnern, dass ich das mal probierte hatte und es 
nicht ging.

Wo du es gerade vorliegen hast, kannst du das mal versuchen?

> USB-FTDI-Adapter der auf 3V3 eingestellt ist

Liefert der genug Strom? So ca. 250 mA sind (kurzzeitig) nötig.

von Sebastian W. (wangnick)


Angehängte Dateien:

Lesenswert?

Stefan ⛄ F. schrieb:
> Kennst du die Methode von Modems? Da konnte man "+++" (ohne
> Zeilenumbruch!) senden, etwas eine Sekunde später war man wieder im
> Befehlsmodus. Vielleicht klappt das auch bei dem Bluetooth Modul. Ich
> meine mich schwach zu erinnern, dass ich das mal probierte hatte und es
> nicht ging.
>
> Wo du es gerade vorliegen hast, kannst du das mal versuchen?

Versucht, geht nicht, das Modul bleibt im Datenmodus trotz einer Sekunde 
Pause vor und nach den drei +++.

Stefan ⛄ F. schrieb:
> Liefert der genug Strom? So ca. 250 mA sind (kurzzeitig) nötig.

Strom liefert z.Zt der USB-Hub, s. Foto. Aber gut zu wissen. Hatte ich 
glaube ich auch schon irgendwo auf deiner Webseite gelesen.

LG, Sebastian

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.