Mosquitto docker Ошибка сокета на клиенте <unknown>, отключение - PullRequest
0 голосов
/ 24 февраля 2020

Я настроил mosquitto на docker (raspberry pi 4), используя сертификаты для защиты соединения. У меня нет имени пользователя и пароля, настроенных в Mosquitto. Я использую этот код для подключения моего wemos d1 mini к москиту с pubsubclient.

https://github.com/debsahu/ESP_MQTT_Secure/blob/master/ESP8266_MQTT_SSL/Arduino/ESP8266_PubSubClient_SSL/ESP8266_PubSubClient_SSL.ino

Я не использую файл secrets.h, но я пытался это раньше с тем же результатом.

После ввода моих учетных данных, данных mqtt и ca.crt я получаю следующий последовательный вывод:

Attempting to connect to SSID: MYSSID ... connected! 
Setting time using SNTP.done! 
Current time: Wed Feb 19 13:53:17 2020 Time: Wed Feb 19 13:53:17 2020 
MQTT connecting ... failed, status code =-2. Try again in 5 seconds. 
MQTT connecting ... failed, status code =-2. Try again in 5 seconds. 
MQTT connecting ... failed, status code =-2. Try again in 5 seconds.

mosquitto выдает следующий журнал:

1582138400: New connection from 192.168.0.8 on port 8883. 
1582138405: Socket error on client <unknown>, disconnecting. 
1582138405: New connection from 192.168.0.8 on port 8883. 
1582138413: New connection from 192.168.0.8 on port 8883. 
1582138418: Socket error on client <unknown>, disconnecting. 
1582138418: New connection from 192.168.0.8 on port 8883. 
1582138424: Socket error on client <unknown>, disconnecting. 
1582138424: New connection from 192.168.0.8 on port 8883. 
1582138429: Socket error on client <unknown>, disconnecting. 
1582138429: New connection from 192.168.0.8 on port 8883. 
1582138434: Socket error on client <unknown>, disconnecting. 
1582138435: New connection from 192.168.0.8 on port 8883.
1582138440: Socket error on client <unknown>, disconnecting. 
1582138440: New connection from 192.168.0.8 on port 8883. 
1582138443: Client <unknown> has exceeded timeout, disconnecting.

По крайней мере, я получаю последнюю строку: отключено из-за тайм-аута. А 192.168.0.8 - это wemos D1 mini. Я использовал MQTTfx для подключения к mosquitto с файлом ca.crt ранее, и он работал нормально.

мой mosquitto.conf:

allow_anonymous true

port 8883

cafile /ca.crt
keyfile /server.key
certfile /server.crt
tls_version tlsv1.2

persistence true
persistence_location /mosquitto/data/

почему mosquitto не распознает имя клиента, которое я указали в коде? Почему я не могу подключиться к комару? И как я могу решить это?

Я также пробовал это с именем пользователя и паролем с тем же результатом!

...