Можем ли мы подготовить нисходящие устройства с помощью пограничных модулей Azure IoT? - PullRequest
1 голос
/ 11 апреля 2019

Могу ли я использовать Device Provisioning Service (DPS) для обеспечения нисходящих устройств с помощью пограничного модуля?Для сценария «Шлюз с преобразованием идентичности» должен ли пограничный шлюз иметь строку подключения для всех последующих устройств с ним или он может использовать службу DPS для получения строки подключения?

Ответы [ 2 ]

1 голос
/ 16 мая 2019

У вас может быть собственный модуль, который будет выполнять работу по обеспечению через DPS. В AS версии 1.6 Edge Runtime нет встроенной инициализации дочерних устройств. Ничто не мешает вам написать модуль, который будет прокси-вызовы dps от ваших дочерних устройств или реализовывать ваше собственное рукопожатие, если вы делаете перевод протокола.

Вот структура вызова регистрации устройства DPS:

 const registrationOptions = {
        url: `https://${dpsEndpoint}/${idScope}/registrations/${deviceId}/register?api-version=${dpsVersion}`,
        method: 'PUT',
        json: true,
        insecure: true,
        rejectUnauthorized: false,
        headers: { Authorization: sasToken },
        body: bodyJson,
    };

Ваше устройство может зарегистрироваться через пограничный модуль или пограничный модуль может зарегистрировать устройство, если вы используете трансляцию протокола. Вы можете найти следующее github repo полезным, чтобы понять, как шлюз может регистрировать дочерние устройства. https://github.com/Azure/iotc-device-bridge

1 голос
/ 11 апреля 2019

Служба инициализации устройств в настоящее время вообще не работает через IoT Edge в сценариях с нисходящими устройствами.

Исходя из моего опыта, вам придется настраивать подготовку каждого нисходящего устройства по отдельности и иметь механизм, который назначит родительское устройство (устройство IoT Edge) нисходящему устройству, если вы используете сертификаты x.509. (в настоящее время, я думаю, что это в предварительном просмотре, имя свойства называется deviceScope, который вам нужно установить).

Также в документации говорится: «Перевод идентификаторов - устройства, которые не могут подключиться к IoT Hub, могут подключаться к устройству шлюза ...» Это означает, что в случае преобразования идентификаторов ваше нисходящее устройство не видимо для IoT Hub, поэтому также для DPS, но потенциально находится в той же сети, что и ваше устройство IoT Edge.

Теперь, в зависимости от бизнес-ситуации, и если ваше нисходящее устройство вообще не имеет подключения и видимости к IoT Hub, другой способ заключается в том, что вы вообще не регистрируете нисходящее устройство как устройство. Например, вы можете попытаться отправить данные на сервер RabittMQ и иметь модуль на IoT Edge, который подписывается, получает данные и отправляет их в IoT Hub. Или, если ваше нисходящее устройство имеет доступ только к локальной сети, настройте какую-либо конечную точку в одном из пограничных модулей IoT и отправьте данные с нисходящего устройства на эту конечную точку.

...