jason_fw
@jasonwhite18 · Nisan 2025 tarihinde katıldı
Embedded developer · logistics
- Konular
- 10
- Yanıtlar
- 48
- Puan
- 0
Oluşturulan forum yanıtları
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.
Yapay zekâ tarafından English dilinden çevrildi ·
Gösterge panelinde isimler kapatılabilir mi? Küçük bir kartta bunlar her şeyin üzerini kaplar.
Can the names be turned off on a dashboard? On a small card they would cover everything.
Yapay zekâ tarafından English dilinden çevrildi ·
Kendi kartlarımızı ESP32-S3 etrafında tasarlıyoruz ve başka bir projede zaten kendi CA’mızla karşılıklı TLS kullanıyoruz. Cihazlarımızın da sertifika yolunu kullanabilmesi için bu CA’yı yükleyebilir miyiz?
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?
Yapay zekâ tarafından English dilinden çevrildi ·
IP adresi cihazın kendisi hakkında bildirdiği adres mi, yoksa sizin gördüğünüz adres mi? Bizimkilerin çoğu 4G yönlendiricinin arkasında.
Is the IP address what the device reports about itself, or what you see? Most of ours sit behind a 4G router.
Yapay zekâ tarafından English dilinden çevrildi ·
Lon’u lng olarak yeniden adlandırdım ve snprintf’e geçtim, işaretçiler hemen göründü ve doğru bölmelerde, tek bir noktada üst üste yığılmadan. Ayrıca Tyler’ın tavsiyesini de dinledim; 5 s tembelliğimdi, şimdi hareket halinde 30 s / park halindeyken 10 dk, hız kontrolüyle. Kevin, şimdilik yalnızca en son konumları gösteriyorum.
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.
Yapay zekâ tarafından English dilinden çevrildi ·
Fix sorunsuz, seri monitör 9 uydu ve makul koordinatlar gösteriyor. Gönderilen veri şu:
{"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}
Yapay zekâ tarafından English dilinden çevrildi ·
Birçok STM32 9 biti doğal olarak destekler. Pi için 8 bitlik seri veriye çeviren bir köprü olarak Blue Pill kullanmak, en sıradan ama en güvenilir yanıt olurdu.
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.
Yapay zekâ tarafından English dilinden çevrildi ·
Biri arıza yapana kadar sorun yok. Perfboard üzerinde 230V tarafı ile ESP32 arasında uygun bir sürünme mesafesi (creepage) olmayacaktır; girişte sigorta da olmadığını tahmin ediyorum, doğru mu?
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?
Yapay zekâ tarafından English dilinden çevrildi ·
Ne yüklenici, ne de tam olarak. NEO-6M zaten ikisini de veriyor. $GPRMC cümlesi yere göre hızı (knot cinsinden) ve yere göre rotayı içerir; alıcı hızı Doppler etkisinden hesaplar, bu da 30 sn arayla alınan iki konumun farkını almaktan çok daha iyidir. 30 sn arayla alınan iki konum, bir koridorda ileri geri giden bir traktörü duruyormuş gibi gösterecektir.TinyGPS++ ile bu iki satırda yapılır:
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);
Bunları lat/lng ile aynı mesajda sayı olarak gönderin. Aynı mesaj, aynı maliyet; dolayısıyla @roberts.r birkaç bayt daha eklenir, ayrı bir mesaj olmaz. Ardından speed_kmh > 15 üzerine, tek bir GPS sıçramasının alarmı tetiklememesi için 2 okumalık debounce ile bir alarm kuralı tanımlayın.Sonradan hesaplanması gereken bir şey olursa (örneğin vardiya başına mesafe), bu, Save telemetry adımından önce kök akışta türetilmiş bir anahtar olarak eklenmelidir.
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?

