Omega оснащен светодиодом, который имеет множество функций, а именно индикация того, когда Omega закончил загрузку. Эта статья покажет вам и другие интересные вещи, которые вы можете сделать со светодиодом.
Чтобы управлять светодиодом Omega, мы собираемся записывать информацию в файлы, которые используются для указания значений для светодиода, таких как светодиодный режим. Это стало возможным благодаря sysfs - псевдофайловой системе, которая содержит информацию об аппаратном обеспечении Omega в файлах и позволяет пользователю управлять оборудованием путем редактирования файлов.
Светодиод Omega в файловой системе назван в соответствии с руководством LEDE:
Интерфейс sysfs для светодиода можно найти в каталоге в одноимённой директории /sys/class/leds
Обратите внимание на разницу в имени и пути между Omega2 и Omega2+, помните об этом при использовании приведенных ниже команд!
Светодиод имеет различные режимы, известные как «триггеры», которые изменяют поведение светодиода. Например, когда Omega загружается, он находится в режиме мигания, а когда он загружен, он находится в режиме «включено».
Текущий режим светодиодного триггера можно считать, просмотрев файл, который управляет светодиодами. Введите:
cat /sys/class/leds/omega2:amber:system/trigger
Помните, что если вы используете Omega2+, светодиод будет называться omega2p:amber:system в отличие от omega2:amber:system, поэтому вам нужно будет переделать приведенную выше команду в /sys/class/leds/omega2p:amber:system/trigger
и ваш терминал выведет что-то похожее на следующее:
root@Omega-2757:/# cat /sys/class/leds/omega2:amber:system/trigger
none mmc0 timer [default-on] netdev transient gpio heartbeat morse oneshot
Текущий режим обозначается скобками. В настоящее время светодиод My Omega установлен в режим по умолчанию default-on. Попробуем изменить триггер, отредактировав файл.
Чтобы перейти в данный режим, мы собираемся эхо-строку, (в данном случае в режиме триггера), и передаем ее в файл с помощью команды:
echo heartbeat > /sys/class/leds/omega2:amber:system/trigger
Труба в Linux используется для отправки некоторого вывода в программу для дальнейшей обработки. В этом случае мы используем «>» для перезаписи содержимого файла, расположенного в каталоге /sys/class/leds/omega2:amber:system/trigger. Другой пример - использование «>>» для добавления вывода в файл.
Когда вы выполняете эту команду, ваша оболочка фактически записывает слово heartbeat в файл, а ядро передает сообщение соответствующим обработчикам.
Ваш светодиод Omega должен начать мигать в ритме сердцебиения.
Давайте экспериментировать с другими триггерами!
Триггер timer запускает мигание светодиода в течение определенного времени. Вы можете установить триггер на таймер следующей командой:
echo timer > /sys/class/leds/omega2:amber:system/trigger
Теперь вы можете установить значения delay_on и delay_off, которые определяют, как долго светодиод остается включенным и выключенным в миллисекундах.
Для быстрого мигания светодиода вы можете ввести следующие две команды:
echo 75 > /sys/class/leds/omega2:amber:system/delay_on
echo 75 > /sys/class/leds/omega2:amber:system/delay_off
Для светодиода, который остается включенным дольше, чем он выключен, введите следующие две команды:
echo 500 > /sys/class/leds/omega2:amber:system/delay_on
echo 120 > /sys/class/leds/omega2:amber:system/delay_off
Не бойтесь экспериментировать с другими комбинациями.
Действительно интересный триггерный режим - morse, который преобразует сообщение из текста в код Морзе!
Сначала установите триггер в положение morse:
echo morse > /sys/class/leds/omega2:amber:system/trigger
Затем введите сообщение, которое вы хотите преобразовать в код Морзе:
echo > /sys/class/leds/omega2:amber:system/message
Вы можете попробовать классический S O S, который выглядит как 3 быстрых мигания, 3 медленных мигания, а затем 3 быстрых мигания:
echo sos > /sys/class/leds/omega2:amber:system/message
Мой светодиод мигает очень быстро, и его трудно прочитать. Давайте изменим скорость сообщения с помощью следующей команды:
echo 150 > /sys/class/leds/omega2:amber:system/delay
echo 150 > /sys/class/leds/omega2:amber:system/delay
Это заметно замедлило его.
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru