Обычное дело: мы используем cookie. Здесь можно узнать зачем
Хорошо

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

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

Введение

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

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

Запрос

Одному из ведущих поставщиков бытовой техники необходимо было внедрить программную систему для своих контрольно-измерительных приборов.

Они искали технологического партнера с опытом разработки прошивки и ПО.

Решение

Мы внедрили надежную программную систему, которая управляет тестируемыми устройствами, собирает данные с датчиков и визуализирует эти данные на веб-платформе бизнес-аналитики.
Инженер IT-компании КЕДР Solutions в процессе разработки прошивки и ПО для системы

Функциональность системы

Проект состоял из трех частей: 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 части.

Итоги

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

Компьютер отправляет команды датчикам, отслеживает данные, которые они собирают, и записывает эти данные в базу данных. Затем результаты тестирования отображаются в веб-интерфейсе.
Связаться с нами
Оставьте контактные данные, и мы свяжемся с вами в ближайшее время