Руководство. Определение нового типа устройства шлюза Интернета вещей в приложении Azure IoT Central

В этом учебнике вы создадите шаблон устройства шлюзаИнтеллектуальное здание. Устройство шлюза Интеллектуальное здание связано с другими подчиненными устройствами.

Схема, показывющая связь между устройством шлюза и его подчиненными устройствами.

Устройство шлюза также может:

  • отправлять собственные данные телеметрии, например, о температуре;
  • отвечать на обновления доступных для записи свойств оператором. Например, оператор может изменить интервал отправки телеметрии.
  • отвечать на команды, например перезагрузку устройства.

В этом руководстве описано следующее:

  • Создание шаблонов подчиненных устройств
  • Создайте шаблон устройства шлюза
  • Публикация шаблона устройства
  • Создание имитации устройств

Необходимые компоненты

Для выполнения шагов из этого руководства требуется следующее:

Создание шаблонов подчиненных устройств

В этом руководстве используются шаблоны устройств для устройства Датчика начальной платформы Hobo MX-100 иустройства датчика заполнения RS40 для создания имитированных подчиненных устройств.

Чтобы создать шаблон устройства для устройства Датчика temp Hobo Hobo MX-100, выполните следующее:

  1. На панели слева выберите элемент Шаблоны устройств. Затем щелкните + Создать, чтобы начать добавление шаблона.

  2. Прокрутите вниз, пока не увидите плитку для устройства датчика temp датчика Hobo MX-100. Выберите плитку и нажмите кнопку "Далее".

  3. На странице Просмотр щелкните Создать, чтобы добавить шаблон устройства в приложение.

Вот как можно создать шаблон устройства для датчика присутствия RS40:

  1. На панели слева выберите элемент Шаблоны устройств. Затем щелкните + Создать, чтобы начать добавление шаблона.

  2. Прокрутите вниз, пока не увидите плитку для устройства Датчика занятости Rigado RS40. Выберите плитку и нажмите кнопку "Далее".

  3. На странице Просмотр щелкните Создать, чтобы добавить шаблон устройства в приложение.

Теперь у вас есть шаблоны для двух типов подчиненных устройств:

Снимок экрана: подчиненные шаблоны устройств.

Создайте шаблон устройства шлюза

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

Чтобы добавить новый шаблон устройства шлюза в приложение, сделайте следующее.

  1. На панели слева выберите элемент Шаблоны устройств. Затем щелкните + Создать, чтобы начать добавление шаблона.

  2. На странице "Выбор типа шаблона" выберите плитку "Устройство Интернета вещей", а затем нажмите кнопку "Далее".

  3. На странице Настройка устройства установите флажок Это устройство шлюза.

  4. В качестве имени шаблона введите Устройство шлюза "Интеллектуальное здание" и выберите Далее: Проверка.

  5. На странице Отзыв выберите Создать.

  6. На странице Создание модели щелкните плитку Настраиваемая модель.

  7. Выберите + Добавить возможность, чтобы добавить возможность.

  8. В качестве отображаемого имени введите Отправка данных, а затем в качестве типа возможности выберите Свойство.

  9. Выберите логическое значение в качестве типа схемы, установите для записи и нажмите кнопку "Сохранить".

Добавление связей

Далее вы добавите связи в шаблоны для шаблонов нижестоящих устройств:

  1. В шаблоне Устройство шлюза "Интеллектуальное здание" щелкните Связи.

  2. Нажмите кнопку + Add relationship (+ Добавить связь). Введите отображаемое имя датчика окружающей среды и выберите Hobo MX-100 в качестве целевого объекта.

  3. Снова нажмите кнопку + Add relationship (+ Добавить связь). Введите Датчик присутствия в качестве отображаемого имени, а в качестве целевого объекта выберите Датчик присутствия RS40.

  4. Выберите Сохранить.

Снимок экрана: отношения шлюза.

