Serielle Kommunikation zwischen ESP32 und Raspberry Pi mit Java?

Hey liebes Forum,

Ich habe einen ESP32 der durchgehend mit einer Baud Rate von 115200 jede 500 Millisekunden eine Nachricht mit Serial.println("Test") schickt. (Das geht!)

Auf meinem Raspberry Pi läuft das Ubuntu Server Betriebssystem LTS und es ist Java JDK17 (LTS) installiert. Ich kann also ganz normal Java Programme hier laufen lassen.

Der ESP32 ist mit dem Raspberry Pi über die Serielle Schnittstelle verbunden also über GPIO14/GPIO15 und Ground. Nicht über USB sondern über RX/TX/Ground. (Ja ich habe RX TX Ground richtig angeschlossen: RX geht auf TX, TX geht auf RX), Beide Grounds von den 2 Geräten sind miteinander verbunden.

Jetzt würde ich gerne am Raspberry Pi ein Java Programm laufen lassen, dass durchgehend auf die Serielle Schnittstelle hört und diese "Test" Nachrichten, die vom ESP32 losgeschickt werden, empfängt. Die Test Nachrichten sollen also am Raspberry Pi ausgegeben werden bzw. im Java Programm gespeichert werden. Ich will nämlich in Zukunft nicht nur Test verschicken sondern richtige Daten und die dann am Raspberry Pi mit Java weiterverarbeiten.

Ich habe lange im Internet nach einer Lösung gesucht, aber nichts gefunden. Nur Lösungen mit Python scripts. Ich würde aber gerne Java verwenden. Ich bin auch schon auf pij4 gestoßen, das klappt aber auch nicht. Da gibts Library Error wie zum Beispiel: java.lang.UnsatisfiedLinkError: oder wrong ELF class: ELFCLASS32 (Possible cause: can't load ARM .so on a AARCH64 platform)

Welche Library eignet sich am besten bzw. muss ich noch was anderes am Raspberry Pi konfigurieren, damit das ganze geht.

Allgemein: Wie kann ich am Raspberry Pi mit Java, die Daten, die vom ESP32 weggeschickt wurden über die Serielle Schnittstelle empfangen?

Bild zum Beitrag
Computer, Technik, Elektronik, Java, Mikrocontroller, Arduino, Technologie, Serielle Schnittstelle, Raspberry Pi, ESP32
Kann ich ein Arduino (nur AVR Atmega328P) mit externer Stromquelle (5VDC) und USB-5V gleichzeitig betreiben?

Hi liebe Community,

beim Designen einer Platine mit einem AVR Atmega328P Controller + FTDI bin ich auf folgende Fragen/Probleme gestoßen:

Da die Komponenten etwa 2-3 Ampere ziehen, kann die Platine nicht nur mit dem Rechner-USB versorgt werden. Das Netzteil soll ein gewöhnlich über Amazon/eBay erhältliches 5V-3A-Netzteil sein (z.B. http://www.amazon.de/Netzteil-Ladegerät-Steckernetzteil-Klinkenhohlstecker-Elektronik/dp/B00H7XIYGU/ref=sr_1_1?ie=UTF8&qid=1439241252&sr=8-1&keywords=5v+3a)

  • Kann ich den 5V-Pin mit dem 5V Ausgang eines geregelten DC-Netzteils UND dem USB-Port eines Computers verbinden, gleichzeitig? (Beide GND sind auch miteinander verbunden)
  • Würde es zu Problemen kommen wenn ich mit angeschlossenem Netzteil die Platine NACHTRÄGLICH mit dem Computer-USB verbinde?
  • Würde es zu Problemen kommen wenn ich es andersrum machen würde (USB zuerst, Netzteil nachträglich)?

Ich habe im Netz was von Ground Loop gelesen. Ist das Problem hier vorhanden? Wenn ja, wie könnte ich es lösen?

Im Anhang mein Platinendesign (Platine ist groß, 28 x 10 cm). Zu sehen ist der Power-Jack Connector und die USB-Buchse. Beide sind über großflächige Ground und VCC-Planes miteinander verbunden; die Planes sind verbunden mit allen ICs der Platine (Atmega328P, WS2812b, 74HC595 usw.).

Ziel wäre, die Komponenten in alle drei möglichen Konfigurationen nicht zu schaden :-)

Dankeschön im Voraus für eine Antwort!

Viele Grüße,
Kesselwagen

Bild zum Beitrag
Computer, Netzteil, Elektronik, Strom, programmieren, USB, Elektrotechnik, Mikrocontroller, Spannung
Könnt ihr mir den elektrischen Schaltplan erklären?

Hallo liebe Community,

ich wollte ein Projekt starten, undzwar eine Art Roboterspinne bauen. Ich bin im Besitz eines 3D Druckers, sodass die mechanischen Teile (noch) nicht das Problem darstellen. Das größte Problem liegt bei mir in der Elektronik, weil ich nur sehr schwache elektrotechnische Kenntnisse habe.

Könnt ihr helfen diesen Schaltplan zu erklären wo ich was anschließen muss, damit ich mir ein besseres Bild von der Sache machen kann?

Diese Bauteile liegen bei mir vor und müssten auch so im Schaltplan vorhanden sein:

  • Arduino Pro Mini Mikrocontroller
  • 3000mAh Lithium Batterie (DC 12300)
  • 12V Niedervolt Steckverbindung mit 3 Lötfahnen
  • DC/DC Voltwandler 12V/5V - 3A Output
  • 1 taktiler Schalter mit 6 Ein und Ausgängen (Lage im Schaltplan bekannt)
  • 680 Ohm 1/4 Watt 5% Wiederstand (kann ich im Schaltplan sehen)
  • 3mm blaue Led (Anschlussrichtung bereits bekannt)
  • 5x7cm Lochrasterplatine
  • 12 SG90 9g Servomotoren
  • Männliche und weibliche Stiftleiste

Nun meine Fragen: Wo muss ich die 5V anschließen und wo GND (Ground)? So wie ich das verstanden habe ist 5V + und GND -. Aber an welches Bauteil muss ich die Verbindung explizit anschließen? Sogut wie alle Bauteile weisen diese Verbindung auf.

Was bedeutet dieses Symbol bei J1? Konnte dazu nichts näheres finden und was muss ich bei dieser Verbindung besonders beachten?

Wie schliesse ich den Power Jack (Niedervolt Steckverbindung) richtig an? Was bedeutet IN_GND? Ich habe ja nur die 3 Lötfahnen und weiß nicht wie ich das verbinden soll.

COXA, FEMUR, TIBIA und JP sind alles Stiftleistenverbindungen richtig?

Ich wäre euch sehr sehr dankbar wenn ihr mir helfen würdet!

Bild zum Beitrag
Elektrotechnik, Mikrocontroller, Arduino, Elektriker, schaltplaene, Stromlaufplan