Hallo zusammen, ich bin schon länger am Überlegen für eine geeigneten Lösungen meines Problems und benötige etwas Hilfe um meine Gedanken zu ordnen. Folgendes Problem: Eine Gegensprechfunktion soll mithilfe eines Moduls bestehend aus einem I2S MEMS Mikrofons (TYP: SPH0645LM4H-B), einem magnetostatischen Lautsprecher (TYP: CMS-151103-088SP) und einem ESP32 in der Arduino IDE realisiert werden. Angestrebt wird eine netzwerkinterne und von den Routereinstellungen unabhängige live Kommunikation zwischen dem Modul und einem Smartphone. Bisherige Lösungsansatz: Das Konzept hinter dieser Gegensprechfunktion wäre VoIP. Um Verbindungen zwischen Client (Smartphone) und Server (Modul) aufbauen zu können, wäre die Einbindung von SIP- bzw. RTP- Bibliotheken nötig um den Verbindungaufbau bzw. Datenübertragung zu ermöglichen. Dazu half mir auch schon der Beitrag von Jürgen L., www.mikrocontroller.net/topic/444994#5310320 sehr weiter, um den softwaretechnischen Aspekt der Requests und Responses von SIP zu verstehen. Die digitalisierten Audiodaten des Mikrofons liegen übrigens zur weiteren Verarbeitung schon bereit und warten auf die Übetragung. Bin ich mit diesem modulseitige Lösungsansatz schon auf dem richtigen Weg oder wäre der Betrieb eines HTTP-Servers am ESP, der die Audiodaten auf das Smartphone streamt, einfacher zu implemtieren? Ist mein Ansatz zu diesem Problem realisierbar? Gibt ein einfachere Ansätze oder Überlegungen? Bin für jeden Hinweis, jede Hilfe oder Anmerkung sehr dankbar! :)
:
Bearbeitet durch User
Sebastian P. schrieb: > äre die Einbindung von SIP- bzw. RTP- Bibliotheken nötig um > den Verbindungaufbau bzw. Datenübertragung zu ermöglichen. Der SIp-Teil ist simpel, der RTP-Teil, da werden nur die sprach-Datenpackete verschickt. Viel interessanter ist das Thema Codecs, über RDP sind da zig verschiedene möglich und die beiden Endgeräte (und ggf. die Vermittlung mittendrin) handeln zu beginn erstmal aus welchen sie verwenden. Also musst du zumindest einen Codec auf dem ESP implementieren den auch dein Endgerät unterstützt. Und Codecs können schon einiges an Rechenzeit fressen.... > Die digitalisierten Audiodaten des Mikrofons liegen übrigens zur > weiteren Verarbeitung schon bereit und warten auf die Übetragung. In einen für Voip/ dein endgerät gültigen Codierung? > Weg oder wäre der Betrieb eines HTTP-Servers am ESP, der die Audiodaten > auf das Smartphone streamt, ein Http-Server "streamt" von hause aus erstmal garnichts, da brachst du erstmal noch weitere Protokkolle dazu und das Thema Codec was beide Seiten verstehen müssen hast du hier auch. - https://en.wikipedia.org/wiki/RTP_payload_formats - https://de.wikipedia.org/wiki/Streaming-Server
Vielen Dank für die schnelle Antwort. Irgend W. schrieb: > Also musst du zumindest einen Codec auf dem ESP > implementieren den auch dein Endgerät unterstützt. Und Codecs können > schon einiges an Rechenzeit fressen.... Da ich mich im vorhinein für ein I2S Mikrofon entschieden habe und dies im Datenblatt auch dezidiert so beschrieben ist, habe ich gehofft auf einen Codec verzichten zu können. Schließlich passiert die Sprachdigitalisierung ja schon im Mikrofon. Weiters frisst der Codec nicht nur Rechenzeit, sondern vergrößert die Komplexität meines Projekts auch noch um ein Vielfaches. > In einen für Voip/ dein endgerät gültigen Codierung? Bezüglich der Codierung kann ich keine Aussage treffen. Was ich allerdigs weiß ist, dass das Ausgangssignal als PCM-Signal an den ESP geschickt wird. Dort wird es gebuffert und in einem Array zwischengespeichert. Das aufgenommene Audiofile hab ich dann als .wav Datei im SPIFFS gespeichert und dieses über die IP-Adresse des ESPs abrufbar gemacht. Dann konnte ich die .wav-Datei auf mein Endgerät runterladen und abhören. > ein Http-Server "streamt" von hause aus erstmal garnichts, da brachst du > erstmal noch weitere Protokkolle dazu und das Thema Codec was beide > Seiten verstehen müssen hast du hier auch. Also ist die Einbindung eines für mein Endgerät unterstützten Codecs für beide Lösungsansätze unumgänglich?
NichtWichtig schrieb:
> https://de.wikipedia.org/wiki/Asterisk_(Telefonanlage)
Vielen Dank für den Link. Schaut auf den ersten Blick nach dem aus
wonach ich Suche. Gibt es Erfahrungen mit der Integration von Asterisk
auf einem ESP32? Laut Artikel sollte das zumindest für einen Pi kein
Problem sein.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.