2.6 KiB
Hardware
Created: 2025-11-14 17:52:25 +0100
Modified: 2025-11-20 15:31:56 +0100
| Raspberry Pi | Microcomputer |
|---|---|
| Timer / Datengenerierung | Zusätzliche Sensoren oder Input |
| Lokale Speicherung (JSON/CSV) | Evtl. Datenvorverarbeiten (Messwerte filtern) |
| Erste Validierung | Kommunikation mit dem Raspberry Pi |
-
Jeder Microcomputer arbeitet für sich.
a. Erzeugt eigene Daten
b. Speichert und sendet es selbst
-
Kommunikation passiert nur über definierte Übergabe
Es gibt nur zwei Arten zur Kommunikation:
- Datei --> Ordner(lokal)
- Nachricht --> Netzwerk (HTTP, MQTT, UDP, ...
-
Ein gerät spielt "Erzeuger" Rolle (z.B Pi)
a. Timer
b. Daten erzeugen
c. Speichern oder senden
-
Ein gerät spielt "Beobachter/Validator" Rolle: (z.B ESP32 or Arduino)
a. Warten
b. Nimmt Daten an (Datei oder Nachricht)
c. Prüft sie
d. Meldet Fehler/Status
Ablauf:
Gerät A (Raspberry Pi) --> Erzeugt Daten --> übergibt --> Gerät B (Esp32 prüft) --> Resultat --> zurück an Raspberry PI
Kommunikation
Weg A: Seriell / UART (direkte Verbindung)
- Via TX/RX (Transmit and Receive)
| Pro: | sehr einfach, wenig Protokoll-Overhead, Echtzeitnah |
|---|---|
| Contra: | Gerät muss nah beieinander liegen, Verbindungslänge begrenzt |
{width="5.0in" height="2.8125in"}
Weg B : Netzwerk-Kommunikation (z.B über HTTP, MQTT)
- Pi sendet Daten über Netzwerke an Microcomputer oder Server oder umgekehrt.
| Pro: | Geräte können räumlich getrennt sein, Kommunikation klar definiert, einfach erweiterbar auf mehre Geräte. |
|---|---|
| Conta: | Etwas komplexer aufsetzten (Netzwerk, Protokoll, Fehlerbehandlung). |
{width="5.0in" height="3.8229166666666665in"}
// Auf Pi
TIMER => erzeugt Daten (JSON/CSV)
lokaler Ordner => Datei speichern
VALIDIERUNGSPROZESS {
Ordner überwachen
Datei auslesen
validieren()
if Fehler {
error.log
console("Fehler erkannt")
} else {
log
}
}
// Optional: Netzwerk
API-Request senden an ValidatorServer {
Datei im Body
Header: Content-Type, Timestamp, Auth
}
ValidatorServer {
empfangen(Request)
validieren(Status)
Response => Erfolg / Fehler
Loggen
}