VK Cloud logo

Быстрый старт

Быстрый старт поможет вам начать работу с сервисом и познакомиться с его возможностями.

Пройдя все шаги быстрого старта, вы:

  1. Создадите драйвер и шаблон устройства.
  2. Создадите новое устройство в структуре.
  3. Создадите шаблон агента и сам агент.
  4. Авторизуете агент для работы с созданным устройством.
  5. Подключите эмулятор устройства к IoT Platform.
  6. Настроите экспорт данных в объектное хранилище VK Cloud.

1. Подготовительные шаги

  1. Зарегистрируйтесь в IoT Platform. Убедитесь, что у вас есть доступ к личному кабинету IoT.

  2. Скачайте эмулятор устройства IoT для вашей ОС. Распакуйте скачанный архив при необходимости.

  3. Настройте объектное хранилище:

    1. Создайте бакет s3_exporter.
    2. Настройте аккаунт S3.
    3. Сохраните сгенерированные Access Key ID и Secret Key для созданного аккаунта.

2. Создайте драйвер эмулятора

  1. Перейдите в раздел Драйверы личного кабинета IoT Platform.

  2. Нажмите кнопку Добавить драйвер.

  3. В открывшейся форме укажите значения:

    • Название: Драйвер эмулятора.
    • Идентификатор: emulatorDriver.
    • Протокол: embedded.
  4. Нажмите кнопку Следующий шаг.

  5. Нажмите кнопку Добавить параметр в разделе Параметры События. Этот параметр будет контролировать частоту опроса сенсоров агентом у устройства. В открывшейся форме укажите значения и нажмите кнопку Сохранить:

    • Название: event_scrape_interval.
    • Тип значения: duration.
    • Обязательный параметр: Да.
    • Значение по умолчанию: 30s.
  6. Нажмите кнопку Добавить параметр в разделе Параметры Состояния. Этот параметр будет контролировать частоту опроса переключателей агентом у устройства. В открывшейся форме укажите значения и нажмите кнопку Сохранить:

    • Название: state_scrape_interval.
    • Тип значения: duration.
    • Обязательный параметр: Да.
    • Значение по умолчанию: 30s.
  7. Нажмите кнопку Сохранить внизу страницы.

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

  1. Перейдите в раздел Шаблоны устройств личного кабинета IoT Platform.

  2. Нажмите кнопку Добавить шаблон.

  3. Укажите в полях формы значения:

    • Название шаблона: Шаблон эмулятора.
    • Идентификатор: emulatorTemplate.
  4. Нажмите кнопку Следующий шаг.

  5. Выберите в поле Драйвер вариант Драйвер эмулятора.

  6. Нажмите кнопку Следующий шаг.

  7. Пропустите добавление параметров устройства и нажмите кнопку Следующий шаг.

    Откроется страница Дерево устройства. В рамках быстрого старта будут использованы датчики:

    • сенсор температуры;
    • сенсор влажности;
    • переключатель освещения в помещении.
  8. Откройте меню справа от строки Корневой узел шаблона и выберите Добавить датчик.

  9. В открывшейся форме заполните поля:

    • Название: Сенсор температуры.
    • Идентификатор: temperature.
    • Тип датчика: Событие.
    • Ед. измерения: С.
    • Тип значения: float.
    • Автосохранение в оперативное хранилище: отметить опцию.
    • Автосохранение в долговременное хранилище: отметить опцию.
    • Родительский тег: Корневой узел шаблона.
    • Параметры драйвера: оставить без изменений.

    Нажмите кнопку Сохранить.

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

    • Название: Сенсор влажности.
    • Идентификатор: humidity.
    • Тип датчика: Событие.
    • Ед. измерения: %.
    • Тип значения: float.
    • Автосохранение в оперативное хранилище: отметить опцию.
    • Автосохранение в долговременное хранилище: отметить опцию.
    • Родительский тег: Корневой узел шаблона.
    • Параметры драйвера: оставить без изменений.

    Нажмите кнопку Сохранить.

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

    • Название: Переключатель освещения в помещении.
    • Идентификатор: light.
    • Тип датчика: Состояние.
    • Ед. измерения: не заполнять.
    • Тип значения: boolean.
    • Автосохранение в цифровой двойник: отметить опцию.
    • Родительский тег: Корневой узел шаблона.
    • Параметры драйвера: оставить без изменений.

    Нажмите кнопку Сохранить.

  12. Нажмите кнопку Сохранить под списком.

4. Создайте экземпляр устройства

  1. Перейдите в раздел Устройства личного кабинета IoT Platform.

  2. Нажмите кнопку Добавить устройство.

  3. В появившейся форме заполните поля:

    • Название: Эмулятор.
    • Идентификатор: emulator.
    • Шаблон устройства: Шаблон эмулятора.
    • Агент: Без агента.
  4. Нажмите кнопку Следующий шаг.

  5. В появившейся форме заполните поля:

    • Название тега: Эмулятор.
    • Идентификатор тега: emulator.
    • Родительский узел: Корень проекта.
  6. Нажмите кнопку Следующий шаг.

  7. Повторите предыдущий шаг.

  8. Нажмите кнопку Сохранить.

5. Создайте шаблон агента

  1. Перейдите в раздел Шаблоны агентов личного кабинета IoT Platform.

  2. Нажмите кнопку Добавить шаблон.

  3. В появившейся форме заполните поля:

    • Название: Шаблон агента эмулятора.
    • Идентификатор: agentTemplate.
    • Поддерживаемые драйверы: Драйвер эмулятора.
  4. Нажмите кнопку Добавить.

6. Создайте и настройте агент

  1. Перейдите в раздел Агенты личного кабинета IoT Platform.

  2. Нажмите кнопку Добавить агент.

  3. В появившейся форме заполните поля:

    • Название: Агент для эмулятора.
    • Идентификатор: emulatorAgent.
    • Шаблон: Шаблон агента эмулятора.
  4. Нажмите кнопку Сохранить.

  5. Перейдите в раздел Устройства.

  6. Нажмите на устройство Эмулятор в общем списке.

  7. Нажмите кнопку Редактировать.

  8. В поле Агент выберите вариант Агент для эмулятора.

  9. Нажмите кнопку Следующий шаг.

  10. Нажмите кнопку Сохранить.

7. Подключите устройство

  1. Перейдите в раздел Агенты личного кабинета IoT Platform.

  2. Нажмите на Агент для эмулятора в общем списке.

  3. Перейдите на вкладку Авторизационные данные.

  4. Скопируйте логин и пароль из одноименных полей.

  5. Откройте терминал или командную строку вашей ОС.

  6. Перейдите в директорию с распакованным архивом с эмулятором.

  7. Выполните команду:

    ./bin/darwin_amd64/starting_guide -login <скопированный логин агента> -password <пароль агента>
  8. Убедитесь, что эмулятор начал отправлять данные — должны появится строки вида:

    12023-02-13T12:23:21.152+0300    INFO    Bootstrapping emulator
    22023-02-13T12:23:21.493+0300    INFO    Running emulator
    32023-02-13T12:23:51.750+0300    INFO    Sending light state value  {"value": true}
    42023-02-13T12:23:51.750+0300    INFO    Sending humidity value  {"value": 39.9125}
    52023-02-13T12:23:51.750+0300    INFO    Sending temperature value  {"value": 26.139}
    62023-02-13T12:24:21.758+0300    INFO    Sending humidity value  {"value": 39.9267}
    72023-02-13T12:24:21.758+0300    INFO    Sending temperature value  {"value": 26.111}
    82023-02-13T12:24:21.758+0300    INFO    Sending light state value  {"value": true}
    92023-02-13T12:24:51.750+0300    INFO    Sending light state value  {"value": false}
    102023-02-13T12:24:51.750+0300    INFO    Sending humidity value  {"value": 39.772}

8. Проверьте получение данных

  1. Перейдите в раздел Устройства личного кабинета IoT Platform.
  2. Нажмите на устройство Эмулятор в общем списке.
  3. Перейдите на вкладку Структура устройства.
  4. Последовательно нажмите на каждую строку из структуры — откроется статистика по собранным данным от эмулятора устройства.

9. Настройте экспорт данных в объектное хранилище

В качестве S3-совместимого хранилища будет использовано S3-хранилище в облаке VK Cloud, а источника данных для экспорта – эмулятор.

9.1. Создайте экспортер

  1. Перейдите в раздел Экспортеры личного кабинета IoT Platform.

  2. Нажмите кнопку Добавить экспортер.

  3. На странице заполните поля:

    • Идентификатор: s3.
    • Название: s3.
    • Описание: S3 экспортер.
    • Тип экспортера: s3.
  4. Нажмите кнопку Следующий шаг.

  5. На странице заполните поля:

    • CONNECTION_URL_STRING: hb.bizmrg.com.
    • BUCKET: s3_exporter.
    • REGION: ru-msk.
    • SSL: 1.
    • ACCESS_KEY_ID: значение Access Key ID, сгенерированное при создании аккаунта S3.
    • SECRET_ACCESS_KEY: значение Secret Key, сгенерированное при создании аккаунта S3.
    • MAX_BULK_INSERT_SIZE: 100.
    • PERIOD_BETWEEN_RETRIES: 5s.
    • FORMAT: jsonl.
    • BULK_INSERT_TIMEOUT: 1m.
  6. Нажмите кнопку Сохранить.

9.2. Создайте правило

  1. Перейдите в раздел Правила личного кабинета IoT Platform.

  2. Нажмите кнопку Добавить правило.

  3. На странице заполните поля:

    • Название: Экспорт в S3.
    • Идентификатор: export_s3.
    • Тип правила: Реактивное.
    • Правило активно: отметить опцию.
  4. Нажмите кнопку Следующий шаг.

  5. На странице заполните поля:

    • Язык: Python.
    • Код правила: вставьте код ниже.
    1from coiiot_sdk import exporters, context, user_logs
    2
    3logger = user_logs.get_logger()
    4exporter = exporters.get_by_name("s3")
    5ctx = context.current()
    6
    7logger.info("sending event into s3 storage")
    8try:
    9    exporter.send({
    10        "tag": ctx.tag.full_name,
    11        "value": ctx.msg.value,
    12        "timestamp": ctx.msg.timestamp,
    13    })
    14except Exception as e:
    15    logger.error("failed to send event into s3 storage")
    16else:
    17    logger.info("successfully sent event into s3 storage")
  6. Нажмите кнопку Добавить.

9.3. Назначьте правило на эмулятор и проверьте его работу

  1. Перейдите в раздел Устройства личного кабинета IoT Platform.
  2. Нажмите на устройство Эмулятор в общем списке.
  3. Перейдите на вкладку Структура устройства.
  4. Откройте меню справа от строки Сенсор температуры и выберите Редактировать.
  5. В поле Правила потоковой обработки выберите правило export_s3.
  6. Нажмите кнопку Сохранить.
  7. Подождите не менее 5 минут. Перейдите в раздел Логирование.
  8. Убедитесь, что появилась запись вида [rule_name=export_s3], successfully sent event into s3 storage.
  9. В личном кабинете VK Cloud откройте файлы бакета: убедитесь, что появился файл с данными IoT в формате json.

Проконтролируйте использование ресурсов

  1. Остановите эмулятор устройства: должна появиться запись вида Got termination signal, closing app....

  2. Отвяжите правило от эмулятора:

    1. Перейдите в раздел Правила личного кабинета IoT Platform.
    2. Нажмите на правило Экспорт в S3 в общем списке.
    3. Нажмите кнопку Редактировать.
    4. Уберите флажок для поля Правило активно.
    5. Нажмите кнопку Следующий шаг.
    6. Нажмите кнопку Сохранить.

Что дальше?