Я настроил 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 не распознает имя клиента, которое я указали в коде? Почему я не могу подключиться к комару? И как я могу решить это?
Я также пробовал это с именем пользователя и паролем с тем же результатом!