translator, wb_editors
4256
правок
PeteK (обсуждение | вклад) |
Matveevrj (обсуждение | вклад) |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
<languages/> | |||
<translate> | |||
<!--T:26--> | |||
{{DISPLAYTITLE:Зуммер (звуковой излучатель)}} | {{DISPLAYTITLE:Зуммер (звуковой излучатель)}} | ||
== | ==Описание== <!--T:22--> | ||
Контроллер Wiren Board имеет на борту Зуммер (звуковой излучатель). Зуммер питается от 5В и управляется ножкой gpio процессора в режиме ШИМ. Управлять зуммером можно через sysfs-интерфейс ядра и различное ПО поверх него. Также реализовано управление из веб-интерфейса, движка правил wb-rules и python. | |||
==Управление из веб-интерфейса== <!--T:14--> | |||
<!--T:23--> | |||
[[Файл:buzzer.png |300px|thumb|right| Управление зуммером]] | [[Файл:buzzer.png |300px|thumb|right| Управление зуммером]] | ||
В веб-интерфейсе контроллера управление зуммером доступно во вкладке ''"Devices"''. Параметр ''"Frequency"'' - частота звука в Гц. ''"Volume"'' - громкость (в условных единицах, шкала линейная). Параметры сохраняются при перезагрузке контроллера. | В веб-интерфейсе контроллера управление зуммером доступно во вкладке ''"Devices"''. Параметр ''"Frequency"'' - частота звука в Гц. ''"Volume"'' - громкость (в условных единицах, шкала линейная). Параметры сохраняются при перезагрузке контроллера. | ||
==Управление из движка правил==<!--T:15--> | ==Управление из движка правил== <!--T:15--> | ||
<!--T: | <!--T:24--> | ||
Управление зуммером, выведенное в веб-интерфейс - это виртуальное устройство, созданное системным правилом wb-rules при старте контроллера. Исходный код правила доступен [https://github.com/wirenboard/wb-rules-system/blob/master/rules/buzzer.js на нашем github]. | Управление зуммером, выведенное в веб-интерфейс - это виртуальное устройство, созданное системным правилом wb-rules при старте контроллера. Исходный код правила доступен [https://github.com/wirenboard/wb-rules-system/blob/master/rules/buzzer.js на нашем github]. | ||
Строка 41: | Строка 47: | ||
Контролы устройства можно использовать в собственных правилах. Подробнее о структуре mqtt-топиков виртуальных и физических устройств можно узнать из нашей [https://github.com/wirenboard/conventions/blob/main/README.md mqtt-конвенции]. | Контролы устройства можно использовать в собственных правилах. Подробнее о структуре mqtt-топиков виртуальных и физических устройств можно узнать из нашей [https://github.com/wirenboard/conventions/blob/main/README.md mqtt-конвенции]. | ||
==Управление из python==<!--T:19--> | ==Управление из python== <!--T:19--> | ||
<!--T:20--> | <!--T:20--> | ||
Строка 51: | Строка 57: | ||
from wb_common import beeper | from wb_common import beeper | ||
<!--T:25--> | |||
beeper.beep(0.5, 2) | beeper.beep(0.5, 2) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Поддерживаются все настройки sysfs-интерфейса (пересчёт нужно проводить вручную; см [[#О ШИМ и пересчёт параметров|раздел о пересчёте]]). | Поддерживаются все настройки sysfs-интерфейса (пересчёт нужно проводить вручную; см [[#О ШИМ и пересчёт параметров|раздел о пересчёте]]). | ||
==Низкоуровневая работа==<!--T:5--> | ==Низкоуровневая работа== <!--T:5--> | ||
===О ШИМ и пересчёт параметров===<!--T:2--> | ===О ШИМ и пересчёт параметров=== <!--T:2--> | ||
[[Файл:Duty_cycle.gif|440px|thumb|right|Duty cycle управляет яркостью светодиодов / громкостью Зуммерa]] | [[Файл:Duty_cycle.gif|440px|thumb|right|Duty cycle управляет яркостью светодиодов / громкостью Зуммерa]] | ||
ШИМ (PWM) - это распространённый способ управления мощностью, подаваемой к нагрузке. | ШИМ (PWM) - это распространённый способ управления мощностью, подаваемой к нагрузке. | ||
Строка 72: | Строка 79: | ||
</b> | </b> | ||
===Номер pwm-порта для sysfs===<!--T:6--> | ===Номер pwm-порта для sysfs=== <!--T:6--> | ||
<!--T:7--> | <!--T:7--> | ||
Строка 82: | Строка 89: | ||
Во всех примерах далее будем считать, что номер pwm-порта = 0. | Во всех примерах далее будем считать, что номер pwm-порта = 0. | ||
===Работа из sysfs===<!--T:9--> | ===Работа из sysfs=== <!--T:9--> | ||
<!--T:10--> | <!--T:10--> | ||
Строка 102: | Строка 109: | ||
T(ns) = 1 000 000 / f(kHz) | T(ns) = 1 000 000 / f(kHz) | ||
</b> | </b> | ||
</translate> |