Arduino / ESP32 Datenübertragung an Raspberry Pi über WLAN

  • Hallo Zusammen,

    im Zuge einer Automatisierung würde ich gerne ein bestehendes Projekt weiterentwicklen.

    Vorab, ich bin am Anfang des Lernprozesses, gewillt mich einzuarbeiten und freue mich über konstruktive Kritik und Anregungen :danke_ATDE:

    Bestehendes Projekt:
    Ein Mikrofon ist an einem Arduino Zero angeschlossen und versorgt dieses mit Audiosignalen / Frequenzen. Das Arduino ist so programmiert, dass es 2 spezifische Frequenzen detektieren kann. Wird Frequenz 1 detektiert schaltet das Arduino LED1 an, wird Frequenz 2 detektiert - LED2 an.

    Das Ziel:
    Ich würde das Ganze gerne so umsetzen, dass die Zustände der LEDs an/aus kabellos an einen Raspberry Pi 3B+ gesendet werden, sodass dieser den Zustand der LEDs auf einem Bildschirm ausgeben kann. Zu Beginn will ich erst einmal die Kommunikation zwischen einem Arduino - Raspberry Pi kabellos herstellen. Das System sollte jedoch bestmöglich so ausgelegt sein, dass mehrere bis viele Arduinos die Zustände ihrer LEDs an den Raspi senden, sodass dieser die Daten auf dem Bildschirm ausgeben kann.

    Überlegungen:
    Ich hatte mir überlegt einen Router für ein lokales Netzwerk zu verwenden. Dieser soll kein Zugriff auf das Internet ermöglichen sondern lediglich das Netzwerk zur Verfügung stellen. Da das System am Ende sowohl in kleinen Räumen als auch in großen Räumen, zum Teil mit Trennwänden dazwischen, zum Einsatz kommen soll, könnte ich hier einfach ein Repeater verwenden, falls das Netzwerk irgendwo schwächeln sollte.

    Nach Durchstöbern diverser Threads und Websites habe ich erfahren, dass ich evtl. Funkmodule wie ein ESP8266 (WEMOS D1 mini) oder ein ESP32 verwenden könnte, um die Daten übers WLAN senden zu können. Wie 'mächtig' sind jedoch solche Microcontroller? Könnte theoretisch sogar die Software zur Audiosignalerfassung über das Mikrofon auf einem ESP32 programmiert werden?

    Falls das nicht möglich ist, wäre das Arduino MKR 1010 wahrscheinlich eine gute Alternative. Dieses hat einen integrierten ESP32 Microcontroller und ist somit WLAN fähig. Es ist recht preisgünstig und ich würde mir zusätzliche Verkabelung ( Arduino UNO o.Ä. + Funkmodul (ESP32 / ESP8266) sparen.

    Als Protokoll für die Verbindung würde ich lighttpd oder UDP verwenden.
    Somit könnte sich der RasPi die Daten per GET-Methode von den Arduinos abholen oder diese die Daten per POST-Methode an den RasPi senden. Welche der Methoden in meinem Fall passender ist muss ich noch herausfinden.

    Ist es richtig, dass die Arduinos die Clients darstellen und der RasPi den Server oder liege ich da falsch?

    Am Ende will ich das ganze Projekt noch gerne mit einer simplen GUI abschließen.
    Der RasPi soll nur die Systeme (System = Ein jedes Arduino mit seinen 2 LEDs) auf dem Bildschirm ausgeben, bei welchen eine der 2 LEDs leuchtet.
    Bsp.
    System 1: LED 2 an
    System 3: LED 1 an
    System 7: LED 1 an
    .
    .
    .

    Zusätzlich sollte es natürlich noch die Möglichkeit geben neue Systeme hinzuzufügen oder zu entfernen.

    Was haltet ihr von meinen Überlegungen?
    Über Anregungen, Tipps oder Kritik bin ich sehr dankbar! :thumbup:

    Grüße
    Sebi


  • Arduino / ESP32 Datenübertragung an Raspberry Pi über WLAN? Schau mal ob du hier fündig wirst!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!