Forum: Mikrocontroller und Digitale Elektronik Bluetooth Modul mit SPP


von Bla B. (byakko)


Lesenswert?

Guten Tag,

ich möchte gerne mein Mikrocontroller mit einem Bluetooth Modul 
erweitern. Dieses Modul soll dann später sich mit meinem Android 
Smartphone verbinden und Daten senden/empfangen. Das Programm für mein 
Android steht schon.

Nun zu meiner Frage was für ein Modul soll ich benutzen?

Ich habe mich bisschen im Forum durchgelesen und auch google benutzt, 
sehr viele benutzen den BTM222 was aber einen sehr schlechten Doku hat. 
Gibt aber sehr viele Guides dafür.

Dann gibt es noch den RN-41 von Microchip was sehr gut Dokumentiert ist 
und da ich zudem noch ein Board von denen habe dachte passt es 
eigentlich sehr gut. Jedoch würde ich kaum etwas finden wenn ich nicht 
weiter komme da es kaum jemand benutzt.


Nun zu meiner Zweiten Frage ich lese überall das man die BT-Module 
zunächst erstmal Konfigurieren muss über UART und das man einen 
Pegelwandler+Spannungsteiler braucht. Da aber mein Microcontroller mit 
eine Versorgungsspannung von 3,3 V hat und mein ausgewählten BT-Module 
auch mit 3,3 V angesteuert wird brauche ich doch eigentlich nichts oder?

Vielleicht kann mir jemand weiterhelfen für andere Module bin ich 
natürlich offen.

Mit freundlichen Grüßen

Byakko

von Thomas G. (tomatos666)


Lesenswert?

Hallo,

ich habe das BTM222 Modul.
Geht bis jetzt eigentlich ganz gut.
Mann muss es am Anfang auf die jeweiligen Bedürfnisse einstellen läuft 
aber ganz zuverlässig.
Das RN-41 kenne ich nicht. Ich habe aber auch noch ein Billig China 
HC-05 in Betrieb.
Macht auch seine Arbeit ohne zu Zicken. Nur die Reichweite könnte etwas 
grösser sein.
Für Hobby Anwendungen meiner Meinung nach ausreichend.
Beim BTM222 ist doch hier im Forum gut Beschrieben.

Um die Module einzustellen must du aber über Hyperterminal Komunizieren.
Dort brauchst du ein Pegelwandler. (Kannst dir einfach ein 
Provissorischen mit Transistore aufbauen)
Bei der Kommunition mit dem IC welcher die gleiche Spannung hat sollte 
auch ohen gehen. Das einzige was mir dort einfällt was du noch 
Kontrollieren müsstet ist ober der Low Pegel bei beide Tief genug Runter 
geht damit es ohne Probleme klappt.

von Stefan (Gast)


Lesenswert?

Was meinst Du mit "schlecht dokumentiert"? Im Datenblatt steht alles 
drin, was man wissen muss.

Außer vielleicht ein klarer Hinweis, dass die meissten Anschlusspins bei 
der Standard SPP Firmware keine Funktion haben.

Schau mal dort: http://stefanfrings.de/btm222/index.html

von Peter Z. (hangloose)


Angehängte Dateien:

Lesenswert?

Das RN-41 ist auch einfach zu bedienen.

Im Command Modus mit Kommando h listet es alle möglichen Kommandos auf.
Mit x die eingestellten Parameter.

User Guide:
http://www.rovingnetworks.com/resources/download/47/Advanced_User_Manual

von Bla B. (byakko)


Lesenswert?

Ich wollte sagen das die Doku im Vergleich zum RN-41 schlechter ist, 
sorry.

@Stefan

Wenn ich das richtig verstanden habe hat er auch kein Pegelwandler 
zwischen UART (RX,TX) und BTM genommen nur ein Spannungsregeler was ich 
aber nicht brauche da ich 3,3 V Controller habe.

@Thomas Gruber

Wenn mir die Standard Einstellungen vom BTM222 reichen brauche ich es 
doch eigentlich gar nichts zu Konfigurieren oder?

von Thomas G. (tomatos666)


Lesenswert?

Bla Blub schrieb:
> Wenn mir die Standard Einstellungen vom BTM222 reichen brauche ich es
> doch eigentlich gar nichts zu Konfigurieren oder?

Wenn dir die Standard Einstellungen ausreichen dann brauchst du nichts 
zu Konfigurieren.
Aber Achtung ich weiss das das Modul bei der Standarteinstellung 
Informationen über den UART ausgibt. Bin mir jetzt nicht sicher aber ich 
glaub er gibt aus ob jemand Verbunden ist oder nicht.
Bei mir hat diese Meldung zu Problemen geführt. Kommt aber immer darauf 
an was du machen willst.

von Bla B. (byakko)


Lesenswert?

Ich möchte eigentlich nur den ADC wert an das Smartphone schicken die 
Auswertung läuft dann über mein APP.

Aber hast schon recht lieber selber einstellen dann weiß man wenigstens 
was das Module überhaupt macht.

Jetzt muss ich erstmal schauen wie man selber einen Pegelwandler baut^^

