Forum: Mikrocontroller und Digitale Elektronik Bluetooth Dolmetscher


von soundmachine (Gast)


Lesenswert?

Hallo liebe Forengemeinde,

mir spinnt seit längerem eine fixe Idee für meine Geräte im Kopf, die 
ich euch gerne mal erläutern würde. Evtl. hat ja der ein oder andere 
noch eine bessere Idee, oder hat den ein oder anderen Gedankenanstoß.

Folgender Fall:
Ich habe in den letzten 10 Jahren diverse Geräte entwickelt (ca. 20 
versch.), die alle jeweils eine externe Schnittstelle haben mittels 
derer die Geräte dann mit einem kleinen Windows Progrämmchen gesteuert 
werden können. Hierbei handelt es sich um jeweils rudimentäre 
Steuerbefehle (Start Stop, Drehzahl, Laufzeiten etc.)
Die Schnittstelle ist eigentlich immer USB oder RS232, die Realisierung 
dahinter, sowie die Protokolle unterscheiden sich doch über die Jahre 
sehr stark. (RS232 über UART am PIC, dann mal USB direkt vom STM32 M0, 
dann mal UART auf FTDI RS232USB Chip etc etc.)
Nun werden seit längerem die Rufe lauter diese externe Steuerung nicht 
nur über Kabel, sondern auch kabellos an zu bieten. Bluetooth erscheint 
mir hier am sinnvollsten weil:
- kein Acesspoint etc nötig gegenüber WLAN
- kein Stress mit der IT

Ich würde jetzt gerne auf Basis eines STM32 Cortex M3 einen Art Adapter 
bauen wollen, der auf der einen Seite einen Bluetooth 4.0 Chip 
(Bluetooth 2 UART o.ä.) verwendet, der über Bluetooth aus einer Handy 
App heraus Steuerbefehle erhält,(z.B. Anlage Start) diese je nach 
verwendetem Gerät und alter der Maschine in einen Steuerbefehl den das 
Gerät versteht umwandelt und diesen dann entweder per UART-->RS232 oder 
als USB Master an die jeweilige Maschine ausgibt.
Am Adapter selbst könnte ein 8Pol DIP Schalter vorhanden sein, mit dem 
man den Gerätetyp für den der Adapter sein soll auswählen kann.

Nun zu den Problemen.

1.) Gibt es einen STM32 M3 der auch USB Master sein kann? Wenn ja gibt 
es hierzu irgendwo Software (ohne Cube und HAL?)
2.) Welchen Bluetooth Chip kann man hierzu empfehlen?
Hab mal auf die Schnelle so was gefunden

https://www.ebay.de/itm/SPP-C-Bluetooth-serial-adapter-module-51-Single-chip-UART-REPLACE-HC-05-HC-06/153156371890?hash=item23a8d4c5b2:g:lR8AAOSwjg1by7Yw:rk:2:pf:0

3.) Wie bekomme ich folgendes Problem in den Griff?: Die fertigen 
Bluetooth Module die ich bisher so kenne haben alle einen vom Hersteller 
gebrandeten Namen mit dem sie in der Bluetooth Welt sichtbar sind. Ich 
hab es bisher noch nie geschafft diesen Namen irgendwie zu verändern. 
Daraus ergeben sich zwei unschöne Nebeneffekte. Natürlich wäre mein 
Wunsch dass das Gerät auch unter meinem induviduellen Namen erkannt 
wird, zudem gibt es spätestens dann Probleme wenn jemand 2 Geräte von 
mir nebeneinander betreibt und 2 Adapter verwendet.

Hat jemand hierzu Gedankenanstöße


Bin für jeden Tipp, jeden Gedanken der nicht mit "du Vollidiot warum 
machst du überhaupt..." beginnt äußerst dankbar.



Bis dann...

von . . (Gast)


Lesenswert?


von Alex G. (dragongamer)


Lesenswert?


von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hallo soundmachine,

1) wenn Du einen Cortex M3 verwenden möchtest, warum muss der von ST 
sein? Es gibt z.B. BLE fähige controller mit Cortex M4 von Nordic 
(nRF52832).

2) Ich würde µCs von Nordic verwenden, da deren Software-APIs vernünftig 
designed und dokumentiert sind. Wenn die eigentliche Applikation nicht 
mit auf dem BLE Controller laufen soll, dann tut es der kleinste 
nrf51422 Conrtex M0.

3) Du solltest Dich kurz mal mit der Struktur von GATT beschäftigen. 
Gerade wenn man BLE verwendet, um kurz ein "frontend" für eine Hardware 
zu bauen, bei der man ein paar Werte konfigurieren möchte, eignet sich 
die "native" Bluetooth GATT Struktur sehr gut. Dort sind einzelnde 
"Werte" sogenante Characteristics die Grundbausteine, aus denen man 
einen Service zusammen setzt. (Darüber effektiv RS232 zu fahren ist 
relativ kompliziert). Auf der Smarthpone / Tablett-Seite gibt es 
generische GATT-Clients, mit denen man solche Characteristics entdecken, 
lesen und schreiben kann. Man kann den Dingern sogar Namen geben, die 
ein generischer Client dann anzeigen kann.

Ich habe letztens für einen Kunden eine Firmware (für nRF52832) 
geschrieben, die es Ihm erlaubt, eine Handvoll Konfigurationsparameter 
an ein FPGA via SPI zu übertragen und Fehlerzustände periodisch überagen 
zu lassen. Mit Bluetoe (https://github.com/TorstenRobitzki/bluetoe) 
umgesetzt, hat den Kunden das weniger als 2 Tage gekostet.

mfg Torsten

von Oscar K. (sieges)


Lesenswert?

hallo,
ich werfe einfach den DA14580 bzw. DA14680 ins Rennen.
Gibt es auch fertiges  transparentes UART Protokoll.
cheers
Sieges

von John P. (brushlesspower)


Lesenswert?

soundmachine schrieb:
> zudem gibt es spätestens dann Probleme wenn jemand 2 Geräte von
> mir nebeneinander betreibt und 2 Adapter verwendet

"Mein Name + Mac Adresse"

Der NRF52832 würde wohl fast alle deine Probleme lösen.

- gibts überall (auch als dev kit)
- einfach programmierbar (z.b. auch arduino)
- BLE und MC in einem
- Name frei wählbar (mac adresse einmalig und auslesbar)

das einzige was wohl nicht so ohne weiteres geht ist der USB Master. Da 
hab ich keinen schimmer.

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.