Buzzer: различия между версиями

Отметить эту версию для перевода
(Отметить эту версию для перевода)
Строка 2: Строка 2:
<languages/>
<languages/>
<translate>
<translate>
==Описание==
==Описание== <!--T:22-->
Контроллер Wiren Board имеет на борту Зуммер (звуковой излучатель). Зуммер питается от 5В и управляется ножкой gpio процессора в режиме ШИМ. Управлять зуммером можно через sysfs-интерфейс ядра и различное ПО поверх него. Сейчас реализовано управление из веб-интерфейса, движка правил wb-rules и python.
Контроллер Wiren Board имеет на борту Зуммер (звуковой излучатель). Зуммер питается от 5В и управляется ножкой gpio процессора в режиме ШИМ. Управлять зуммером можно через sysfs-интерфейс ядра и различное ПО поверх него. Сейчас реализовано управление из веб-интерфейса, движка правил wb-rules и python.


==Управление из веб-интерфейса==<!--T:14-->
==Управление из веб-интерфейса== <!--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: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].


Строка 43: Строка 45:
Контролы устройства можно использовать в собственных правилах. Подробнее о структуре 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-->
Строка 53: Строка 55:
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) - это распространённый способ управления мощностью, подаваемой к нагрузке.
Строка 74: Строка 77:
</b>
</b>


===Номер pwm-порта для sysfs===<!--T:6-->
===Номер pwm-порта для sysfs=== <!--T:6-->


<!--T:7-->
<!--T:7-->
Строка 84: Строка 87:
Во всех примерах далее будем считать, что номер pwm-порта = 0.
Во всех примерах далее будем считать, что номер pwm-порта = 0.


===Работа из sysfs===<!--T:9-->
===Работа из sysfs=== <!--T:9-->


<!--T:10-->
<!--T:10-->
translator, wb_editors
4251

правка