Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

846
Vistas
Error de socket MQTT en el cliente <desconocido>

Configuré MQTT en una Raspberry Pi y configuré un Arduino Uno para el corredor, pero veo la siguiente entrada en el archivo /var/log/mosquitto/mosquitto.log:

 New connection from 192.168.10.114 on port 1883. Socket error on client <unknown>, disconnecting.

El Pi está configurado con ETH0 conectado a mi LAN local y tiene una dirección IP de 192.168.1.50

También hay una configuración de WiFi AP en el Pi. El Arduino Uno se conecta a través de WiFi para enviar/recibir mensajes MQTT. El WiFi AP tiene una dirección IP de 192.168.10.1 y proporciona arrendamientos de DHCP a través de dnsmasq .

Intenté publicar y suscribirme a la prueba en el servidor de intermediario MQTT local (el Pi) y obtuve el mismo error:

 Command: mosquitto_sub -h 192.168.10.1 -t topic mosquitto.log: New connection from 192.168.10.1 on port 1883. New client connected from 192.168.10.1 as mosqsub/1837-raspberryp (cl, k60). Socket error on client <unknown>, disconnecting.

Aquí está /etc/mosquitto/mosquitto.conf:

 pid_file /var/run/mosquitto.pid persistence true log_dest file /var/log/mosquitto/mosquitto.log allow_anonymous true include_dir /etc/mosquitto/conf.d

sudo servicio mosquitto detener sudo servicio mosquitto iniciar:

 mosquitto version 1.4.8 terminating mosquitto version 1.4.8 (build date Sun, 14 Feb 2016 15:06:55 +0000) starting Config loaded from /etc/mosquitto/mosquitto.conf. Opening ipv4 listen socket on port 1883. Opening ipv6 listen socket on port 1883.

Puede haber un problema en la configuración de mis interfaces. Aquí está /etc/network/interfaces:

 source-directory /etc/network/interfaces.d auto lo iface lo inet loopback iface eth0 inet manual auto wlan0 allow-hotplug wlan0 iface wlan0 inet static address 192.168.10.1 netmask 255.255.255.0

¿Alguien puede indicarme de dónde proviene el error de socket en MQTT?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Vine a este hilo porque estaba enfrentando el mismo error. Después de solucionar algunos problemas más, estaba relacionado con la configuración de autenticación: el cliente (Arduino) intentaba conectarse de forma anónima (sin contraseña), mientras que el intermediario (Pi) estaba configurado para permitir solo conexiones autenticadas (allow_anonymous falso en la configuración de MQTT ).

Agregar la contraseña correcta al código de conexión de Arduino resolvió el problema para mí.

over 4 years ago · Santiago Trujillo Denunciar

0

Tenga en cuenta que MQTT generará este error si el cliente falla por algún motivo. Pasé varias horas investigando MQTT pensando que el mecanismo pub/sub estaba roto. Pero en cambio, el problema era simplemente un error en mi propio procedimiento de desorganización escrito a mano que contenía una declaración de afirmación de python. La aserción falló, matando al cliente y generando el error MQTT, pero no apareció ningún registro de la aserción fallando en mi consola, lo que me llevó por el camino del jardín por un tiempo. La causa fue que ejecuté sys.exit(-1) en ese momento, eliminando la notificación a la consola. (Incluso en el código de creación de prototipos, es mejor hacer lo correcto cuando pueda, ¡y no cosas tontas como esta!)

over 4 years ago · Santiago Trujillo Denunciar

0

Estaba encontrando problemas similares de un Arduino que se conectaba a mosquitto:

 mosquitto_1 | 1551412354: New connection from 10.0.3.9 on port 1883. mosquitto_1 | 1551412354: New client connected from 10.0.3.9 as weather-station (c1, k15). mosquitto_1 | 1551412376: Client weather-station has exceeded timeout, disconnecting. mosquitto_1 | 1551412376: Socket error on client weather-station, disconnecting. mosquitto_1 | 1551412402: New connection from 10.0.3.9 on port 1883. mosquitto_1 | 1551412402: New client connected from 10.0.3.9 as weather-station (c1, k15). mosquitto_1 | 1551412424: Client weather-station has exceeded timeout, disconnecting. mosquitto_1 | 1551412424: Socket error on client weather-station, disconnecting.

La conexión inicial funcionaría, luego encontraría errores de socket frecuentes, y eventualmente fallaría por completo.

Después de investigar un poco, descubrí que no estaba llamando a la función loop() de PubSubClient. Sin esto, la conexión no recibe el servicio adecuado, lo que genera tiempos de espera y errores de socket. Intente agregar client.loop() a su función loop() .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda