После реализации python-скрипта, который меняет рабочий цикл для светодиода, как в этом примере:
http://raspi.tv/2013/rpi-gpio-0-5-2a-now-has-software-pwm-how-to-use-it
Я хотел бы изменить рабочий цикл в оболочке или консоли, какие команды и в каком порядке они должны быть введены?
Пока я провел небольшое исследование, которое привело меня к аналогичному примеру, сделанному с python, как в ссылке выше. Я также знаю, как выполнять консольные команды в PHP.
Мое намерение состоит в том, чтобы воспользоваться консольными командами для управления яркостью светодиода, который запускается запросом AJAX на PHP. Я не хочу выполнять Python-скрипт в PHP из-за необходимости настройки прав доступа на Apache2-Server.
Заранее спасибо.
В то же время существует возможность прямой отправки сигналов ШИМ с помощью PHP с использованием библиотека php-pigpio, который является интерфейсом для демона Pigpio
Ширина импульса:
Отправка сигнала ШИМ с длительностью импульса 1500 мкс на вывод 15 GPIO:
use Volantus\Pigpio\Client;
use Volantus\Pigpio\PWM\PwmSender;
$client = new Client();
$sender = new PwmSender($client);
$sender->setPulseWidth(15, 1500);
Рабочий цикл:
Если вы предпочитаете режим рабочего цикла / диапазона (как в вашем собственном примере):
Установка диапазона на 1024:
$sender->setRange(15, 1024);
Посылка сигнала 50%:
$sender->setDutyCycle(15, 512);
В конце концов, это было не так сложно, как я думал. Несмотря на то, что Raspberry-PI B + имеет много PIN-кодов, он имеет только один PIN-код (GPIO 18 = Pin 12) PWM может управляться через консоль Вот команды для управления Duty Cycle для GPIO-Pin 18:
Скажите, что PIN-код 18 является выходным PIN-кодом для PWM:
gpio -1 mode 12 pwm
или же
gpio -g mode 18 pwm
ШИМ имеет диапазон от 0 до 1023
0 выключает светодиод:
gpio -1 pwm 12 0
или же
gpio -g pwm 18 0
1023 заставляет светодиод излучать максимальную яркость:
gpio -1 pwm 12 1023
или же
gpio -g pwm 18 1023
Очень интересно, что вам не нужно указывать ПИН-код, на какой частоте он должен использоваться PWM и мой светодиод даже не мерцает.
Надеется, что это помогает кому-то там.