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

830
Visualizações
MQTT Socket error on client <unknown>

I have setup MQTT on a Raspberry Pi and configured an Arduino Uno to the broker, but I am seeing the following entry in the /var/log/mosquitto/mosquitto.log file:

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

The Pi is setup with ETH0 wired to my local LAN and has an IP address of 192.168.1.50

There is also a WiFi AP setup on the Pi. The Arduino Uno connects via WiFi to send/receive MQTT messages. The WiFi AP has an IP address of 192.168.10.1 and provides DHCP leases via dnsmasq.

I have tried publishing and subscribing test on the local MQTT broker server (the Pi) and get the same 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.

Here is /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 service mosquitto stop sudo service mosquitto start:

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.

There might be an issue in my interfaces configuration. Here is /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

Can anyone point me on where the socket error is coming from on MQTT?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

I came to this thread because I was facing the same error. After some more troubleshooting, it was related to the authentication configuration - the client (Arduino) was trying to connect anonymously (with no password), while the broker (Pi) was set up to only allow authenticated connections (allow_anonymous false in the MQTT configuration).

Adding the correct password to the Arduino connection code solved the issue for me.

over 4 years ago · Santiago Trujillo Relatório

0

Note that this error will be raised by MQTT if the client fails for any reason. I spent several hours digging through MQTT thinking that the pub/sub mechanism was busted. But instead the problem was simply an error in my own hand-written unmarshalling procedure that contained a python assert statement. The assert failed, killing the client, and generating the MQTT error, but no record of the assert failing showed up on my console, leading me down the garden path for awhile. The cause was my executing sys.exit(-1) at that point, killing the notification to the console. (Even in prototyping code, its best to do the right thing when you can, and not silly stuff like this!)

over 4 years ago · Santiago Trujillo Relatório

0

I was encountering similar issues from an Arduino connecting to 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.

The initial connection would work, then it would encounter frequent socket errors, eventually totally failing to work.

After some digging, I discovered I wasn't calling the loop() function of PubSubClient. Without this the connection isn't properly serviced, resulting in timeouts and socket errors. Try adding client.loop() to your loop() function.

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