Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
      • Работа с Yandex IoT Core с устройства с Android на языке Java
      • Работа с Yandex IoT Core на языке C#
      • Работа с Yandex IoT Core на языке Java
      • Мониторинг состояния географически распределенных устройств
      • Мониторинг показаний датчиков и уведомления о событиях
      • Тестирование доставки сообщения
      • Эмуляция множества IoT-устройств
      • Запись данных с устройства в базу данных

В этой статье:

  • Перед началом работы
  • Необходимые платные ресурсы
  • Подготовьте облако к работе
  • Создайте кластер в Managed Service for PostgreSQL
  • Создайте необходимые ресурсы Yandex IoT Core
  • Создайте реестр и настройте авторизацию по логину и паролю
  • Создайте устройства и настройте авторизацию по логину и паролю
  • Создайте эмулятор устройств в Cloud Functions
  • Создайте функцию эмуляции отправки данных с устройства
  • Протестируйте функцию эмуляции
  • Создайте триггер для вызова функции с периодичностью один раз в минуту
  • Создайте функцию обработки данных в Cloud Functions
  • Создайте функцию обработки принимаемых данных
  • Протестируйте функцию обработки данных
  • Просмотрите результат обработки данных в Managed Service for PostgreSQL
  • Создайте триггер для вызова функции обработки данных
  • Просмотрите результат работы триггера в Managed Service for PostgreSQL
  • Настройте мониторинг в DataLens
  • Настройте подключение к Managed Service for PostgreSQL
  • Создайте датасет
  • Создайте чарт по показателям температуры и напряжения сети
  • Создайте чарт с картой
  • Создайте дашборд
  • Как удалить созданные ресурсы
  1. Прикладные решения
  2. Интернет вещей (IoT)
  3. Мониторинг состояния географически распределенных устройств

Мониторинг состояния географически распределенных устройств

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.
  • Перед началом работы
    • Необходимые платные ресурсы
  • Подготовьте облако к работе
  • Создайте кластер в Managed Service for PostgreSQL
  • Создайте необходимые ресурсы Yandex IoT Core
    • Создайте реестр и настройте авторизацию по логину и паролю
    • Создайте устройства и настройте авторизацию по логину и паролю
  • Создайте эмулятор устройств в Cloud Functions
    • Создайте функцию эмуляции отправки данных с устройства
    • Протестируйте функцию эмуляции
    • Создайте триггер для вызова функции с периодичностью один раз в минуту
  • Создайте функцию обработки данных в Cloud Functions
    • Создайте функцию обработки принимаемых данных
    • Протестируйте функцию обработки данных
    • Просмотрите результат обработки данных в Managed Service for PostgreSQL
    • Создайте триггер для вызова функции обработки данных
    • Просмотрите результат работы триггера в Managed Service for PostgreSQL
  • Настройте мониторинг в DataLens
    • Настройте подключение к Managed Service for PostgreSQL
    • Создайте датасет
    • Создайте чарт по показателям температуры и напряжения сети
    • Создайте чарт с картой
    • Создайте дашборд
  • Как удалить созданные ресурсы

В этом руководстве вы настроите мониторинг состояния устройств (например, вендинговых автоматов), подключенных к сервису Yandex IoT Core и расположенных в разных точках города. Вы сможете наблюдать за состоянием автоматов на карте и графиках сервиса Yandex DataLens. Датчики будут эмулированы с помощью сервиса Yandex Cloud Functions. Если у вас есть подключенные датчики, используйте их. Для хранения данных будет использован сервис Yandex Managed Service for PostgreSQL.

Исходный код руководства доступен в репозитории на GitHub.

Чтобы настроить мониторинг показаний датчиков:

  1. Подготовьте облако к работе.
  2. Создайте кластер Managed Service for PostgreSQL.
  3. Создайте необходимые ресурсы Yandex IoT Core.
  4. Создайте эмулятор устройств в Cloud Functions.
  5. Создайте функцию обработки данных в Cloud Functions.
  6. Настройте мониторинг в DataLens.

Если созданные ресурсы вам больше не нужны, удалите их.

Перед началом работы

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсы

В стоимость поддержки описываемого решения входят:

  • плата за использование публичного IP-адреса (см. тарифы Yandex Virtual Private Cloud);
  • плата за количество сообщений (см. тарифы Yandex IoT Core);
  • плата за количество вызовов функции Cloud Functions (см. тарифы Yandex Cloud Functions);
  • плата за вычислительные ресурсы и хранилище кластера Managed Service for PostgreSQL (см. тарифы Yandex Managed Service for PostgreSQL).

Подготовьте облако к работе

  • Создайте сервисный аккаунт my-emulator-function-service-account для отправки данных. Назначьте ему роли functions.functionInvoker, iot.devices.writer и viewer.

  • Создайте сервисный аккаунт my-db-function-service-account для обработки данных. Назначьте ему роли functions.functionInvoker и editor.

  • Создайте облачную сеть и хотя бы одну подсеть в зоне доступности ru-central1-a, ru-central1-b или ru-central1-d.

  • Создайте группу безопасности my-pg-sg и добавьте правило для входящего трафика:

    • Диапазон портов — 6432.
    • Протокол — TCP.
    • Источник — CIDR.
    • CIDR блоки — 0.0.0.0/0.

Создайте кластер в Managed Service for PostgreSQL

В примере используются минимальные значения параметров хоста. Для реальных задач рекомендуется выбирать хосты с гарантированной долей vCPU 100%.

Консоль управления
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.

  2. В списке сервисов выберите Managed Service for PostgreSQL.

  3. Нажмите кнопку Создать кластер.

  4. Укажите имя кластера, например my-pg-database.

  5. В списке Окружение выберите PRODUCTION.

  6. В списке Версия выберите 15.

  7. В блоке Класс хоста укажите:

    • Платформа — Intel Ice Lake.
    • Тип — standard.
    • Класс — s3-c2-m8 (2 vCPU, 8 ГБ).
  8. В блоке Размер хранилища:

    • Выберите network-hdd.
    • Укажите размер 10 ГБ.
  9. В блоке База данных укажите:

    • Имя БД — db1.

    • Имя пользователя — user1.

    • Пароль — задайте пароль доступа к БД.

      Примечание

      Сохраните пароль, он понадобится вам для аутентификации.

    • Локаль сортировки (LC_COLLATE) — C.

    • Локаль набора символов (LC_CTYPE) — C.

  10. В блоке Сетевые настройки:

    1. Выберите облачную сеть, в которой создана группа безопасности my-pg-sg.
    2. Выберите группу безопасности my-pg-sg.
  11. В блоке Хосты:

    1. Оставьте один хост.
    2. Нажмите значок .
    3. В открывшемся окне включите опцию Публичный доступ и нажмите кнопку Сохранить.
  12. В блоке Дополнительные настройки включите опции Доступ из DataLens и Доступ из консоли управления.

  13. Нажмите кнопку Создать кластер.

Создание кластера может занять несколько минут.

Создайте необходимые ресурсы Yandex IoT Core

Реестр и устройство — основные компоненты сервиса Yandex IoT Core для обмена данными и командами. Чтобы устройства могли обмениваться данными, их необходимо создавать в одном реестре.

Создайте реестр и настройте авторизацию по логину и паролю

Консоль управления
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.

  2. В списке сервисов выберите IoT Core.

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

  4. В поле Имя введите имя реестра. Например, my-registry.

  5. В поле Пароль задайте пароль доступа к реестру. Пароль должен быть длиной не менее 14 символов, должен содержать строчные буквы, заглавные буквы и цифры. Для создания пароля можно воспользоваться генератором паролей.

    Примечание

    Сохраните пароль, он понадобится вам для аутентификации.

  6. Нажмите кнопку Создать.

Вы также можете использовать авторизацию с помощью сертификатов. Подробнее об авторизации в Yandex IoT Core.

Создайте устройства и настройте авторизацию по логину и паролю

Создайте три устройства: my-device-1, my-device-2 и my-device-3.

Консоль управления
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.

  2. В списке сервисов выберите IoT Core.

  3. Выберите реестр, созданный на предыдущем шаге.

  4. В меню слева выберите Устройства.

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

  6. В поле Имя введите имя устройства my-device-1.

  7. В поле Пароль задайте пароль доступа к устройству. Пароль должен быть длиной не менее 14 символов, должен содержать строчные буквы, заглавные буквы и цифры. Для создания пароля можно воспользоваться генератором паролей.

    Примечание

    Сохраните пароль, он понадобится вам для аутентификации.

  8. (Опционально) Добавьте алиас:

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

    2. Заполните поля: введите алиас (например events) и тип топика после $devices/{id} (например, events).

      В результате вместо топика $devices/<идентификатор_устройства>/events вы сможете использовать алиас events.

    3. Повторите действия для каждого добавляемого алиаса.

  9. Нажмите кнопку Создать.

  10. Аналогичным образом создайте устройства my-device-2 и my-device-3.

Вы также можете использовать авторизацию с помощью сертификатов. Подробнее об авторизации в Yandex IoT Core.

Создайте эмулятор устройств в Cloud Functions

Эмулятор отправит данные с устройств в кластер Managed Service for PostgreSQL.

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

Создайте функцию эмуляции отправки данных с устройства

Консоль управления
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.

  2. В списке сервисов выберите Cloud Functions.

  3. Создайте функцию:

    1. Нажмите кнопку Создать функцию.
    2. В поле Имя введите имя функции. Например, my-device-emulator-function.
    3. Нажмите кнопку Создать.
  4. Создайте версию функции:

    1. В открывшемся окне Редактор выберите Node.js 18.

    2. Отключите опцию Добавить файлы с примерами кода.

    3. Нажмите кнопку Продолжить.

    4. В поле Способ выберите Редактор кода.

    5. Нажмите кнопку Создать файл:

      • Имя файла — device-emulator.js.
      • Содержимое файла — код функции с GitHub.
    6. Аналогичным образом создайте файл package.json со следующим содержимым:

      {
        "name": "my-app",
        "version": "1.0.0",
        "dependencies": {
          "yandex-cloud": "*"
        }
      }
      
    7. В поле Точка входа укажите device-emulator.handler.

    8. В блоке Параметры укажите:

      • Таймаут — 10.

      • Память — 128 МБ.

      • Сервисный аккаунт — my-emulator-function-service-account.

      • Переменные окружения:

        Ключ Описание Значение
        CASH_DRAWER_SENSOR_VALUE Процент заполненности отсека купюр 67.89
        TEMPERATURE_SENSOR_VALUE Базовое значение температуры в отсеке выдачи товара 10.34
        POWER_SENSOR_VALUE Базовое значение напряжения сети 24.12
        SERVICE_DOOR_SENSOR_VALUE Показания датчика открытия сервисной дверцы False
        ITEM1_SENSOR_VALUE Остаток товара типа 1 50.65
        ITEM2_SENSOR_VALUE Остаток товара типа 2 80.97
        ITEM3_SENSOR_VALUE Остаток товара типа 3 30.33
        ITEM4_SENSOR_VALUE Остаток товара типа 4 15.15
        REGISTRY_ID Идентификатор реестра, который вы создали См. в консоли управления
        сервиса Yandex IoT Core
    9. Нажмите кнопку Сохранить изменения.

Протестируйте функцию эмуляции

  1. (Опционально) Чтобы получать подробную информацию с датчиков, подпишите реестр на топик устройства Yandex IoT Core.

    CLI

    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

    По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

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

    yc iot mqtt subscribe \
      --username <идентификатор_реестра> \
      --password <пароль_реестра> \
      --topic '$devices/<идентификатор_устройства>/events/#' \
      --qos 1
    

    Где:

    • --username и --password — параметры авторизации с помощью логина и пароля.
    • --topic — топик устройства для отправки данных или алиас топика.
    • --qos — уровень качества обслуживания (QoS).

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

    Подробнее о команде yc iot mqtt subscribe читайте в справочнике CLI.

  2. Протестируйте функцию эмуляции:

    Консоль управления
    1. В консоли управления выберите каталог, в котором вы выполняете руководство.

    2. В списке сервисов выберите Cloud Functions.

    3. Выберите функцию my-device-emulator-function.

    4. В меню слева выберите Тестирование.

    5. В списке Тег версии выберите $latest — последнюю созданную версию функции.

    6. Нажмите кнопку Запустить тест.

      При успешном выполнении функции в поле Состояние функции отобразится статус Выполнена, и в поле Ответ функции появится результат:

      {
        "statusCode" : 200
      }
      

      Если перед выполнением тестирования вы подписались на топик устройства Yandex IoT Core, в терминале вы получите объект JSON вида:

      {
        "DeviceId":"areulpu7dnou********",
        "TimeStamp":"2024-06-19T08:29:14Z",
        "Values":[
            {"Type":"Bool","Name":"Service door sensor","Value":"False"},
            {"Type":"Float","Name":"Power Voltage","Value":"24.91"},
            {"Type":"Float","Name":"Temperature","Value":"10.51"},
            {"Type":"Float","Name":"Cash drawer fullness","Value":"67.89"},
            {"Items":[
                {"Type":"Float", "Id":"1","Name":"Item 1","Fullness":"50.65"},
                {"Type":"Float", "Id":"2","Name":"Item 2","Fullness":"80.97"},
                {"Type":"Float", "Id":"3","Name":"Item 3","Fullness":"30.33"},
                {"Type":"Float", "Id":"4","Name":"Item 4","Fullness":"15.15"}
            ]}
            ]
        }
      

Создайте триггер для вызова функции с периодичностью один раз в минуту

Консоль управления
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.

  2. В списке сервисов выберите Cloud Functions.

  3. На панели слева выберите Триггеры.

  4. Нажмите кнопку Создать триггер.

  5. В поле Имя введите имя триггера. Например, my-emulator-function-trigger.

  6. В поле Тип выберите Таймер.

  7. В поле Cron-выражение выберите Каждую минуту.

  8. В блоке Настройки функции укажите параметры функции:

    • Функция — my-device-emulator-function.
    • Тег версии функции — $latest.
    • Сервисный аккаунт — my-emulator-function-service-account.
  9. (Опционально) В блоках Настройки повторных запросов и Настройки Dead Letter Queue задайте параметры, которые позволят не потерять данные в случае сбоя:

    • Настройки повторных запросов позволяют повторно вызывать функцию, если текущий вызов функции завершается с ошибкой.

    • Настройки Dead Letter Queue позволяют перенаправлять сообщения, которые триггер отправляет в функцию.

      В качестве очереди Dead Letter Queue вы можете использовать стандартную очередь сообщений. Если у вас нет очереди сообщений, создайте ее в сервисе Yandex Message Queue.

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

Создайте функцию обработки данных в Cloud Functions

Создайте функцию обработки данных, протестируйте ее и посмотрите результат обработки данных. Затем создайте триггер для вызова функции и посмотрите результат его работы.

Создайте функцию обработки принимаемых данных

Консоль управления
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.

  2. В списке сервисов выберите Cloud Functions.

  3. На панели слева выберите Функции.

  4. Создайте функцию:

    1. Нажмите кнопку Создать функцию.
    2. В поле Имя введите имя функции. Например, my-db-function.
    3. Нажмите кнопку Создать.
  5. Создайте версию функции:

    1. В открывшемся окне Редактор выберите Python 3.12.

    2. Отключите опцию Добавить файлы с примерами кода.

    3. Нажмите кнопку Продолжить.

    4. В поле Способ выберите Редактор кода.

    5. Нажмите кнопку Создать файл:

      • Имя файла — myfunction.py.
      • Содержимое файла — код функции с GitHub.
    6. В поле Точка входа укажите myfunction.msgHandler.

    7. В блоке Параметры укажите:

      • Таймаут — 10.

      • Память — 128 МБ.

      • Сервисный аккаунт — my-db-function-service-account.

      • Переменные окружения:

        Ключ Описание Значение
        VERBOSE_LOG Включение и отключение записи данных True
        DB_HOSTNAME FQDN хоста в Managed Service for PostgreSQL См. в консоли управления
        сервиса Managed Service for PostgreSQL
        DB_PORT Порт подключения к кластеру в Managed Service for PostgreSQL 6432
        DB_NAME Имя кластера в Managed Service for PostgreSQL db1
        DB_USER Имя пользователя для подключения к кластеру в Managed Service for PostgreSQL user1
        DB_PASSWORD Пароль подключения к БД в Managed Service for PostgreSQL Пароль, который вы задали в Managed Service for PostgreSQL
    8. Нажмите кнопку Сохранить изменения.

Протестируйте функцию обработки данных

Консоль управления
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.

  2. В списке сервисов выберите Cloud Functions.

  3. Выберите функцию my-db-function.

  4. В меню слева выберите Тестирование.

  5. В списке Тег версии выберите $latest — последнюю созданную версию функции.

  6. В поле Входные данные вставьте данные:

    {
      "messages": [
      {
        "event_metadata": {
          "event_id": "160d239876d9714800",
          "event_type": "yandex.cloud.events.iot.IoTMessage",
          "created_at": "2020-05-08T19:16:21.267616072Z",
          "folder_id": "b112345678910"
        },
        "details": {
          "registry_id": "are1234567890",
          "device_id": "are0987654321",
          "mqtt_topic": "$devices/are0987654321/events",
          "payload": "ewogICAgICAgICAgICAiRGV2aWNlSWQiOiJhcmU1NzBrZTA1N29pcjg1bDlmciIsCiAgICAgICAgICAgICJUaW1lU3RhbXAiOiIyMDIwLTA2LTExVDExOjA3OjIwWiIsCiAgICAgICAgICAgICJWYWx1ZXMiOlsKICAgICAgICAgICAgICAgIHsiVHlwZSI6IkJvb2wiLCJOYW1lIjoiU2VydmljZSBkb29yIHNlbnNvciIsIlZhbHVlIjoiRmFsc2UifSwKICAgICAgICAgICAgICAgIHsiVHlwZSI6IkZsb2F0IiwiTmFtZSI6IlBvd2VyIFZvbHRhZ2UiLCJWYWx1ZSI6IjI1LjA2In0sCiAgICAgICAgICAgICAgICB7IlR5cGUiOiJGbG9hdCIsIk5hbWUiOiJUZW1wZXJhdHVyZSIsIlZhbHVlIjoiMTEuMjEifSwKICAgICAgICAgICAgICAgIHsiVHlwZSI6IkZsb2F0IiwiTmFtZSI6IkNhc2ggZHJhd2VyIGZ1bGxuZXNzIiwiVmFsdWUiOiI2Ny44OSJ9LAogICAgICAgICAgICAgICAgeyJJdGVtcyI6WwogICAgICAgICAgICAgICAgICAgIHsiVHlwZSI6IkZsb2F0IiwgIklkIjoiMSIsIk5hbWUiOiJJdGVtIDEiLCJGdWxsbmVzcyI6IjUwLjY1In0sCiAgICAgICAgICAgICAgICAgICAgeyJUeXBlIjoiRmxvYXQiLCAiSWQiOiIyIiwiTmFtZSI6Ikl0ZW0gMiIsIkZ1bGxuZXNzIjoiODAuOTcifSwKICAgICAgICAgICAgICAgICAgICB7IlR5cGUiOiJGbG9hdCIsICJJZCI6IjMiLCJOYW1lIjoiSXRlbSAzIiwiRnVsbG5lc3MiOiIzMC4zMyJ9LAogICAgICAgICAgICAgICAgICAgIHsiVHlwZSI6IkZsb2F0IiwgIklkIjoiNCIsIk5hbWUiOiJJdGVtIDQiLCJGdWxsbmVzcyI6IjE1LjE1In0KICAgICAgICAgICAgICAgIF19CiAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0="
        }
      }]
    }
    
  7. Нажмите кнопку Запустить тест.

    При успешном выполнении функции в поле Состояние функции отобразится статус Выполнена, а в поле Ответ функции появится результат:

    {
      "statusCode" : 200 ,
      "headers" : {
        "Content-Type" : "text/plain"
      },
    "isBase64Encoded" : false
    }
    

Просмотрите результат обработки данных в Managed Service for PostgreSQL

Консоль управления
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.
  2. В списке сервисов выберите Managed Service for PostgreSQL.
  3. Выберите кластер my-pg-database.
  4. В меню слева выберите SQL.
  5. В поле Пароль введите пароль, который вы задали для доступа к БД, и нажмите кнопку Подключиться.
  6. Выберите папку public.
  7. Посмотрите результаты обработки данных в таблицах iot_events и iot_position.

Создайте триггер для вызова функции обработки данных

Триггер вызовет функцию, когда в топике устройства появятся сообщения.

Консоль управления
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.

  2. В списке сервисов выберите Cloud Functions.

  3. На панели слева выберите Триггеры.

  4. Нажмите кнопку Создать триггер.

  5. В поле Имя введите имя триггера. Например, my-db-func-trigger.

  6. В поле Тип выберите IoT Core (устройство).

  7. В блоке Настройки сообщений IoT Core укажите параметры реестра и устройства:

    • Реестр — my-registry.
    • Устройство — Любое устройство.
    • MQTT-топик — $devices/#.
  8. В блоке Настройки функции укажите параметры функции:

    • Функция — my-db-function.
    • Тег версии функции — $latest.
    • Сервисный аккаунт — my-db-function-service-account.
  9. (Опционально) В блоках Настройки повторных запросов и Настройки Dead Letter Queue задайте параметры, которые позволят не потерять данные в случае сбоя:

    • Настройки повторных запросов позволяют повторно вызывать функцию, если текущий вызов функции завершается с ошибкой.

    • Настройки Dead Letter Queue позволяют перенаправлять сообщения, которые триггер отправляет в функцию.

      В качестве очереди Dead Letter Queue вы можете использовать стандартную очередь сообщений. Если у вас нет очереди сообщений, создайте ее в сервисе Yandex Message Queue.

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

Просмотрите результат работы триггера в Managed Service for PostgreSQL

Через некоторое время после создания триггера вы можете проверить, как он работает.

Консоль управления
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.
  2. В списке сервисов выберите Managed Service for PostgreSQL.
  3. Выберите кластер my-pg-database.
  4. В меню слева выберите SQL.
  5. В поле Пароль укажите пароль, который вы задали для доступа к БД, и нажмите кнопку Подключиться.
  6. Выберите папку public.
  7. Посмотрите изменения в таблице iot_events.

Настройте мониторинг в DataLens

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

Настройте подключение к Managed Service for PostgreSQL

Интерфейс DataLens
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.

  2. В списке сервисов выберите DataLens.

  3. Нажмите кнопку Создать подключение.

  4. Выберите коннектор PostgreSQL.

    При подключении к внешнему источнику данных (который не является ресурсом Yandex Cloud) предоставьте доступ к источнику для диапазонов IP-адресов сервиса DataLens.

  5. Выберите облако и каталог.

  6. Выберите кластер my-pg-database и хост.

  7. В поле Порт укажите 6432.

  8. Выберите базу данных db1 и пользователя user1.

  9. В поле Пароль укажите пароль, который вы задали для доступа к БД в сервисе Managed Service for PostgreSQL.

  10. Нажмите кнопку Создать подключение.

  11. В открывшемся окне укажите имя подключения MyPGConnection и нажмите кнопку Создать.

Создайте датасет

Интерфейс DataLens
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.

  2. В списке сервисов выберите DataLens.

  3. Нажмите кнопку Создать датасет.

  4. На панели слева нажмите Добавить.

  5. Выберите подключение MyPGConnection.

  6. В меню слева выберите таблицы public.iot_events и public.iot_position, перетащите их вправо.

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

  8. В открывшемся окне укажите имя датасета My-pg-dataset и нажмите Создать.

    Датасет появится в списке.

Создайте чарт по показателям температуры и напряжения сети