Добавление облачных свойств

Шаблон устройства шлюза может содержать свойства облака. Свойства облака существуют только в приложении IoT Central и никогда не отправляются на устройство и не принимаются с него.

Чтобы добавить свойства облака в шаблон Устройство шлюза "Интеллектуальное здание", сделайте следующее.

  1. В шаблоне устройства шлюза Smart Building выберите модель устройства шлюза Smart Building.

  2. Воспользуйтесь сведениями из следующей таблицы, чтобы добавить в шаблон устройства шлюза два свойства облака.

    Показать имя Тип возможности Семантический тип Схема
    Дата последнего обслуживания Облачное свойство нет Дата
    Название клиента Облачное свойство нет Строка
  3. Выберите Сохранить.

Создание представлений

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

  • Формы для просмотра и редактирования свойств устройства и облака.
  • Представления для визуализации устройств.

Чтобы создать представления по умолчанию для шаблона Устройство шлюза "Интеллектуальное здание", выполните следующие действия.

  1. В шаблоне Устройство шлюза "Интеллектуальное здание" щелкните Представления.

  2. Щелкните плитку Создать представления по умолчанию и выберите все параметры.

  3. Щелкните Generate default dashboard view(s) (Создать представления панели мониторинга по умолчанию).

Публикация шаблона устройства

Прежде чем создать имитированное устройство шлюза или подключить реальное устройство шлюза, необходимо опубликовать шаблон устройства.

Чтобы опубликовать шаблон устройства шлюза, выполните следующие действия.

  1. Выберите шаблон Устройство шлюза "Интеллектуальное здание" на странице Шаблоны устройств.

  2. Выберите Опубликовать.

  3. В диалоговом окне Publish a Device Template (Публикация шаблона устройства) щелкните Опубликовать.

После публикации шаблона устройства он отображается на странице Устройства и в представлении для оператора. Оператор может использовать шаблон для создания экземпляров устройства или настройки правил и мониторинга. Изменение опубликованного шаблона может повлиять на поведение приложения.

Дополнительные сведения об изменении шаблона устройства после публикации см. в статье "Изменение существующего шаблона устройства".

Создание имитации устройств

В этом учебнике используются имитированные подчиненные устройства и имитированное устройство шлюза.

Чтобы создать имитацию устройства шлюза, выполните следующие действия.

  1. На странице Устройства выберите Устройство шлюза "Интеллектуальное здание" в списке шаблонов устройств.

  2. Щелкните + Создать, чтобы начать добавление нового устройства.

  3. Оставьте созданные идентификатор устройства и имя устройства. Убедитесь, что имитированный переключатель имеет значение "Да". Нажмите кнопку создания.

Чтобы создать имитированные подчиненные устройства, выполните следующие действия.

  1. На странице Устройства выберите в списке шаблонов устройств пункт Датчик присутствия RS40.

  2. Щелкните + Создать, чтобы начать добавление нового устройства.

  3. Оставьте созданные идентификатор устройства и имя устройства. Убедитесь, что имитированный переключатель имеет значение "Да". Нажмите кнопку создания.

  4. На странице "Устройства" выберите Hobo MX-100 в списке шаблонов устройств.

  5. Щелкните + Создать, чтобы начать добавление нового устройства.

  6. Оставьте созданные идентификатор устройства и имя устройства. Убедитесь, что имитированный переключатель имеет значение "Да". Нажмите кнопку создания.

Снимок экрана: имитированные устройства.