von Cyblord -. (cyblord)


Lesenswert?

Bla Blub schrieb:
> Jetzt muss ich erstmal schauen wie man selber einen Pegelwandler baut^^

Gar nicht, man kauft sich für 2 Euro (ok bis zu 10 euro wenn Versand aus 
D) einen USB-TTL Wandler (CP2102 oder PL2303 Chip) und lacht alle aus 
die heute noch mit nem MAX232 oder Transistoren an nativen serielle 
PC-Schnittstellen fummeln nur um damit mit einem Controller / BT-Modul 
zu kommunizieren.

Thema BT-Modul, ich habe viele von den "livor" Modulen aus ebay im 
Einsatz (HC-05 oder HC-06 oder wie die heißen). 5$ pro Modul und 
funktionieren sofort. Konfiguration nur wenn man etwas ändern will (z.B. 
Baudrate, Name, Pin usw). Können nur SPP aber genau das will man ja. 
Ersetzen praktisch aus der Schachtel ein serielles Kabel.

gruß cyblord

von Michael N. (betonmicha)


Lesenswert?

Du brauchst doch gar kein Pegelwandler. Das BTM222 wird mit 3,3V 
betrieben und will an den Eingängen auch 3,3V. Wenn dein Mikrocontroller 
ebenfalls mit 3,3V läuft, brauchst du nichts. Pegelwandler sind nur 
notwendig, wenn der Mikrocontroller mit 5V läuft.

Einfach RX und TX verbinden und gut ist. Und die Konfiguration ist sehr 
einfach.

von Thomas G. (tomatos666)


Lesenswert?

Michael N. schrieb:
> Du brauchst doch gar kein Pegelwandler. Das BTM222 wird mit 3,3V
> betrieben und will an den Eingängen auch 3,3V. Wenn dein Mikrocontroller
> ebenfalls mit 3,3V läuft, brauchst du nichts. Pegelwandler sind nur
> notwendig, wenn der Mikrocontroller mit 5V läuft.
>
> Einfach RX und TX verbinden und gut ist. Und die Konfiguration ist sehr
> einfach.

Zur Kommunikation mit dem µC nicht.(Eventuell Pull-Up oder Pull-Down 
Wiederstände)
Nur beim Einstellen des Moduls da braucht man einen Pegelwandler.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Thomas Gruber schrieb:
> Nur beim Einstellen des Moduls da braucht man einen Pegelwandler.

Auch dann nur, wenn das mit einem PC direkt an einer mit V24-Pegeln 
arbeitenden seriellen Schnittstelle geschehen soll.

Wenn der µC das Einstellen des Moduls übernimmt, ist ebensowenig ein 
Pegelwandler erforderlich, wie kein Pegelwandler erforderlich ist, wenn 
ein USB-Seriell-Adapter mit TTL3V-Pegeln verwendet wird, der im 
einfachsten Falle ein "Datenkabel" eines etwas älteren Mobiltelephones 
ist.

von Thomas G. (tomatos666)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Auch dann nur, wenn das mit einem PC direkt an einer mit V24-Pegeln
> arbeitenden seriellen Schnittstelle geschehen soll.
>
> Wenn der µC das Einstellen des Moduls übernimmt, ist ebensowenig ein
> Pegelwandler erforderlich, wie kein Pegelwandler erforderlich ist, wenn
> ein USB-Seriell-Adapter mit TTL3V-Pegeln verwendet wird, der im
> einfachsten Falle ein "Datenkabel" eines etwas älteren Mobiltelephones
> ist.

Ja Stimmt. Aber um keine Verwirrung zu stiften.

PC <--> Pegelwandler <--> Bluetooth Modul mit 3,3V

µC mit 3,3V Betriebsspannung <--> Bluetooth Modul mit 3,3V

von Bla B. (byakko)


Lesenswert?

Also das mit µC <-> Bluetooth Module versteh ich.

Aber was meint ihr mit PC und BTM? Ich wollte eigentlich über UART gehen 
d.h an RXD und TXD anschließen und dort habe ich 3,3 V.

von Bla B. (byakko)


Lesenswert?

Ich hätte gerne meinen Beitrag editiert was aber leider nicht geht:/


Ich habe mich bisschen jetzt ins Thema USB to UART eingelesen.

Beispiel:

USB->5V->Spannungsteiler=3,3V
BTM222->3,3->Pegelwandler=5V

Soll das so sein?

von Thomas G. (tomatos666)


Lesenswert?

