Ошибка Google Cloud IoT GATEWAY_DEVICE_NOT_FOUND - PullRequest
0 голосов
/ 03 октября 2019

Я разрабатываю устройство Google IoT Gateway, которое обеспечивает себя, используя введенную пользователем информацию. У меня есть получение токена OAuth, предоставление себя в качестве шлюза, а затем подготовка новых устройств и привязка их к шлюзу. Я проверил, что вся инициализация работает, поскольку я вижу шлюз и другие устройства, которые он предоставил, на консоли Google Cloud Console в IoT Core. Дочерние устройства также перечислены в списке связанных устройств в интерфейсе шлюзового устройства. См. Снимок экрана здесь для проверки:

enter image description here

Однако, когда шлюз пытается опубликовать сообщение в MQTT, когда он получает телеметрию от устройства, я получаю ошибкуon MQTT подписка на ошибки, например:

{"error_type":"GATEWAY_DEVICE_NOT_FOUND","description":"The specified device with ID 'SN0013A200418E9E27' is not attached to the gateway.","mqtt_message_info":{"message_type":"PUBLISH","topic":"/devices/SN0013A200418E9E27/ev
ents"}}

Эта ошибка кажется некорректной, поскольку устройство наверняка связано с шлюзом.

Шлюз попытался опубликовать это сообщение в теме:

/devices/SN0013A200418E9E27/events

Сообщение, публикуемое по этой теме:

{"data":{"transmission_count":203,"battery_level":3.29406,"type":24,"node_id":0,"rssi":29,"acc_x":-46,"acc_y":0,"acc_z":93,"temp_change":0}}

Метод авторизации шлюза - «Только ассоциация», так как я понимаю, что он может сообщать телеметрию для дочерних устройств только на основе аутентификацииучетные данные шлюза.

Еще одна вещь, которую я должен отметить, это то, что шлюз является встроенным устройством и, следовательно, использует долгосрочный домен MQTT mqtt.2030.ltsapis.goog. Я могу убедиться, что шлюз имеет стабильное соединение с Google IoT Core. MQTT-брокер, отслеживая его соединение в журналах Stackdriver. Возможно ли, что домен долгосрочной поддержки не поддерживает шлюзы? Если так, то я не смог найти эту информацию.

1 Ответ

1 голос
/ 03 октября 2019

Я прошу прощения. Я не знаю, как я пропустил эту документацию: https://cloud.google.com/iot/docs/how-tos/gateways/mqtt-bridge?hl=th#gateway_messages

Сообщение должно быть опубликовано от шлюза к брокеру Google IoT Core, чтобы подключить устройство к шлюзу. После того, как я это сделал, все работает отлично.

...