В статье описывается разработанное методическое пособие, рассматриваютсяпредпосылки и обосновывается актуальность его создания, указываются содержание и принципы изложения материала. Статья содержит информацию об Интернете вещей, применении среды потокового программирования Node-RED в учебном процессе, примеры задач, решаемых в рамках этих технологий.
Ключевые слова: потоковое программирование, Интернет вещей, Автоматизация, Умный дом.
В 2022 году был принят новый федеральный образовательный стандарт по специальности 09.02.01 «Компьютерные системы и комплексы». Поменялись некоторые профессиональные компетенции, а в соответствие с ними и содержание дисциплин и модулей. В современном мире при бурном развитии информационных технологий и вычислительной техники, при внедрении нейросетей и методов искусственного интеллекта в различные сферы жизни программа обучения студентов по «компьютерным» специальностям не может не меняться. И впервые там стало встречаться упоминание современных контроллеров, «умного» дома, мобильных роботов, Интернета вещей и др.
Нам преподавателям тоже нужно осваивать новые технологии, и в этом очень помогает федеральная программа 5000 мастеров, в рамках которой было организовано обучение и стажировка по актуальным направлениям, в том числе и связанном с вычислительной техникой.
Мною была выбрана компетенция «Интернет вещей», современное и актуальное направление. IoT (интернет вещей, Internet of Things) – это взаимодействие различных устройств между собой и окружающим миром, исключающее участие человека и позволяющее изменить некоторые социальные и экономические нормы. IoT упрощает и автоматизирует сложные задачи, которые иногда выходят за рамки человеческих возможностей. Количество подключенных устройств, составляющих IoT, сегодня исчисляется миллиардами.
При анализе информации об этом направлении выходило, что основная платформа, которую преподаватели раньше использовали для реализации идей Интернета вещей, в том числе и на чемпионатах Профессионалы – ThingWorx – сейчас недоступна в России. Выяснилось, что преподаватели, эксперты, организаторы и участники чемпионата вынуждены искать новые программные решения. Наилучшим вариантом на данный момент оказалась среда потокового программирования Node-RED.
Потоковое программирование – это способ описания поведения приложения в виде сети черных ящиков или «узлов», как они называются в Node-RED. Каждый узел имеет четкую цель – к нему поступают некоторые данные, он что-то делает с этими данными, а затем передает их на следующий узел. Сеть отвечает за поток данных между узлами.
Но даже на стажировке, которая проводилась в Федеральном технопарке г. Калуги, было видно, что платформа до конца не изучена и не понята экспертами по компетенции Интернет-вещей. Отсутствовали какие-либо методические материалы, учебники, в том числе электронные. Материалы всемирной сети предлагались на английском языке в видеоформате. Таким образом, были очевидны методические проблемы в сопровождении и подготовки слушателей.
В тоже время было понятно, что возможности платформы потокового программирования впечатляют, и их можно использовать не только для управления роботами на чемпионате Профессионалы по компетенции «Интернет вещей», но и для работы с контроллерами, базами данных, создания веб-интерфейса пользователя для управления объектами автоматизации и во многих других сферах. Node-red может объединить датчики и базы данных для хранения получаемы значений, контроллеры и веб-интерфейс, который используется для управления параметрами, и много другое.
Разработанное мною методическое пособие отражает мои знания и опыт в самостоятельном изучении Node-red, а также в нём присутствует практическая работа, составленная по материалам пройденных курсов, которые проводила эксперт компетенции Интернет вещей Байшугурова Розалия Рифовна (г. Москва) и приведено моё решение задач, которые вошли в демонстрационный экзамен в конце стажировки.
Методическое пособие включает в себя теоретический и практический блок. В теоретическом разделе рассказывается, что такое Интернет вещей, история его возникновения, основные принципы устройства, отличительные черты промышленного интернета вещей. В практической части даны указания по установки и использованию платформы Node-red и её применению в автоматизации, базах данных. Даётся представление о визуальных компонентах системы и создании на их основе интерфейсов пользователя. Уделено большое внимание взаимодействию с контроллером Arduino, программирование которого изучается в колледже в ПМ02 по специальности 09.02.01 «Компьютерные системы и комплексы», но который мы раньше не связывали с веб-интерфейсом и базами данных. Обобщён опыт работы с роботами-манипуляторами и написания программы для управления ими.
В основе методического пособия лежат следующие принципы: современность (актуальность) изучаемых технологий; полнота (охват максимально возможной области использования); системность в изложении; практическая направленность; соответствие учебному процессу; новые стандарты; учёт имеющегося оборудования и программного обеспечения.
Таким образом, созданный продукт содержит систематизированную информацию, адаптированную к реалиям учебного заведения с учётом требований учебного процесса, имеющегося в колледже оборудования, наличия и возможностей программного обеспечения.
Инновации присутствуют именно в содержании методического пособия, а технология использования – это классический метод: мотивация, цель, актуализация знаний, знакомство с новым материалом и его применение сначала в стандартных ситуациях, а потом выход за их пределы: решение нестандартных задач, практикориентированных, связанных с жизнью и производством, применение знаний с разных тем для одного проекта. Материал также может применяться для создания проектов в рамках курсового и дипломного проектирования.
В пособии изложены: методические указания для изучения нового материала с иллюстрациями потоков, настроек, результатов; задачи для решения; примеры потоков.
Фрагменты пособия.
Задача. Если дверь воображаемого холодильника будет открыта слишком долго и сейчас не ночь, то мы сначала получим уведомление на одну Яндекс-станцию, а затем на вторую, но, если сейчас ночь, то мы просто получим уведомление на Телеграмм, при этом колонки будут молчать. При этом, если дверь будет закрыта в течение 5 секунд и сработает триггер, что ни на станции, ни в Телеграмм никаких сообщений подаваться не будет.
Рис.1. – Пример потока для решения задачи
Пример, как потоковое программирование может объединить систему, на основе контроллера Arduino, визуальный интерфейс, базы данных.
Задача. Отобразите в Dashboard показания температуры и влажности с помощью ноды Gauge. Данные об измерениях необходимо накапливать в базе данных. Далее необходимо создать листинг программы для контроллера Arduino.
Рис. 2 – Поток, принимающий данные от контроллера, выводящий в интерфейс, записывающий в базу данных
Литература:
- Low-code программирование для приложений, управляемых событиями. – Текст: электронный // Узел-РЕД: [сайт]. – URL: https://nodered.org/
- Node-RED:Введение/Взаимодействие с Arduino. – Текст: электронный // Онлайн справочник: [сайт]. – URL: https://wikihandbk.com/wiki/Node-RED_Arduino