Novedad: el cortafuegos de IA supervisa toda la plataforma y explica cada incidente con palabras sencillas. Vea cómo funciona

Megan Brooks

brooksdata

@megan_b40 · Se unió el septiembre 2025

Recién llegado

Data analyst · water and wastewater

Temas
2
Respuestas
45
Puntos
0
Recién llegado10 puntos para Miembro

Respuestas de foro creadas

Viendo 15 entradas – de la 31 a la 45 (de un total de 45)

Traducido del English por IA ·

Tenemos algo casi igual en unas cuantas estaciones de bombeo pequeñas, así que le comento un par de cosas.El Pi en medio es buena idea por sus cortes. Haga que actúe como pasarela: un dispositivo en Hermetry marcado como «This device is a gateway», y cada habitación se convierte en un dispositivo hijo la primera vez que el Pi la reporta. Node-RED recoge los mensajes de las habitaciones desde Mosquitto, los guarda en un archivo o en una pequeña tabla SQLite mientras no hay internet, y luego los envía con sus propias marcas de tiempo:

topic v1/gw/telemetry
{"Room 4": [{"ts": 1793000000000, "values": {"temperature": 22.1, "humidity": 51, "door_open": 0}},
            {"ts": 1793000300000, "values": {"temperature": 22.0, "humidity": 51, "door_open": 1}}]}

Asegúrese de que el Pi tenga la hora correcta (NTP tras el arranque) antes de poner un ts en cualquier dato. Una cola grande se vacía un poco más despacio porque las reproducciones tienen su propio límite de velocidad en el perfil; es normal.El control del calentador de agua puede pasar por el mismo Pi. Un comando enviado a un dispositivo hijo llega a su pasarela por v1/gw/rpc, así que Node-RED se suscribe a ese topic y lo reenvía a la habitación correcta. O bien haga del controlador del calentador un dispositivo propio que se conecte directamente a Hermetry. Para un calentador, yo iría directo, con menos piezas móviles.Los topics de pasarela están descritos en Devices behind a gateway.

QoS 1 and a lot of patience.
Solución aceptada♥ 5

Traducido del English por IA ·

Eso es para el lado del dispositivo, que espera comandos. Creo que necesitas una clave de API en lugar del token del dispositivo; hace un tiempo hice algo parecido con python requests, pero no recuerdo la ruta.

QoS 1 and a lot of patience.
♥ 1

Grove is just a connector convention, wire it with Grove-to-female-jumper cables (or cut one cable in half). Did a classroom kit like this on ESP32s.

Digital and analog modules:

yellow  SIG   (the main signal: digital or analog out)
white   NC or second signal (unused on most single modules)
red     VCC
black   GND

I2C modules use yellow = SCL, white = SDA.

Voltage is the part to check per module. The light sensor (v1.2) and loudness sensor are analog and run fine at 3.3 V, their output stays below 3.3 V, so straight into ESP32 ADC1 pins (GPIO32-39; ADC2 doesn’t work while Wi-Fi is on). The DHT11 module works at 3.3 V too, with a short cable. The Grove relay coil is 5 V: power it from the 5 V pin (VIN on the DevKit with USB), its input is happy with a 3.3 V signal.

Don’t feed any module 5 V if its output goes into an ESP32 pin, the ESP32 isn’t 5 V tolerant.

The loudness sensor gives an envelope, not audio. Sample it every 50 ms and send the max and average for the minute, e.g. {"temperature": 21, "light": 1830, "noise_avg": 312, "noise_max": 744}, so a forklift going past shows up as a peak.

QoS 1 and a lot of patience.
Solución aceptada♥ 7

Not fixed, the ESP32 can route I2C to almost any pin through its GPIO matrix. The scanner working proves your wiring is fine.

What happens is that sht4.begin() and ina219.begin() with no arguments call Wire.begin() again inside the library, and a bare Wire.begin() puts the bus back on the default pins 21 and 22. That moves I2C away from your sensors and onto your RS-485 transceiver, which explains the second symptom too.

Give the libraries the bus you already started:

Wire.begin(32, 33);
Wire.setClock(100000);
if (!sht4.begin(&Wire)) Serial.println("SHT40 not found");
if (!ina219.begin(&Wire)) Serial.println("INA219 not found");

Most of the Adafruit libraries take a TwoWire*. If one does not, use Wire1 for the sensors and leave Wire alone.

On pin choice: 34 to 39 are input only, so never SDA or SCL. And stay off the strapping pins 0, 2, 12 and 15 if you can, a pull-up on 12 can stop the board from booting.

QoS 1 and a lot of patience.
Solución aceptada♥ 8

I’m on the data side at a water operator, so I see this argument from the people who want dashboards. Our sites run exactly this split and it’s held up for years.

The PLC does control: it scans I/O every few milliseconds whether the network is up or not, its inputs and outputs are made for 24 V field wiring and noisy cabinets, it has certified safety options, and the night-shift technician can open the ladder logic and see why a pump didn’t start. An ESP32 can do the logic, but you’d be building and certifying all of that yourself, then supporting it for 15 years.

Hermetry does monitoring and supervision: history, alarms, dashboards, operators sending a command. Even Hermetry’s own ready-made water solution keeps it that way, the pump stations’ automatic start and stop stays in the station’s controller and the cloud only switches manual mode and pumps on command. See Water site. If the internet drops, a cloud rule can’t stop a conveyor.

Where ESP32s do make sense: extra sensors the PLC doesn’t have, like vibration on a motor, temperatures in a cabinet, energy meters. Cheap, no risk, and they go straight to Hermetry.

Kevin, the cost question is the one to answer with numbers: one hour of downtime on a line versus the price of an S7-1200.

QoS 1 and a lot of patience.
Solución aceptada♥ 5

Fixed! printf version works, all seven .up keys show up and raw stopped updating. Went with Ciaran’s idea in the end because ops will add more sites, so now each site is a child with a single up key and one rule. Pump 6 had a real outage last night and the alarm opened after 5 minutes like it should.

QoS 1 and a lot of patience.
♥ 0

Rev B is back: stitched top pour every 4 mm, antenna keep-outs cleared on all layers, antennas on opposite corners. Time to first fix went from about 3 minutes to 35 s, and LoRa SNR at the same test spot improved by 6 dB. The chart comparison was very satisfying for a data person.

QoS 1 and a lot of patience.
♥ 0

Traducido del English por IA ·

Desde el lado de los datos: ¿necesitas un punto cada 30 s mientras está aparcado en tu entrada? Nosotros solo enviamos datos cuando hay movimiento en nuestras furgonetas.

QoS 1 and a lot of patience.
♥ 1
Viendo 15 entradas – de la 31 a la 45 (de un total de 45)