Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

841
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda