未授权连接(5)-MQTT谷歌云物联网

jit*_*eph 4 java mqtt google-cloud-platform

我尝试连接到 Google Cloud IOT MQTT Brocker。我在 Java 客户端中未授权连接 (5)作为异常。

device_id 等详细信息是正确的。云iot中为设备设置的公钥。

使用以下 repo 的示例代码。 https://github.com/GoogleCloudPlatform/java-docs-samples/tree/master/iot/api-client/mqtt_example

Sia*_*Ooi 5

另一点需要注意的是配置的 GCP IoT Core 云区域。

有类似的问题。我将 GCP IoT Core 云区域配置为“asia-east1”,而在客户端应用程序端,其默认云区域为“us-central1”。

如果云区域配置不正确,python/NodeJS IoT Core 示例(mqtt、http、end2end)将返回诸如

Creating JWT using RS256 from private key file rsa_private.pem
Publishing message 1/100: 'test/test_1-payload-1'
('on_connect', 'Connection Refused: not authorised.')
('on_disconnect', '5: The connection was refused.')
Run Code Online (Sandbox Code Playgroud)

要解决这个问题,只需将正确的云区域参数传递给命令 --cloud_region=asia-east1

例子:

python cloudiot_mqtt_example.py --project_id=project_id --registry_id=registry_id --device_id=device_id --private_key_file=rsa_private.pem --algorithm=RS256 --cloud_region=asia-east1
Run Code Online (Sandbox Code Playgroud)