Bluetooth-Sound-Streaming mit Arduino

Ich habe ein Projekt gestartet, in dem ich eine Art Bluetooth-Headset bauen soll. Dieses Bluetooth-Headset soll mit jedem Smartphone (im Grunde Android) verbunden werden. Ich denke darüber nach, ein Eval-Board wie Arduino zu verwenden und auch das RN52-Bluetooth-Breakout-Board zu verwenden.

Der Grund, warum ich Arduino verwende, ist, dass das Bluetooth-Modul das Tonsignal von der Hauptplatine (Arduino) empfangen und es dann als Audio auf das Smartphone streamen soll. Dasselbe gilt für das Empfangen von Audio vom Smartphone und das Zurückgeben an die Hauptplatine.

Mit anderen Worten, ich kann die Mikrofon- / Lautsprecher-In / Out-Pins des Bluetooth-Breakout-Boards selbst nicht verwenden. Ich weiß, um digitale Daten zwischen Bluetooth-Breakout und dem Hauptmodul zu übertragen, ich muss PCM-Ports am Breakout verwenden.

Hier also meine Frage: Wenn ich die PCM-Pins am Breakout verwende, kann das Smartphone beim Senden und Empfangen der Daten zum/vom Smartphone verstehen, dass es sich um ein Tonsignal handelt? Denn wenn ich die Mikrofon-/Lautsprecher-Pins des Bluetooth-Breakouts verwende, erkennt das Android-Gerät das Bluetooth-Modul als echtes drahtloses Headset und übermittelt ihm alle Tondaten.

Ich bin mir jedoch nicht sicher, ob dies der Fall ist, wenn das Bluetooth-Modul ein Tonsignal von / an die Hauptplatine empfängt / sendet.

PS: Falls Sie sich fragen, warum ich das Tonsignal auf der Hauptplatine (z. B. Arduino) erzeugen / erhalten möchte, liegt es daran, dass ich eine Art Signalverarbeitung am digitalisierten Tonsignal durchführen möchte.

Schöne Formatierung.
Was lässt Sie glauben, dass eine Arduino-basierte Lösung in der Lage ist (leistungsfähig genug), Audio zu streamen oder sogar Signalverarbeitung durchzuführen. Durchsuchen Sie das Internet nach ähnlichen Projekten und beachten Sie, dass sie kein Arduino für die Audioverarbeitung verwenden. Und in der Tat, unterteilen Sie diese Textwand in mehrere Absätze, die sie lesbarer machen.

Antworten (1)

Was Sie beschreiben, wird mit einem klassischen AVR-basierten Arduino nicht realistisch praktikabel sein. Sie benötigen mindestens eine der ARM- oder ESP8266-basierten Varianten oder eine DSP-Architektur oder sogar eines der um Größenordnungen leistungsstärkeren SoC-Systeme.

Um Ihre wörtliche Frage zu beantworten, würde das Telefon jedoch wissen, dass die Daten ein Audiosignal sind, denn um die Standardsoftware des Telefons dazu zu bringen, das Signal als Audio zu behandeln, müssten Sie das Bluetooth-System Ihrer Kreation in einem audiospezifischen Profil betreiben . Beim RN52 beschränkt die Firmware des Moduls die Auswahl zwischen diesen Modi; Ohne diese Firmware zu ändern, können Sie dieses Modul beispielsweise nicht für eine andere Art von Bluetooth-Betrieb verwenden, z. B. als Tastatur oder serielles Gerät.