jason_fw
@jasonwhite18 · Membre depuis avril 2025
Embedded developer · logistics
- Sujets
- 10
- Réponses
- 48
- Points
- 0
Toutes mes réponses sur les forums
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.
Traduit de English par IA ·
Peut-on désactiver l’affichage des noms sur un tableau de bord ? Sur une petite carte, ils recouvriraient tout.
Can the names be turned off on a dashboard? On a small card they would cover everything.
Traduit de English par IA ·
Nous concevons nos propres cartes autour d’un ESP32-S3 et utilisons déjà le TLS mutuel avec notre propre CA sur un autre projet. Pouvons-nous importer cette CA afin que nos appareils utilisent également le chemin des certificats ?
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?
Traduit de English par IA ·
L’adresse IP est-elle celle que l’appareil indique de lui-même, ou celle que vous voyez ? La plupart des nôtres se trouvent derrière un routeur 4G.
Is the IP address what the device reports about itself, or what you see? Most of ours sit behind a 4G router.
Traduit de English par IA ·
J’ai renommé lon en lng et utilisé snprintf, les marqueurs se sont affichés immédiatement et aux bons emplacements, sans s’empiler au même endroit. J’ai aussi suivi le conseil de Tyler : 5 s, c’était de la paresse de ma part ; maintenant 30 s en mouvement / 10 min à l’arrêt avec une vérification de vitesse. Kevin, je n’affiche que les dernières positions pour le moment.
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.
Traduit de English par IA ·
Le fix est bon, le moniteur série affiche 9 satellites et des coordonnées cohérentes. Voici ce qui est envoyé :
{"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}
Traduit de English par IA ·
Beaucoup de STM32 gèrent nativement le 9 bits. Un Blue Pill servant de pont qui convertit en série 8 bits pour le Pi serait la réponse la plus simple et la plus fiable.
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.
Traduit de English par IA ·
Ça va tant que rien ne tombe en panne. Sur une plaque à trous (perfboard), tu n’auras pas de distance de fuite (creepage) suffisante entre le côté 230V et l’ESP32, et je suppose qu’il n’y a pas de fusible à l’entrée ?
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?
Traduit de English par IA ·
Ni l’un ni l’autre, en quelque sorte. Le NEO-6M fournit déjà les deux. La phrase $GPRMC contient la vitesse sur le fond (en nœuds) et le cap sur le fond, et le récepteur obtient la vitesse par effet Doppler, ce qui est bien meilleur que la différence de deux positions espacées de 30 s. Deux positions espacées de 30 s feront apparaître un tracteur qui a fait l’aller-retour dans une allée comme immobile.Avec TinyGPS++, cela tient en deux lignes :
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);
Envoyez-les sous forme de nombres dans le même message que lat/lng. Même message, même coût, donc pour @roberts.r cela ajoute quelques octets, pas un message supplémentaire. Ensuite, une règle d’alarme sur speed_kmh > 15 avec un anti-rebond de 2 mesures, afin qu’un seul saut GPS ne la déclenche pas.Si vous avez besoin plus tard d’un calcul a posteriori (par exemple la distance par poste), il faut l’ajouter dans le flux racine, avant Save telemetry, sous forme de clé dérivée.
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?

