Дипломный проект как способ тестирования открытых решений: кейс Казанского техникума связи

Дипломный проект, как правило, это итог обучения, наглядное доказательство того, как ты понимаешь свою специальность. Преподаватель и международный эксперт Казанского техникума связи и информационных технологий (ГАПОУ “МЦК-КТИТС”) Илья Беляков в статье рассказывает, как привлек студентов для решения дипломной задачи.

Дипломный проект как способ тестирования открытых решений: кейс Казанского техникума связи

Где взять тестировщиков-экспериментаторов?

Автор не имеет профессионального отношения к электронике и занимается веб-разработкой, но причисляет себя к группе модульных радиолюбителей, которые опираются на поделки на базе Arduino. Так случилось, что писать собственные прошивки с нуля для разных хозяйственных задач стало нестерпимо грустно (зоопарк и версионность решений выносил мозг постоянно), поэтому была предпринята попытка взять за основу универсальное решение и модифицировать “под себя”. Так автор познакомился с третьей версией проекта IoTManager.

После ряда модификаций по архитектуре, добавления идей по концепции проекта и погружения в очень приветливое, но строгое сообщество образовалась первая тестовая версия “четверки”, в создании которой автор принял непосредственное участие.

Проблемой стало то, что вся работа ведется на общих основаниях, в свободное время, не оплачивается, и, как следствие, иметь команду тестировщиков на уровне вытянутой руки очень проблематично. А решением — то, что появилась мысль внедрить идею реализации дипломных проектов на базе готовой прошивки. Автору дали троих студентов по специальности “Компьютерные системы и комплексы” – ура! Правда, позднее обращение не позволило заполучить отличников, но, как показала работа в конце, это было даже плюсом, а ребята продемонстрировали отличную активность.

В качестве тем остановились на трёх: «Разработка симулятора работы радиолокационной установки слежения за объектом”, «Разработка автоматической системы оцифровки малогабаритных объектов в псевдо-3D”, »Разработка контроллера управления выставочной зоной на базе IoTManager”.

На деле это очень простые проекты по управлению реле, двигателем, mp3-плеером, фотокамерой по данным с кнопок, эхолокаторам, датчику движения и виртуального интерфейса пользователя. Все они основываются на компонентах, совместимых с »экосистемой” Ардуино, а значит, идеально подходят под наш проект.

У студентов были следующие задачи:

1. Разобраться в работе прошивки без подробных инструкций

2. Подобрать вариант по получению информации с датчиков и управлению исполнительными модулями системы

3. Построить простую логику с использованием языка сценариев.

Работу усложнял тот факт, что четвертая версия прошивки была, по сути, в стадии альфа-версии, и ребята оказались не столько тестировщиками, сколько экспериментаторами. Возможно, сложно разбираться с новым инструментом, еще и в стадии первичной разработки, но логика молодого мозга под осознанием факта, что можно не защитить диплом, творит чудеса!

Результат любого проекта – это работа команды

Конечно, студенты не оставались одни в поле с железками такого типа:

Дипломный проект как способ тестирования открытых решений: кейс Казанского техникума связи

Автор регулярно проводил обсуждение, обучение и корректировку микрозадач, – работал наставником. Ближе к защите организовал в своем кабинете мини-лабораторию с паяльником, инструментами, кучей проводов и, конечно, мусором. На самом деле, каждый вопрос или недоумение ребят были бесценной информацией для корректировки работы прошивки. Вариантов комбинаций параметров конфигурации они генерировали пачками, функционала не хватало, в лексическом анализаторе сценария находились баги и многое другое. Например, текущий вариант профилирования настроек с использованием скрипта сборки прошивки был создан именно из потребности постоянной перенастройки (переключения) конфигурации под определенный проект.

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

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

Дипломный проект как способ тестирования открытых решений: кейс Казанского техникума связи

Немного о тестируемой прошивке IoTManager

Модульная система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения iot manager, которые позволяют решать ряд задач автоматизации. Данные микроконтроллеры получили свою популярность благодаря низкой стоимости. Каждый такой микроконтроллер способен подключаться к вашему домашнему wi-fi роутеру. Их можно приобрести в любом магазине робототехники или на “Алиэкспресс”, существуют также готовые устройства на их основе. Данный микроконтроллер имеет определенное количество выводов, на которых формируются цифровые сигналы. К нему можно подключать различные периферийные устройства: датчики, реле, шаговые двигатели, сервоприводы и т. д.

Прошивка позволяет получать данные со всех этих устройств и управлять ими. Для отображения данных используется приложение IotManager, доступное для ios и android. Для того, чтобы связать устройства и приложение, необходим специальный mqtt сервер, по-другому, mqtt брокер. Все устройства вначале подключаются к wi-fi роутеру, а затем и к данному mqtt брокеру, также к нему подключается и приложение.

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

Брокер mqtt можно использовать облачный, например почти бесплатный wqtt. ru, или собственный, поднятый, например, на одноплатном компьютере raspberry pi. Есть также второй способ управления устройствами, который работает, даже когда у вас нет интернета — управление идет через web-браузер. Все ваши устройства будут доступны на одной странице. Оба способа — через приложение или через web — работают одновременно с полной взаимно обратной синхронизацией.

Логика работы каждого устройства настраивается с помощью сценариев. Они нужны для того, чтобы научить устройство выполнять вами придуманные алгоритмы. На любое действие можно назначить любую реакцию. Поднялась температура – устройство отключит нагреватель. Упала влажность и уровень в баке больше 10% — устройство запустит полив, если нет, то пришлет вам уведомление в Telegram о том, что воды недостаточно. Это лишь несколько примеров. Сценарии создаете вы сами и их гибкость позволит выполнить любое ваше желание.

Релиз четвертой версии состоялся 26 ноября 2022 г. Она используется сотнями людей на территории СНГ.

Дипломный проект как способ тестирования открытых решений: кейс Казанского техникума связи

Главные фишки проекта:

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

● Возможность полной переконфигурации с подключением иных датчиков без перепрошивки, в том числе, изменение сценариев “на ходу” с любого телефона или компьютера

● Добавление в проект своего программного модуля, например, для поддержки особого датчика или исполнительного устройства без уведомления автора, без создания форка, без изменения файлов основного проекта

● Собственный упрощенный язык сценариев для написания алгоритмов реакции на происходящие в системе события

● Прозрачное сетевое взаимодействие контроллеров (в текущей версии посредством mqtt, в планах — TCP) с доступом к событиям и данным всех контроллеров.

Более подробно ознакомиться с проектом можно в telegram-канале или на сайте (находится в стадии наполнения) . Здесь короткое видео с описанием новой версии.

Что на выходе

Дипломный проект – это отличный инструмент проверки идеи или гипотезы, создание рабочего прототипа, получение отзыва и рекомендаций от стороннего наблюдателя с академической и не только точек зрения. Посмотрите вокруг, вероятно, рядом с вами есть техникум или колледж. Я уверен, они с интересом подключатся к вашей работе.

Да, это не профессиональные тестировщики, и мы не вырабатывали протоколы фиксации изменений, не следовали специальным паттернам. Это будет довольно сложным моментом для тех, кто захочет повторить и будет ожидать какого-то конвейера. В данном варианте сотрудничества, скорее, важен креатив и нестандартность мышления молодых людей, которые еще не успели привыкнуть к современным методам и подходам разработки и тестирования.

Если хотите узнавать больше о развитии ИТ и новостях индустрии, подписывайтесь на телеграм-канал и подкаст “Поток”

1 комментарий

Не кейс, а пример. Вы же в Татарстане, а не в Чикаго. У нас в РФ есть русский язык.

Ответить