Добавление связей подчиненных устройств к устройству шлюза

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

  1. На странице "Устройства" выберите Hobo MX-100 в списке шаблонов устройств, а затем выберите имитированное устройство Hobo MX-100.

  2. Выберите Подключение к шлюзу.

  3. В диалоговом окне Подключение к шлюзу выберите шаблон Устройство шлюза "Интеллектуальное здание", а затем выберите созданный ранее имитированный экземпляр.

  4. Выберите Вложить.

  5. На странице Устройства выберите Датчик присутствия RS40 в списке шаблонов устройств, а затем выберите имитацию устройства Датчика присутствия RS40.

  6. Выберите Подключение к шлюзу.

  7. В диалоговом окне Подключение к шлюзу выберите шаблон Устройство шлюза "Интеллектуальное здание", а затем выберите созданный ранее имитированный экземпляр.

  8. Выберите Вложить.

Теперь оба имитированных подчиненных устройства подключены к имитируемому устройству шлюза. Если вы перейдете к представлению Downstream Devices (Подчиненные устройства) для вашего устройства шлюза, вы увидите соответствующие подчиненные устройства:

Снимок экрана: устройства, подключенные к шлюзу.

Подключение реальных подчиненных устройств

В примере кода в руководстве по созданию и подключению клиентского приложения к приложению Azure IoT Central показано, как включить идентификатор модели из шаблона устройства в полезные данные подготовки, отправляемые устройством.

При подключении нижестоящего устройства можно изменить полезные данные подготовки, чтобы включить идентификатор устройства шлюза. Идентификатор модели позволяет IoT Central назначить устройство правильному шаблону нижестоящего устройства. Идентификатор шлюза позволяет IoT Central установить связь между подчиненным устройством и его шлюзом. В этом случае полезные данные подготовки, отправляемые устройством, выглядят как следующий код JSON:

{
  "modelId": "dtmi:rigado:HoboMX100;2",
  "iotcGateway":{
    "iotcGatewayId": "gateway-device-001"
  }
}

Шлюз может зарегистрировать и подготовить нижестоящему устройству и связать нижнее устройство с шлюзом следующим образом:

var crypto = require('crypto');


var ProvisioningTransport = require('azure-iot-provisioning-device-mqtt').Mqtt;
var SymmetricKeySecurityClient = require('azure-iot-security-symmetric-key').SymmetricKeySecurityClient;
var ProvisioningDeviceClient = require('azure-iot-provisioning-device').ProvisioningDeviceClient;

var provisioningHost = "global.azure-devices-provisioning.net";
var idScope = "<The ID scope from your SAS group enrollment in IoT Central>";
var groupSymmetricKey = "<The primary key from the SAS group enrollment>";
var registrationId = "<The device ID for the downstream device you're creating>";
var modelId = "<The model you're downstream device should use>";
var gatewayId = "<The device ID of your gateway device>";

// Calculate the device key from the group enrollment key
function computeDerivedSymmetricKey(deviceId, masterKey) {
    return crypto.createHmac('SHA256', Buffer.from(masterKey, 'base64'))
        .update(deviceId, 'utf8')
        .digest('base64');
}

var symmetricKey = computeDerivedSymmetricKey(registrationId, groupSymmetricKey);

var provisioningSecurityClient = new SymmetricKeySecurityClient(registrationId, symmetricKey);

var provisioningClient = ProvisioningDeviceClient.create(provisioningHost, idScope, new ProvisioningTransport(), provisioningSecurityClient);

// Use the DPS payload to:
// - specify the device capability model to use.
// - associate the device with a gateway.
var provisioningPayload = {modelId: modelId, iotcGateway: { iotcGatewayId: gatewayId}}

provisioningClient.setProvisioningPayload(provisioningPayload);

provisioningClient.register(function(err, result) {
  if (err) {
    console.log("Error registering device: " + err);
  } else {
    console.log('The registration status is: ' + result.status)
   }
});

Очистка ресурсов

Если в дальнейшем вы не планируете работать с краткими руководствами и другими учебными материалами по IoT Central, можно удалить приложение IoT Central:

  1. В приложении IoT Central перейдите к управлению приложениями>.
  2. Щелкните элемент Удалить и подтвердите свое действие.

Следующий шаг

Далее вы можете узнать о следующем: