Мониторинг состояния географически распределенных устройств
В этом руководстве вы настроите мониторинг состояния устройств (например, вендинговых автоматов), подключенных к сервису Yandex IoT Core и расположенных в разных точках города. Вы сможете наблюдать за состоянием автоматов на карте и графиках сервиса Yandex DataLens. Датчики будут эмулированы с помощью сервиса Yandex Cloud Functions. Если у вас есть подключенные датчики, используйте их. Для хранения данных будет использован сервис Yandex Managed Service for PostgreSQL.
Исходный код, который используется в этом руководстве, доступен на GitHub
Чтобы настроить мониторинг показаний датчиков:
- Подготовьте облако к работе.
- Создайте кластер Managed Service for PostgreSQL.
- Создайте необходимые ресурсы Yandex IoT Core.
- Создайте эмулятор устройств в Cloud Functions.
- Создайте функцию обработки данных в Cloud Functions.
- Настройте мониторинг в DataLens.
Если созданные ресурсы вам больше не нужны, удалите их.
Перед началом работы
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице 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%.
-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите Managed Service for PostgreSQL.
-
Нажмите кнопку Создать кластер.
-
Укажите имя кластера, например
my-pg-database
. -
В списке Окружение выберите
PRODUCTION
. -
В списке Версия выберите
15
. -
В блоке Класс хоста укажите:
- Платформа —
Intel Ice Lake
. - Тип —
standard
. - Класс —
s3-c2-m8 (2 vCPU, 8 ГБ)
.
- Платформа —
-
В блоке Размер хранилища:
- Выберите
network-hdd
. - Укажите размер
10 ГБ
.
- Выберите
-
В блоке База данных укажите:
-
Имя БД —
db1
. -
Имя пользователя —
user1
. -
Пароль — задайте пароль доступа к БД.
Примечание
Сохраните пароль, он понадобится вам для аутентификации.
-
Локаль сортировки (LC_COLLATE) —
C
. -
Локаль набора символов (LC_CTYPE) —
C
.
-
-
В блоке Сетевые настройки:
- Выберите облачную сеть, в которой создана группа безопасности
my-pg-sg
. - Выберите группу безопасности
my-pg-sg
.
- Выберите облачную сеть, в которой создана группа безопасности
-
В блоке Хосты:
- Оставьте один хост.
- Нажмите значок
. - В открывшемся окне включите опцию Публичный доступ и нажмите кнопку Сохранить.
-
В блоке Дополнительные настройки включите опции Доступ из DataLens и Доступ из консоли управления.
-
Нажмите кнопку Создать кластер.
Создание кластера может занять несколько минут.
Создайте необходимые ресурсы Yandex IoT Core
Реестр и устройство — основные компоненты сервиса Yandex IoT Core для обмена данными и командами. Чтобы устройства могли обмениваться данными, их необходимо создавать в одном реестре.
Создайте реестр и настройте авторизацию по логину и паролю
-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите IoT Core.
-
Нажмите кнопку Создать реестр.
-
В поле Имя введите имя реестра. Например,
my-registry
. -
В поле Пароль задайте пароль доступа к реестру. Пароль должен быть длиной не менее 14 символов, должен содержать строчные буквы, заглавные буквы и цифры. Для создания пароля можно воспользоваться генератором паролей
.Примечание
Сохраните пароль, он понадобится вам для аутентификации.
-
Нажмите кнопку Создать.
Вы также можете использовать авторизацию с помощью сертификатов. Подробнее об авторизации в Yandex IoT Core.
Создайте устройства и настройте авторизацию по логину и паролю
Создайте три устройства: my-device-1
, my-device-2
и my-device-3
.
-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите IoT Core.
-
Выберите реестр, созданный на предыдущем шаге.
-
В меню слева выберите Устройства.
-
Нажмите кнопку Добавить устройство.
-
В поле Имя введите имя устройства
my-device-1
. -
В поле Пароль задайте пароль доступа к устройству. Пароль должен быть длиной не менее 14 символов, должен содержать строчные буквы, заглавные буквы и цифры. Для создания пароля можно воспользоваться генератором паролей
.Примечание
Сохраните пароль, он понадобится вам для аутентификации.
-
(Опционально) Добавьте алиас:
-
Нажмите кнопку Добавить алиас.
-
Заполните поля: введите алиас (например
events
) и тип топика после$devices/{id}
(например,events
).В результате вместо топика
$devices/<идентификатор_устройства>/events
вы сможете использовать алиасevents
. -
Повторите действия для каждого добавляемого алиаса.
-
-
Нажмите кнопку Создать.
-
Аналогичным образом создайте устройства
my-device-2
иmy-device-3
.
Вы также можете использовать авторизацию с помощью сертификатов. Подробнее об авторизации в Yandex IoT Core.
Создайте эмулятор устройств в Cloud Functions
Эмулятор отправит данные с устройств в кластер Managed Service for PostgreSQL.
Чтобы запустить эмулятор, создайте функцию эмуляции отправки данных с датчиков устройств и триггер для вызова этой функции с периодичностью один раз в минуту.
Создайте функцию эмуляции отправки данных с устройства
-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите Cloud Functions.
-
Создайте функцию:
- Нажмите кнопку Создать функцию.
- В поле Имя введите имя функции. Например,
my-device-emulator-function
. - Нажмите кнопку Создать.
-
Создайте версию функции:
-
В открывшемся окне Редактор выберите
Node.js 18
. -
Отключите опцию Добавить файлы с примерами кода.
-
Нажмите кнопку Продолжить.
-
В поле Способ выберите
Редактор кода
. -
Нажмите кнопку Создать файл:
- Имя файла —
device-emulator.js
. - Содержимое файла — код функции с GitHub
.
- Имя файла —
-
Аналогичным образом создайте файл
package.json
со следующим содержимым:{ "name": "my-app", "version": "1.0.0", "dependencies": { "yandex-cloud": "*" } }
-
В поле Точка входа укажите
device-emulator.handler
. -
В блоке Параметры укажите:
-
Таймаут, c —
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
-
-
Нажмите кнопку Сохранить изменения.
-
Протестируйте функцию эмуляции
-
(Опционально) Чтобы получать подробную информацию с датчиков, подпишите реестр на топик устройства Yandex IoT Core.
CLIЕсли у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра
--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. -
Протестируйте функцию эмуляции:
Консоль управления-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите Cloud Functions.
-
Выберите функцию
my-device-emulator-function
. -
В меню слева выберите Тестирование.
-
В списке Тег версии выберите
$latest
— последнюю созданную версию функции. -
Нажмите кнопку Запустить тест.
При успешном выполнении функции в поле Состояние функции отобразится статус Выполнена, и в поле Ответ функции появится результат:
{ "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"} ]} ] }
-
Создайте триггер для вызова функции с периодичностью один раз в минуту
-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите Cloud Functions.
-
На панели слева выберите Триггеры.
-
Нажмите кнопку Создать триггер.
-
В поле Имя введите имя триггера. Например,
my-emulator-function-trigger
. -
В поле Тип выберите
Таймер
. -
В поле Cron-выражение выберите
Каждую минуту
. -
В блоке Настройки функции укажите параметры функции:
- Функция —
my-device-emulator-function
. - Тег версии функции —
$latest
. - Сервисный аккаунт —
my-emulator-function-service-account
.
- Функция —
-
(Опционально) В блоках Настройки повторных запросов и Настройки Dead Letter Queue задайте параметры, которые позволят не потерять данные в случае сбоя:
-
Настройки повторных запросов позволяют повторно вызывать функцию, если текущий вызов функции завершается с ошибкой.
-
Настройки Dead Letter Queue позволяют перенаправлять сообщения, которые триггер отправляет в функцию.
В качестве очереди Dead Letter Queue вы можете использовать стандартную очередь сообщений. Если у вас нет очереди сообщений, создайте ее в сервисе Yandex Message Queue.
-
-
Нажмите кнопку Создать триггер.
Создайте функцию обработки данных в Cloud Functions
Создайте функцию обработки данных, протестируйте ее и посмотрите результат обработки данных. Затем создайте триггер для вызова функции и посмотрите результат его работы.
Создайте функцию обработки принимаемых данных
-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите Cloud Functions.
-
На панели слева выберите Функции.
-
Создайте функцию:
- Нажмите кнопку Создать функцию.
- В поле Имя введите имя функции. Например,
my-db-function
. - Нажмите кнопку Создать.
-
Создайте версию функции:
-
В открывшемся окне Редактор выберите
Python 3.12
. -
Отключите опцию Добавить файлы с примерами кода.
-
Нажмите кнопку Продолжить.
-
В поле Способ выберите
Редактор кода
. -
Нажмите кнопку Создать файл:
- Имя файла —
myfunction.py
. - Содержимое файла — код функции с GitHub
.
- Имя файла —
-
В поле Точка входа укажите
myfunction.msgHandler
. -
В блоке Параметры укажите:
-
Таймаут, c —
10
. -
Память —
128 МБ
. -
Сервисный аккаунт —
my-db-function-service-account
. -
Переменные окружения:
Ключ Описание Значение VERBOSE_LOG
Включение и отключение записи данных True
DB_HOSTNAME
FQDN хоста в Managed Service for PostgreSQL См. в консоли управления
сервиса Managed Service for PostgreSQLDB_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
-
-
Нажмите кнопку Сохранить изменения.
-
Протестируйте функцию обработки данных
-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите Cloud Functions.
-
Выберите функцию
my-db-function
. -
В меню слева выберите Тестирование.
-
В списке Тег версии выберите
$latest
— последнюю созданную версию функции. -
В поле Входные данные вставьте данные:
{ "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=" } }] }
-
Нажмите кнопку Запустить тест.
При успешном выполнении функции в поле Состояние функции отобразится статус Выполнена, а в поле Ответ функции появится результат:
{ "statusCode" : 200 , "headers" : { "Content-Type" : "text/plain" }, "isBase64Encoded" : false }
Просмотрите результат обработки данных в Managed Service for PostgreSQL
- В консоли управления
выберите каталог, в котором вы выполняете руководство. - В списке сервисов выберите Managed Service for PostgreSQL.
- Выберите кластер
my-pg-database
. - В меню слева выберите SQL.
- В поле Пароль введите пароль, который вы задали для доступа к БД, и нажмите кнопку Подключиться.
- Выберите папку
public
. - Посмотрите результаты обработки данных в таблицах
iot_events
иiot_position
.
Создайте триггер для вызова функции обработки данных
Триггер вызовет функцию, когда в топике устройства появятся сообщения.
-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите Cloud Functions.
-
На панели слева выберите Триггеры.
-
Нажмите кнопку Создать триггер.
-
В поле Имя введите имя триггера. Например,
my-db-func-trigger
. -
В поле Тип выберите
IoT Core (устройство)
. -
В блоке Настройки сообщений IoT Core укажите параметры реестра и устройства:
- Реестр —
my-registry
. - Устройство —
Любое устройство
. - MQTT-топик —
$devices/#
.
- Реестр —
-
В блоке Настройки функции укажите параметры функции:
- Функция —
my-db-function
. - Тег версии функции —
$latest
. - Сервисный аккаунт —
my-db-function-service-account
.
- Функция —
-
(Опционально) В блоках Настройки повторных запросов и Настройки Dead Letter Queue задайте параметры, которые позволят не потерять данные в случае сбоя:
-
Настройки повторных запросов позволяют повторно вызывать функцию, если текущий вызов функции завершается с ошибкой.
-
Настройки Dead Letter Queue позволяют перенаправлять сообщения, которые триггер отправляет в функцию.
В качестве очереди Dead Letter Queue вы можете использовать стандартную очередь сообщений. Если у вас нет очереди сообщений, создайте ее в сервисе Yandex Message Queue.
-
-
Нажмите кнопку Создать триггер.
Просмотрите результат работы триггера в Managed Service for PostgreSQL
Через некоторое время после создания триггера вы можете проверить, как он работает.
- В консоли управления
выберите каталог, в котором вы выполняете руководство. - В списке сервисов выберите Managed Service for PostgreSQL.
- Выберите кластер
my-pg-database
. - В меню слева выберите SQL.
- В поле Пароль укажите пароль, который вы задали для доступа к БД, и нажмите кнопку Подключиться.
- Выберите папку
public
. - Посмотрите изменения в таблице
iot_events
.
Настройте мониторинг в DataLens
Чтобы наблюдать за состоянием устройств, настройте подключение, создайте датасет, чарты и дашборд.
Настройте подключение к Managed Service for PostgreSQL
-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите DataLens.
-
Нажмите кнопку Создать подключение.
-
Выберите коннектор PostgreSQL.
При подключении к внешнему источнику данных (который не является ресурсом Yandex Cloud) предоставьте доступ к источнику для диапазонов IP-адресов сервиса DataLens.
-
Выберите облако и каталог.
-
Выберите кластер
my-pg-database
и хост. -
В поле Порт укажите
6432
. -
Выберите базу данных
db1
и пользователяuser1
. -
В поле Пароль укажите пароль, который вы задали для доступа к БД в сервисе Managed Service for PostgreSQL.
-
Нажмите кнопку Создать подключение.
-
В открывшемся окне укажите имя подключения
MyPGConnection
и нажмите кнопку Создать.
Создайте датасет
-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите DataLens.
-
Нажмите кнопку Создать датасет.
-
На панели слева нажмите
Добавить. -
Выберите подключение
MyPGConnection
. -
В меню слева выберите таблицы
public.iot_events
иpublic.iot_position
, перетащите их вправо. -
Нажмите кнопку Сохранить.
-
В открывшемся окне укажите имя датасета
My-pg-dataset
и нажмите Создать.Датасет появится в списке.
Создайте чарт по показателям температуры и напряжения сети
-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите DataLens.
-
Нажмите кнопку Создать чарт.
-
На панели слева нажмите кнопку
Выберите датасет и выберите датасетMy-pg-dataset
, который вы создали ранее. -
Выберите тип чарта Линейная диаграмма.
-
Из блока Измерения в меню слева перетащите измерения в блок Линейная диаграмма:
-
event_datetime
в секцию X.В нижней части графика по оси X отобразится временная шкала.
-
temperature
иpower_voltage
в секцию Y.
По оси Y в виде графика отобразятся значения температуры и напряжения сети.
-
-
Нажмите кнопку Сохранить.
-
В открывшемся окне укажите имя чарта или используйте сгенерированное имя
My-pg-dataset — Линейная диаграмма
и нажмите Сохранить.
Создайте чарт с картой
- В консоли управления
выберите каталог, в котором вы выполняете руководство. - В списке сервисов выберите DataLens.
- Создайте поле для определения координат устройств:
- В меню слева выберите Датасеты.
- В списке выберите датасет
My-pg-dataset
. - Выберите вкладку Поля.
- В правой части окна нажмите кнопку
Добавить поле. - В открывшемся окне в поле Название поля введите
Position
. - В поле Формула вставьте
GEOPOINT([latitude],[longitude])
. - Нажмите кнопку Создать.
- Нажмите кнопку Сохранить.
- Создайте чарт:
- Справа вверху нажмите кнопку Создать чарт.
- Выберите тип чарта
Карта
. - Из блока Измерения в меню слева перетащите измерения в блок Карта:
-
Position
в секцию Геоточки. -
item1_fullness
,item2_fullness
,item3_fullness
,item4_fullness
иcash_drawer
в секцию Тултипы.В правой части окна отобразится масштабируемая карта, на которой вендинговые автоматы отмечены точками на карте, а тултипы при наведении указателя на точки — строками легенды.
-
- Нажмите кнопку Сохранить.
- В открывшемся окне укажите имя чарта или используйте сгенерированное имя
My-pg-dataset — Карта
и нажмите Сохранить.
Создайте дашборд
-
В консоли управления
выберите каталог, в котором вы выполняете руководство. -
В списке сервисов выберите DataLens.
-
Нажмите кнопку Создать дашборд.
-
Добавьте на дашборд чарты
My-pg-dataset — Карта
иMy-pg-dataset — Линейная диаграмма
, которые вы создали ранее:- На нижней панели нажмите Чарт.
- В открывшемся окне в поле Чарт нажмите кнопку Выбрать и выберите
My-pg-dataset — Карта
. - Нажмите кнопку Добавить.
- Повторите действия — добавьте чарт
My-pg-dataset — Линейная диаграмма
.
-
Настройте селектор:
- На нижней панели нажмите Селектор.
- В поле Датасет нажмите кнопку Выбрать и выберите
My-pg-dataset
. - В списке Поле выберите
device_id
. - В списке Значение по умолчанию выберите идентификатор одного из устройств, которое вы создали в сервисе Yandex IoT Core.
- В поле Заголовок введите
Устройство
. - Нажмите кнопку Добавить.
-
Настройте связи:
-
Справа вверху нажмите кнопку Связи.
-
В открывшемся окне в списке выберите чарт
My-pg-dataset — Карта
. -
В раскрывающемся списке Вх.связь выберите
Игнор
.Для карты параметр Связи не действует.
-
В списке выберите чарт
My-pg-dataset — Линейная диаграмма
. -
В раскрывающемся списке Вх.связь выберите
Вх.связь
. -
Нажмите кнопку Сохранить.
-
-
Нажмите кнопку Сохранить.
-
В открывшемся окне введите название дашборда
MyDash
. -
Нажмите кнопку Создать.
В результате выполнения руководства вы сможете отслеживать показания датчиков на карте и графике.
Как удалить созданные ресурсы
Чтобы перестать платить за созданные ресурсы:
- Удалите устройства в сервисе Yandex IoT Core.
- Удалите реестр в сервисе Yandex IoT Core.
- Удалите триггеры для вызова функций в сервисе Cloud Functions.
- Удалите функции в сервисе Cloud Functions.
- Удалите кластер в сервисе Managed Service for PostgreSQL.
- Удалите статический публичный IP-адрес, если вы его зарезервировали.