无法使用 paho 客户端连接到物联网

问题描述

我无法连接 Cloud IoT Core MQTT 网桥。

我已经使用以下句子验证了连接性(成功)

gcloud iot registries describe telemetria --project=mantalgot1 --region=europe-west1
gcloud iot devices describe telemetriadev --project=mantalgot1 --region=europe-west1 --registry=telemetria

使用支持页面中引用的示例连接 Im

https://cloud.google.com/iot/docs/samples/mqtt-samples
https://github.com/GoogleCloudplatform/cpp-samples/tree/main/iot/mqtt-ciotc

我使用以下参数

struct {
  char* address;
  char clientid[kClientidSize];
  char* deviceid;
  char* keypath;
  char* projectid;
  char* region;
  char* registryid;
  char* rootpath;
  char topic[kTopicSize];
  char* payload;
  char* algorithm;
} opts = {"mqtt.googleapis.com:8883","projects/mantalgot1/locations/europe-west1/registries/telemetria/devices/telemetriadev","telemetriadev","./rsa_private.pem","mantalgot1","europe-west1","telemetriareg","./roots.pem","/devices/telemetriadev/events","Hello World!","ES256"};

MQTTClient_create 函数响应成功 MQTTClient_connect 函数返回错误值 (-1)“无法连接” 我使用带有 TLS1.2 的 devian 8 设备,并且设备与谷歌时间同步。 检查:

root@OAS001:# ./mqtt_ciotc  "Hello World!" --deviceid telemetriadev --registryid telemetriareg --projectid mantalgot1 --keypath ./certs/rsa_private.pem --algorithm RS256 --rootpath ./certs/roots.pem --region europe-west1   
New client id constructed:
projects/mantalgot1/locations/europe-west1/registries/telemetriareg/devices/telemetriadev
Topic constructed:
/devices/telemetriadev/events
open file: ./certs/rsa_private.pem
IAT: 1615818843 EXP: 1615822443
Failed to connect,return code -1

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)