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

Emily C.

emily30

@emily-campbell · Se unió el agosto 2025

Recién llegado

Backend developer · energy

Temas
6
Respuestas
36
Puntos
0
Recién llegado10 puntos para Miembro

Respuestas de foro creadas

Viendo 15 entradas – de la 16 a la 30 (de un total de 36)

Traducido del English por IA ·

No es una respuesta a toda la cuestión, pero los dispositivos Modbus RTU no pueden conectarse a ninguna nube por sí solos; algo in situ tiene que consultarlos. Así que necesitas un equipo en planta de todos modos. En realidad, lo que eliges es cuál equipo.

♥ 0

Traducido del English por IA ·

RaspAP no bloquea nada: escribe su configuración en /etc/raspap y en los archivos de hostapd/dnsmasq. Con el overlay activado, cualquier cambio que hagas en su interfaz web desaparece tras reiniciar. Esa es la historia de «no le gustan los overlays».

♥ 0

Traducido del English por IA ·

Según la documentación, la aplicación móvil sirve para notificaciones y aprobaciones. Para el control, la consola web en el navegador del móvil funciona bien; así es como manejo la bomba de mi huerto.Qué configurar:

  1. En el perfil de dispositivo de la Pi, pestaña Commands, añade un comando, por ejemplo el método heater.set, con un parámetro Sí/No on, nivel Basic. Las placas solo envían comandos de nivel Basic.
  2. Crea un panel, añade un control Switch, acción Run a command, elige la Pi y heater.set, y vincula el estado actual a una clave que reporte la Pi (por ejemplo heater_on como 0/1).
  3. En la Pi:
def on_connect(c, u, f, rc):
    c.subscribe("v1/rpc/req/+", qos=1)

def on_message(c, u, msg):
    req_id = msg.topic.rsplit("/", 1)[1]
    body = json.loads(msg.payload)
    if body.get("method") == "heater.set":
        on = bool(body["params"]["on"])
        GPIO.output(17, on)
        c.publish("v1/telemetry", json.dumps({"heater_on": int(on)}), qos=1)
        c.publish(f"v1/rpc/res/{req_id}", json.dumps({"ok": True}), qos=1)

No se abre ningún puerto. Guarda la placa en la pantalla de inicio del móvil como marcador y funcionará prácticamente como una aplicación. Para las alertas (habitación demasiado fría, etc.), la aplicación envía notificaciones push al teléfono, o puedes usar el correo electrónico o una aplicación de chat vinculada.

Solución aceptada♥ 1

Kevin, no: the broker needs SNI, so you have to connect by host name, and the certificate check is against that name too. IP is a dead end.

The clue is that the tech’s static config included 8.8.8.8. rc=-2 in PubSubClient is «connect failed», which on an 8266 is very often a failed name lookup. I’ve seen this on plant networks a few times: the DHCP server hands out the plant’s internal DNS server, and that one only answers for internal names, or blocks outside lookups. With static config the board used 8.8.8.8 instead and everything worked. Add this after connecting and you’ll see it:

Serial.println(WiFi.dnsIP());
IPAddress ip;
Serial.println(WiFi.hostByName(MQTT_HOST, ip) ? ip.toString() : "lookup failed");

Then ask IT for one of two things: let their DNS resolve your organisation’s broker host name (it’s on the device’s Connection details card), or allow outbound DNS from that VLAN. And while you’re talking to them, outbound TCP 8883 has to be open as well, plus 443 if you ever use HTTPS. Wilson’s guess is worth guarding against anyway: wait for WiFi.localIP() to be non-zero before the first connect.

Solución aceptada♥ 7
Viendo 15 entradas – de la 16 a la 30 (de un total de 36)