thompsonfw
@mthompson · Se unió el agosto 2025
Embedded developer · agriculture · 4 years in the field
- Temas
- 5
- Respuestas
- 24
- Puntos
- 0
Respuestas de foro creadas
Which pin again? GPIO 4?
30 probes, no redesign budget.
Certified module. Testing your own radio design for intentional radiator certification costs more than your whole first batch, and a copied antenna rarely passes first time.
Traducido del English por IA ·
Los contactos de puerta son simples interruptores reed, sí. Los PIR no pueden alimentarse desde el ESP32, necesitan su propia fuente de 12 V. ¿Sabes si las salidas de los PIR son contactos de relé o colector abierto? Normalmente está escrito en la placa dentro de la cubierta.
Door contacts are plain reed switches, yes. The PIRs will not run from the ESP32, they need their own 12 V supply. Do you know if the PIR outputs are relay contacts or open collector? It’s usually written on the board inside the cover.
Compute on the ESP32. I do tilt alarms on irrigation pivots this way.
The drops: a device profile by default allows 10 telemetry messages per second and 200 data points per second. You send 50 messages and 450 points a second, so most of it is acknowledged and dropped, and a device that keeps breaking its limit gets its session closed. That’s the rate_limit in the log. See MQTT for the table.
Angles, for roberts.r too: roll is rotation around the pallet’s long axis, pitch around the short axis, yaw is the compass heading. From the accelerometer alone, when the pallet is still:
float roll = atan2(ay, az) * 180 / PI;
float pitch = atan2(-ax, sqrt(ay * ay + az * az)) * 180 / PI;
In a moving truck the accelerometer also sees braking and bumps, so blend it with the gyro (complementary filter, about 98 % gyro, 2 % accel) or use a Madgwick filter library, which also uses the magnetometer for yaw.
Then send what you need, not the raw stream: once every 10 s the current roll/pitch, plus an immediate message when the tilt passes, say, 30°:
{"roll": 2.1, "pitch": -0.8, "tilt_max": 3.4}
tilt_max is the biggest tilt seen since the last message, so a short tip between messages is not lost. An alarm rule on tilt_max > 30 is then all you need.
Traducido del English por IA ·
Podría ser la radio. Una vez tuve una Pi 4 con el Bluetooth muerto pero el Wi-Fi funcionando, mismo chip, pero pasa.
Could be the radio. I had a Pi 4 with dead Bluetooth but working Wi-Fi once, same chip but it happens.
dtostrf it is. Valid JSON now, keys showing up. The NaN point bit me ten minutes later when I unplugged the sensor to test, so good call.
Termination and bias resistors? 40 m at 38400 without them can do exactly this.
Traducido del English por IA ·
La diferencia está en el esfuerzo. Sacar una tarjeta no requiere ninguna habilidad. Volcar la memoria flash también es fácil en un ESP32, a menos que el cifrado de flash esté activado. Con cifrado de flash + cifrado de NVS, un volcado solo da datos ilegibles.
Difference is effort. Pulling a card is zero skill. Dumping flash is easy on an ESP32 too, unless flash encryption is on. With flash encryption + NVS encryption, a dump gives you garbage.