Wie USB?
Du kannst mit dem BTM222 nur über eine Serielle Schnittstelle Direkt 
Kommunizieren.
Das heißt vom PC raus über Entweder COM-Schnittstelle oder USB-COM 
Schnittstellen Adapter. Hier hast du nun ein TX und RX welches du nun 
über einen Pegelwandler auf dein BTM222 anschließen kannst.
USB kannst du nicht direkt oder über einen Pegelwandler an das BTM222 
Modul Anschließen.
Es gibt aber von China oder von wo auch immer USB Stecker welche einen 
Integriere Serielle Schnittstelle und Pegelwandler Integriert haben.
Das gab’s früher auch bei gewissen Handykabeln wo eine Schnittstelle 
Integriert ist.
Ich weiß hier sind Mittlerweile sehr viele mögliche Varianten für dein 
Vorhaben aufgetaucht.
Lass dich aber nicht davon durcheinander bringen.
Wichtig ist im Moment für dich das das BTM eine Serielle Schnittstelle 
mit Bluetooth ist.
Wie du das TX-RX Signal (Serielle Signal oder UART vom µC) auf das 
BTM222 Modul bringst ist eine andere Sache.
Zum Einstellen vom BTM222 gibt es nun verschiedene Möglichkeiten.
Serielle Schnittstelle vom PC <-> Pegelwandler <-> BTM222
Oder
Wie oben beschrieben direkt vom µC aus.
Welchen du dann so Programmieren musst das er dir die Einstellungen so 
Übermittelt wie du sie haben möchtest.
Ich persönlich habe es aber über einen PC und Hyperterminal gemacht.
Ist Übersichtlicher und man alles noch mal Kontrollieren.

von Markus M. (tonik1996)


Lesenswert?

Hallo Bla Blub.

habe eine Frage an dich! Wie genau willst du das BT-Modul mit dem 
Android Gerät verbinden? Soll BT-Modul mit dem Android Gerät verbinden 
oder umgekehrt?

Wenn ich mit eigener App über SPP-Verbindung mit dem BT-Modul verbinde, 
dann funtioniert es. Will man aber von dem BT-Modul mit dem Smartphone 
über SPP verbinden, dann habe ich Problem, da der Smartphone keine SPP 
Dienste hat. Ich kann mit dem Smartphone zwar verbinden, jedoch beim 
starten der App weiss nicht wie ich auf diese Verbindung zugreifen kann.

von Bla B. (byakko)


Lesenswert?

Ich wollte eigentlich mein Handy als Master und das BT-Module auf Slave 
einstellen d.h Handy verbindet sich mit BTM.


Ich bin auch noch neu im BT Thema(µC Neuling) aber so wie ich das 
verstanden habe musst du dein BTM Module als Master einstellen. Zudem 
musst du sie pairen damit sie sich kennen.

Aber an sich verstehe ich dein Problem nicht.

Handy verbindet sich mit BTM ,du sendest Daten an deine BTM er empfängt 
sie. Funktioniert bei dir.

BTM verbindet sich mit Handy du sendest wieder mit deinem Handy BTM 
sollte wieder die Daten empfangen können ohne das du dein Code änderst.

von Markus M. (tonik1996)


Lesenswert?

Das Problem ist,

wenn ich meine App starte, dann wird ein Serial Port (SPP) erstellt, und 
über den kann ich mit dem BTM verbinden und Daten übertragen. Das 
funktioniert.

Wenn ich aber von dem BTM nach Diensten im Telefon suche, dann sehe ich 
keine SPP Dienste im Telefon, und somit kann nicht eine SPP Verbindung 
aufbauen. Ich kann mit anderen Ports (DUN, HFP, HSP, usw.) mich 
verbinden, aber das bringt mir nichts, da ich nicht die Daten wie 
gewohnt (seriell) übertragen kann.

Vielleicht muss man zuerst die App starten, den Seriellen Port anlegen, 
und erst dann den BTM nach der Suche starten. Ziel aber, mit dem Telefon 
(seriell) zu verbinden ohne das man die App starten muss.

von Christof K. (movinc)


Lesenswert?

An unserer FH hab ich schon mehrfach mit einem RN-41 gearbeitet, war 
immer recht zuverlässig. Praktisch ist, dass man alle Einstellungen auch 
über Bluetooth machen kann, z.B. auch die Baudrate der seriellen 
Schnittstelle, den friendly-username usw.
Für den Hardwareentwurf schön ist, dass die Antenne bereits am Modul 
angebracht ist. Das RN-41 ist ein Class-1-Gerät, das RN-42 ein Class-2, 
sonst sind beide gleich zu bedienen. Es gibt auch eine Version ohne 
Antenne, die ist mit einem N nach der Bezeichnung gekennzeichnet.

von Bla B. (byakko)


Lesenswert?

Hallo, eigentlich dachte ich das ich nun fertig bin aber leider läuft es 
auf einmal garnicht mehr.

Ich habe mir den BTM222 besorgt habe es konfiguriert und dann mit meinem 
Android verbunden lief alles klasse.

Nun ca. 2 Wochen später wollte ich weiter damit arbeiten.

Zunächst wollte ich mit AT Befehlen drauf zugreifen was nicht möglich 
ist (Kein Pairing). Dann habe ich es mit meinem Android verbunden LED 
blinkt dann konstant wie es sein soll.

Jetzt ohne wirklich ein Grund blinken beide Kontroll Leuchten 3 mal und 
gehen aus eigenlich sollte eine Konstant wenn verbunden leuchten oder 
blinken wenn nichts verbunden ist.

von Bla B. (byakko)


Lesenswert?

Hmm BTM222 ist wohl defekt da ein anders funktioniert.:(

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.