• /
  • /

Мультимедийное устройство с дистанционным управлением: аудит и доработка

Устройство для воспроизведения аудио-файлов с SD-карты. Имеет дистанционное управление, ловит сигналы с расстояния более 750 м и обладает высокой помехозащищенностью. Предназначено для работы на сцене. Также может подключаться к ПК по беспроводному интерфейсу и работать как внешняя колонка.
Мультимедийные устройства используются не только в домашних условиях, но и для всевозможных представлений и выступлений. На больших концертах применяется сложное и дорогое оборудование, соединенное множеством кабелей. В маленьких помещениях чаще можно увидеть микшерный пульт, управляемый с планшета.

В данном проекте мы имели дело с мультимедийным устройством, которое управляется с миниатюрного пульта. Но в отличие от аналогичных решений, здесь применяется псевдослучайная перестройка рабочей частоты (ППРЧ). Пульт и само устройство меняют частоту по заданному алгоритму, что значительно повышает помехозащищенность канала. Так сигнал с пульта не будет прерван помехами от другого оборудования на сцене. Кроме того, устройство может ловить сигнал с впечатляющего расстояния – более 750 м.

Запрос

Автор данного устройства попросил КЕДР Solutions внести в его прошивку ряд изменений. По определенным причинам он не мог обратиться к команде, которая разработала для него это изделие, и искал специалистов на замену.

Заказчик поставил перед нами следующие задачи:

Во-первых, мы должны были поменять время удержания кнопки переключения треков.

Во-вторых, команде предстояло доработать механизм обновления прошивки устройства.

Решение

Аудит проекта

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

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

Время удержания кнопки

Функционал устройства предполагал переключение треков двумя способами. При коротком нажатии (менее 1 сек.) плеер переключался на следующую или предыдущую в списке запись, но не воспроизводил ее. При длительном нажатии (1 сек.) новый трек воспроизводился сразу после затухания предыдущего.

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

Механизм обновления

Изначально устройство могло обновляться только с определенного заранее прописанного URL-адреса в Интернете. HTTP-клиент отправлял запрос на этот адрес и мог обрабатывать только ответы об успехе или ошибке. Заказчик же хотел, чтобы мы добавили в прошивку возможность обрабатывать перенаправление на другие URL-адреса. Команда добавила в HTTP-клиент обработку кодов 301 (Moved Permanently) и 302 (Found, Moved Temporarily).
Пример кодов состояния HTTP 301 (Moved Permanently) и 302 (Found, Moved Temporarily).
Это позволяет устройству скачивать обновления прошивки не только с первоначального сервера, но и с других серверов, если заказчик настроит соответствующую переадресацию.

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

Выполненные работы

  • Аудит аппаратного и программного обеспечения
  • Доработка прошивки

Использованные технологии

  • В проекте использован микроконтроллер STM32.
  • Прошивка написана на С/C++ и собрана в CMake.

Итоги

Команда КЕДР Solutions провела аудит устройства, разработанного сторонней командой, и переработала его прошивку. Мы изменили время затухания треков при переключении с автовоспроизведением с 6 до 3 сек., а также добавили в HTTP-клиент возможность обработки перенаправления, чтобы устройство могло скачивать файлы обновления с нового сервера.