В настоящее время я пытаюсь подключить проект gcloud IoT к мосту MQTT, чтобы иметь возможность публиковать sh данные телеметрии. Я использую Mosquitto и пытаюсь запустить команду mosquitto_pub
на экземпляре виртуальной машины, который я создал на gcloud compute engine. Я также создал правило брандмауэра, чтобы открыть порт 8883 с приоритетом 0. В полном объеме я отправляю следующую команду (я удалил используемую JWT и поместил ее здесь в блок кода)
mosquitto_pub \
--host mqtt.googleapis.com \
--port 8883 \
--id projects/telemetry-268916/locations/us-central1/registries/iotcore-registry-telemetry/devices/esp32 \
--username unused \
--pw "<my-JWT.>" \
--cafile ./roots.pem \
--tls-version tlsv1.2 \
--protocol-version mqttv311 \
--debug \
--qos 1 \
--topic /devices/esp32/events \
--message "Hello MQTT"
Когда я запускаю эту команду ^ Я получаю следующую ошибку:
Client projects/telemetry-268916/locations/us-central1/registries/iotcore-registry telemetry/devices/esp32 sending CONNECT
Client projects/telemetry-268916/locations/us-central1/registries/iotcore-registry-telemetry/devices/esp32 received CONNACK
Connection Refused: not authorised.
Error: The connection was refused.
Я искал везде и не могу найти решение этой проблемы. Я использую сертификат root и указываю файл CA, чтобы узнать, что происходит - HELP!