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

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

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

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

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

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

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

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

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

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

0 голосов
/ 07 февраля 2019

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

Обычно авторизация на основе сертификатов используется только для авторизации на стороне MQTT-брокера.Таким образом, вы можете использовать пару Открытый / Частный ключ для авторизации и подключения к брокеру и использовать 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/

...