Интерфейс DataLens
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.

  2. В списке сервисов выберите DataLens.

  3. Нажмите кнопку Создать чарт.

  4. На панели слева нажмите кнопку Выберите датасет и выберите датасет My-pg-dataset, который вы создали ранее.

  5. Выберите тип чарта Линейная диаграмма.

  6. Из блока Измерения в меню слева перетащите измерения в блок Линейная диаграмма:

    • event_datetime в секцию X.

      В нижней части графика по оси X отобразится временная шкала.

    • temperature и power_voltage в секцию Y.

    По оси Y в виде графика отобразятся значения температуры и напряжения сети.

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

  8. В открывшемся окне укажите имя чарта или используйте сгенерированное имя My-pg-dataset — Линейная диаграмма и нажмите Сохранить.

Создайте чарт с картой

Интерфейс DataLens
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.
  2. В списке сервисов выберите DataLens.
  3. Создайте поле для определения координат устройств:
    1. В меню слева выберите Датасеты.
    2. В списке выберите датасет My-pg-dataset.
    3. Выберите вкладку Поля.
    4. В правой части окна нажмите кнопку Добавить поле.
    5. В открывшемся окне в поле Название поля введите Position.
    6. В поле Формула вставьте GEOPOINT([latitude],[longitude]).
    7. Нажмите кнопку Создать.
    8. Нажмите кнопку Сохранить.
  4. Создайте чарт:
    1. Справа вверху нажмите кнопку Создать чарт.
    2. Выберите тип чарта Карта.
    3. Из блока Измерения в меню слева перетащите измерения в блок Карта:
      • Position в секцию Геоточки.

      • item1_fullness, item2_fullness, item3_fullness, item4_fullness и cash_drawer в секцию Тултипы.

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

    4. Нажмите кнопку Сохранить.
    5. В открывшемся окне укажите имя чарта или используйте сгенерированное имя My-pg-dataset — Карта и нажмите Сохранить.

Создайте дашборд

Интерфейс DataLens
  1. В консоли управления выберите каталог, в котором вы выполняете руководство.

  2. В списке сервисов выберите DataLens.

  3. Нажмите кнопку Создать дашборд.

  4. Добавьте на дашборд чарты My-pg-dataset — Карта и My-pg-dataset — Линейная диаграмма, которые вы создали ранее:

    1. На нижней панели нажмите Чарт.
    2. В открывшемся окне в поле Чарт нажмите кнопку Выбрать и выберите My-pg-dataset — Карта.
    3. Нажмите кнопку Добавить.
    4. Повторите действия — добавьте чарт My-pg-dataset — Линейная диаграмма.
  5. Настройте селектор:

    1. На нижней панели нажмите Селектор.
    2. В поле Датасет нажмите кнопку Выбрать и выберите My-pg-dataset.
    3. В списке Поле выберите device_id.
    4. В списке Значение по умолчанию выберите идентификатор одного из устройств, которое вы создали в сервисе Yandex IoT Core.
    5. В поле Заголовок введите Устройство.
    6. Нажмите кнопку Добавить.
  6. Настройте связи:

    1. Справа вверху нажмите кнопку Связи.

    2. В открывшемся окне в списке выберите чарт My-pg-dataset — Карта.

    3. В раскрывающемся списке Вх.связь выберите Игнор.

      Для карты параметр Связи не действует.

    4. В списке выберите чарт My-pg-dataset — Линейная диаграмма.

    5. В раскрывающемся списке Вх.связь выберите Вх.связь.

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

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

  8. В открывшемся окне введите название дашборда MyDash.

  9. Нажмите кнопку Создать.

В результате выполнения руководства вы сможете отслеживать показания датчиков на карте и графике.

Как удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  1. Удалите устройства в сервисе Yandex IoT Core.
  2. Удалите реестр в сервисе Yandex IoT Core.
  3. Удалите триггеры для вызова функций в сервисе Cloud Functions.
  4. Удалите функции в сервисе Cloud Functions.
  5. Удалите кластер в сервисе Managed Service for PostgreSQL.
  6. Удалите статический публичный IP-адрес, если вы его зарезервировали.

Была ли статья полезна?

Предыдущая
Работа с Yandex IoT Core на языке Java
Следующая
Мониторинг показаний датчиков и уведомления о событиях
Проект Яндекса
© 2025 ООО «Яндекс.Облако»