Производители бытовой техники используют контрольно-измерительные инструменты для проверки конструкции приборов и режимов работы, а также для устранения неполадок.
Во время тестирования эти устройства собирают большое количество данных, которые помогают инженерам выяснить причины проблем.
Общая система хранит все полученные данные в центральной базе данных и с помощью специального программного обеспечения для бизнес-аналитики отображает результаты в виде графиков и диаграмм.
Запрос
Одному из ведущих поставщиков бытовой техники необходимо было внедрить программную систему для своих контрольно-измерительных приборов.
Мы внедрили надежную программную систему, которая управляет тестируемыми устройствами, собирает данные с датчиков и визуализирует эти данные на веб-платформе бизнес-аналитики.
Функциональность системы
Проект состоял из трех частей: 1) одноплатный компьютер, 2) сервер базы данных и 3) веб-интерфейс.
Функционал, который мы реализовали для каждой части:
Одноплатный компьютер
Подключение к серверу базы данных;
Макросы для разных датчиков и электронных компонентов;
Экосистема с API для запуска тестовых приложений;
Поддержка расширителя портов MCP23017;
Поддержка различных датчиков температуры;
Измерения напряжения, тока и мощности, которые потребляет тестируемый прибор
Сервер базы данных
База данных на основе системы PostgreSQL;
Rest API для связи с веб-интерфейсом;
Сокетное соединение с одноплатным компьютером на основе библиотеки ZeroMQ;
Перенаправление трафика между сокетами для обеспечения прямого доступа к тестируемому устройству через веб-интерфейс.
Веб-интерфейс
Разграничение прав пользователей;
Возможность написания тестовых скриптов на С-подобном языке;
Возможность назначить тестовый сценарий для запуска на нескольких испытуемых устройствах одного типа (например, на утюгах);
Возможность выполнения нескольких тестовых сценариев на одном тестируемом устройстве;
Графики и логи, отображающие результаты выполненных тестов;
Мониторинг испытуемого устройства в режиме реального времени.
Сложности проекта и их решение
1. Мы реализовали два пользовательских режима: тестовый и режим отладки. В тестовом режиме пользователь может просматривать результаты тестирования как онлайн, так и офлайн. В режиме отладки пользователь может наблюдать за процессом тестирования в режиме реального времени.
2. С каждого тестируемого устройства ежесекундно собирается 1-10 измерений. При среднем времени тестирования около 10 часов каждый индивидуальный график с результатами тестирования должен отображать от 36 000 до 360 000 пунктов для каждого сенсора. Мы оптимизировали систему, чтобы этот огромный объем данных (результаты тестирования) мог отображаться без лагов и задержек.
3. Мы реализовали API для реле, датчика температуры и других датчиков, чтобы упростить работу с ними, используя сценарии для тестирования.
4. Нашей основной задачей было сделать программное обеспечение гибким, чтобы оно могло круглосуточно работать с разными типами устройств от утюгов до микроволновых печей.
В нашей системе пользователь может легко назначать сценарии тестирования для различных устройств и отслеживать их состояние онлайн.
Выполненные работы
Разработка встроенного Linux
Одноплатный компьютер управляет реле, датчиками температуры, вольтметром, амперметром, расширителем портов общего назначения и записывает собираемые ими данные.
Бэкэнд разработка
Мы внедрили систему баз данных для сбора, обработки и систематизации данных, записанных одноплатным компьютером.
Фронтенд разработка
Мы создали веб-систему бизнес-аналитики, которая отображает данные, собранные с датчиков.
Использованные технологии
Четырехъядерный одноплатный компьютер
для аппаратной части проекта.
Специализированный образ Linux
создали для аппаратной части для одноплатного компьютера.
ZeroMQ
для сокетного соединения между аппаратной частью и сервером.
C/C++
для создания программного обеспечения аппаратной части и части серверного ПО.
HTML, CSS и JS
для разработки графического интерфейса.
PHP
для написания Backend части.
Итоги
Система измерения и тестирования основана на одноплатном компьютере, который действует как посредник между сервером и датчиками, подключенными к тестируемому устройству.
Компьютер отправляет команды датчикам, отслеживает данные, которые они собирают, и записывает эти данные в базу данных. Затем результаты тестирования отображаются в веб-интерфейсе.
Связаться с нами
Оставьте контактные данные, и мы свяжемся с вами в ближайшее время