jason_fw
@jasonwhite18 · Mitglied seit April 2025
Embedded developer · logistics
- Themen
- 10
- Antworten
- 48
- Punkte
- 0
Erstellte Forenantworten
Kalman is everywhere in navigation. For a pump it feels like overkill to me, but I’m no process guy.
Is RO actually reaching the PIC pin? Scope the PIC pin itself, not the MAX485 side.
Von English mit KI übersetzt ·
Lassen sich die Namen auf einem Dashboard ausblenden? Auf einer kleinen Kachel würden sie alles verdecken.
Can the names be turned off on a dashboard? On a small card they would cover everything.
Von English mit KI übersetzt ·
Wir bauen eigene Platinen um einen ESP32-S3 und nutzen in einem anderen Projekt bereits gegenseitiges TLS mit unserer eigenen CA. Können wir diese CA hochladen, damit unsere Geräte ebenfalls den Zertifikatspfad verwenden?
We build our own boards around an ESP32-S3 and already do mutual TLS with our own CA on another project. Can we upload that CA so our devices use the certificate path too?
Von English mit KI übersetzt ·
Ist die IP-Adresse das, was das Gerät über sich selbst meldet, oder das, was du siehst? Die meisten unserer Geräte hängen hinter einem 4G-Router.
Is the IP address what the device reports about itself, or what you see? Most of ours sit behind a 4G router.
Von English mit KI übersetzt ·
Ich habe lon in lng umbenannt und auf snprintf umgestellt, Marker erschienen sofort und an den richtigen Stellplätzen, nicht alle an einer Stelle gestapelt. Außerdem habe ich Tylers Rat befolgt, 5 s war meine Faulheit, jetzt 30 s in Bewegung / 10 min geparkt mit Geschwindigkeitsprüfung. Kevin, ich zeige vorerst nur die neuesten Positionen.
Renamed lon to lng and switched to snprintf, markers showed up straight away and in the right bays, not stacked in one spot. Also took Tyler’s advice, 5 s was me being lazy, now 30 s moving / 10 min parked with a speed check. Kevin, I’m only showing latest positions for now.
Von English mit KI übersetzt ·
Der Fix ist in Ordnung, der serielle Monitor zeigt 9 Satelliten und plausible Koordinaten. Hier ist, was gesendet wird:
{"lat":"-43.53","lon":"172.63","spd_kmh":0.0,"sats":9}
Fix is fine, serial monitor shows 9 sats and sensible coordinates. Here’s what goes out:
{"lat":"-43.53","lon":"172.63","spd_kmh":0.0,"sats":9}
Von English mit KI übersetzt ·
Viele STM32 beherrschen 9 Bit nativ. Ein Blue Pill als Brücke, die auf 8-Bit-Serial für den Pi umsetzt, wäre die unspektakuläre, zuverlässige Antwort.
Lots of STM32s do 9-bit natively. A Blue Pill as a bridge that translates to 8-bit serial for the Pi would be the boring, reliable answer.
two objects is the right idea, begin() just remembers the id and the serial port
The HM-10 is BLE (CC2541 chip). It won’t pair like a classic device, you connect to it and read a GATT characteristic. That’s why bluetoothctl’s pairing list ignores it.
Von English mit KI übersetzt ·
Bis einer ausfällt, ist alles in Ordnung. Auf einer Lochrasterplatine hast du zwischen der 230V-Seite und dem ESP32 vermutlich keinen ausreichenden Kriechstromabstand (Creepage), und am Eingang vermute ich auch keine Sicherung?
Fine until one fails. On perfboard you won’t have proper creepage between the 230V side and the ESP32, and no fuse on the input I’m guessing?
Von English mit KI übersetzt ·
Weder noch, sozusagen. Der NEO-6M liefert bereits beides. Der Satz $GPRMC enthält die Geschwindigkeit über Grund (in Knoten) und den Kurs über Grund, und der Empfänger ermittelt die Geschwindigkeit über den Doppler-Effekt, was weit besser ist als die Differenz zweier Fixes im Abstand von 30 s. Zwei Fixes im Abstand von 30 s würden einen Traktor, der eine Gasse hin und zurück gefahren ist, als stehend anzeigen.Mit TinyGPS++ sind es zwei Zeilen:
float kmh = gps.speed.kmph(); // already converted from knots
float hdg = gps.course.deg();
snprintf(buf, sizeof buf,
"{"lat":%.6f,"lng":%.6f,"speed_kmh":%.1f,"course_deg":%.0f}",
gps.location.lat(), gps.location.lng(), kmh, hdg);
Senden Sie sie als Zahlen in derselben Nachricht wie lat/lng. Gleiche Nachricht, gleiche Kosten, also sind es @roberts.r ein paar Bytes mehr, keine weitere Nachricht. Dann eine Alarmregel auf speed_kmh > 15 mit einem Debounce von 2 Messwerten, damit ein einzelner GPS-Sprung ihn nicht auslöst.Falls Sie doch etwas nachträglich berechnen müssen (z. B. Strecke pro Schicht), gehört das im Root-Flow vor Save telemetry als abgeleiteter Schlüssel hinein.
Neither contractor, sort of. The NEO-6M already gives you both. The $GPRMC sentence has speed over ground (in knots) and course over ground, and the receiver gets speed from Doppler, which is far better than differencing two fixes 30 s apart. Two fixes 30 s apart will show a tractor that went down and back an aisle as standing still.
With TinyGPS++ it’s two lines:
float kmh = gps.speed.kmph(); // already converted from knots
float hdg = gps.course.deg();
snprintf(buf, sizeof buf,
"{"lat":%.6f,"lng":%.6f,"speed_kmh":%.1f,"course_deg":%.0f}",
gps.location.lat(), gps.location.lng(), kmh, hdg);
Send them as numbers in the same message as lat/lng. Same message, same cost, so @roberts.r it’s a few bytes more, not another message. Then an alarm rule on speed_kmh > 15 with a debounce of 2 readings so one GPS jump doesn’t fire it.
If you ever do need something computed after the fact (distance per shift, say), that goes in the root flow before Save telemetry as a derived key.
Ask your operator for a fixed-IP APN. Ours sold us a /28 for the whole fleet. If that’s not possible, skip that control and lean on revoke plus the new-network notices.
Flash encryption and secure boot on the ESP32 cover the dump. They’re one-way though, get the key handling wrong on a production unit and it’s a brick.
Type K goes higher than that though, right? Just the chip is the limit?

