Регистрация основного устройства Google Cloud IoT - несколько устройств могут использовать один и тот же открытый / закрытый ключ

Я работаю над собственным проектом с несколькими сенсорными устройствами. Я не хочу, чтобы пользователь регистрировал каждое устройство отдельно. В том смысле, что я хочу использовать одну и ту же пару открытых / закрытых ключей для всех устройств, регистрируемых в реестре, но иметь возможность передавать информацию об устройстве в pubsub через mqtt/http с уникальной информацией об устройстве, такой как имя или идентификатор. Можно ли этого добиться?

Я предполагаю, что использую те же ключи. Я регистрирую все устройства как одно, но возможно ли отправить информацию об устройстве как часть публикуемого сообщения. делает ли это, что запрещает использование встроенных функций Google, как API.

новые для облачных технологий, любые мысли / предложения помогут.

2 ответа

Зависит от конфигурации MQTT-брокера.

Обычно авторизация на основе сертификатов используется только для авторизации на стороне MQTT-Broker. Таким образом, вы можете использовать открытый / закрытый ключ для авторизации и подключения к брокеру, а также использовать MQTT ClientID для разных устройств.

MQTT-Broker также можно настроить для использования идентификатора из пары "Открытый / Частный ключ авторизации" в качестве имени пользователя.

use_identity_as_username true

В этом случае, если MQTT-Broker также имеет конфигурацию ACL на основе имени пользователя, например, так:

#device info sent from device. %u <- username
pattern readwrite %u/devinfo

Все ваши устройства будут публиковать сообщения под одним и тем же именем пользователя, вы должны установить разные ClientID для каждого устройства или использовать CleanSession Flag в этом случае.

Вот хорошее прочтение, чтобы понять, как вообще работает соединение между устройством и брокером: https://www.hivemq.com/blog/mqtt-essentials-part-3-client-broker-connection-establishment/

Похоже, вы действительно хотите использовать новую функциональность шлюза (сейчас она в бета-версии, но я пробовал использовать ее несколько раз, и она довольно стабильна).

Посмотрите это руководство по шлюзам, чтобы понять, о чем мы говорим:

https://cloud.google.com/community/tutorials/cloud-iot-gateways-rpi

TL; версия DR заключается в том, что она позволяет одному устройству управлять множеством устройств меньшего размера (которые не могут самостоятельно выполнять аутентификацию), но при этом эти меньшие устройства будут представлены в облаке.

В общем, у вас есть более мощное устройство (например, Raspberry Pi или настольный компьютер), зарегистрированное в IoT Core как "шлюз". Затем, когда вы создаете отдельные устройства в облаке, вы не указываете ключ SSL (консоль предупредит вас о невозможности подключения устройства), а затем вы можете "связать" устройство со шлюзом, и он Я буду обрабатывать часть для вас. Затем отдельные устройства вместо вызова в Интернет подключаются и общаются с устройством шлюза локально.

Другие вопросы по тегам