В статье рассматривается разработка диалогового интерфейса телеметрической системы мониторинга и управления.
Ключевые слова: телеметрическая система, Dialogflow, Firebase.
The article discusses the development of a dialogue interface for a telemetric monitoring and control system.
Keywords : telemetry system, Dialogflow, Firebase.
Понятие телеметрических систем мониторинга и управления
Определение системы телеметрии, мониторинга и контроля.
Системы телеметрии, мониторинга и управления представляют собой интегрированные электронные системы, которые используют датчики для получения информации об определенных параметрах в удаленной среде, для последующего просмотра и анализа. Определенные действия могут затем выполняться автоматически или вручную на основе этого анализа. Таким образом, телеметрия использует сеть датчиков для выполнения измерений. Для измерения метеорологических, экологических или технологических параметров могут использоваться различные типы датчиков: примерами являются температура, скорость и направление ветра, влажность, дождь, уровень воды, вибрации, деформация материала, загрязнение, скорость транспортного средства и пешеходное движение. [1]
Наконец, после сбора и анализа информации из среды системы управления выполняют действия удаленно и обычно автоматически, хотя также возможны ручные операции. Эти действия предназначены для доведения измеренных параметров системы до определенных предварительно установленных значений.
Основным преимуществом телеметрии является способность конечного пользователя отслеживать состояние объекта или окружающей среды, находясь вдали от него. После того, как вы отправили продукт, вы не сможете присутствовать физически, глядя на плечи тысяч (или миллионов) пользователей, которые взаимодействуют с вашим продуктом, чтобы выяснить, что работает, что легко, а что громоздко. Благодаря телеметрии эти идеи могут быть переданы непосредственно на панель инструментов, чтобы вы могли анализировать и действовать. Поскольку телеметрия дает представление о том, насколько хорошо ваш продукт работает для ваших конечных пользователей — как они его используют — это невероятно ценный инструмент для постоянного мониторинга и управления производительностью. [2]
Разработка алгоритма работы
На рисунке 1 показана блок-схема диалогового интерфейса. По событию запроса по диалоговому интерфейсу происходит обработка по Intent. В зависимости от intent выполняется определенная функция. Как пример, фраза «Какова температура?» относится к intent readtemp, соответственно выполняется функция readtemperature(). В данной функции происходит обращение к БД Firebase и вывод ответа в виде значения температуры.
Рис. 1. Блок-схемы диалогового интерфейса
Код программы для реализации алгоритмов
Для начала добавляю firebase конфиг, код соответствующий к текущему проекту над которой оцепляется диалоговый интерфейс. (Рис. 2)
Рис. 2. firebase конфиг
Функция запроса температуры с названием работает следующим образом:
На рисунке 3. показана Функция запроса температуры. Для начала вводим функцию для запроса температуры, затем делаем Обращение к БД FireBase к полю 'data'. После обращения делаем объявление переменной value, затем присваиваем значение с запроса snapshot.child('temperature').val(), после него запрос берёт данные с подполя 'temperature' и присваивает к value. Если переменная value не пустая, то выводим данные через команду agent.add(данные).
Рис. 3. Функция запроса температуры
Далее идет запрос с БД firebase. На рисунке 4. показана запрос с БД firebase поле data подполе username
– var count = values.count;
Рис. 4. запрос с БД
Инициализация функций для Intents, работает следующим образом:
На рисунке 5. показано инициализация функций для Intents. Сначала надо инициализировать функции для Intent объявлений IntentMap, затем с командой intentMap.set (название_Intent, название_функции) составляю соответствие функций по Intent.
Команда intentMap.set имеет два аргумента:
– Первый аргумент название интента,
– Второй аргумент соответствующая Intent-у функция
Далее идет метод для вызова функций HandleRequest (в зависимости от вызываемой функции
Рис. 5. Инициализация функций для Intents
В итоге диалоговый интерфейс позволяет послать какое-то значение, т.е можно на словах отправить сообщение в базу данных и из базы данных же вынуть и прочитать значение на рисунке 6 переведены. Получается в Google Assitant произносить какую-нибудь фразу, например, включить свет и в результате этого меняется параметр в БД и приходит ответ. Данный проект характерен простотой реализации, надежностью и автономностью.
Рис. 6. Диалоговое окно.
Литература:
- Nihonkasetsu [Электронный ресурс] URL: https://nihonkasetsu.com/what-is-a-telemetry-monitoring-and-control-system/
- Stackify [Электронный ресурс] URL: https://stackify.com/telemetry-tutorial/