|
Метка: новое перенаправление |
(не показано 118 промежуточных версий 10 участников) |
Строка 1: |
Строка 1: |
| Полная документация доступна [https://github.com/contactless/wb-rules здесь].
| | #REDIRECT [[Wb-rules]] |
| | |
| == Примеры ==
| |
| === Отправка команд по RS-485 ===
| |
| | |
| Для примера отправим команду устройству на порт /dev/ttyNSC0 (неоптоизолированный RS-485 на Wiren Board 4).
| |
| Для этого будем использовать движок правил и возможность выполнения произвольных шелл-команд. Подробнее см. [https://github.com/contactless/wb-rules#%D0%94%D1%80%D1%83%D0%B3%D0%B8%D0%B5-%D0%BF%D1%80%D0%B5%D0%B4%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B5-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8-%D0%B8-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5 в документации].
| |
| | |
| С помощью движка правил создадим виртуальное устройство с контролом типа switch (переключатель).
| |
| | |
| При включении переключателя будем отправлять команду (уст. Яркость кан. 00=0xff) для Uniel UCH-M141:
| |
| <pre>
| |
| FF FF 0A 01 FF 00 00 0A
| |
| </pre>
| |
| | |
| | |
| При выключении переключателя будем отправлять команду (уст. Яркость кан. 00=0x00) для Uniel UCH-M141:
| |
| <pre>
| |
| FF FF 0A 01 00 00 00 0B
| |
| </pre>
| |
| | |
| | |
| | |
| | |
| | |
| 1. Настройка порта
| |
| | |
| Для настройки порта /dev/ttyNSC0 на скорость 9600 надо выполнить следующую команду
| |
| | |
| <pre>
| |
| stty -F /dev/ttyNSC0 ospeed 9600 ispeed 9600 raw clocal -crtscts -parenb -echo cs8
| |
| </pre>
| |
| | |
| 2. Отправка команды
| |
| | |
| Отправка данных делается следующей шелл-командой:
| |
| | |
| <pre>
| |
| /usr/bin/printf '\xFF\xFF\x0A\x01\xD1\x06\x00\xE2' >/dev/ttyNSC0
| |
| </pre>
| |
| где "\xFF\xFF\x0A\x01\xD1\x06\x00\xE2" - это запись команды "FF FF 0A 01 D1 06 00 E2".
| |
| | |
| | |
| 3. Создадим в движке правил новый файл с правилами
| |
| <pre>
| |
| /etc/wb-rules/rs485_cmd.js
| |
| </pre>
| |
| | |
| Файл можно редактировать с помощью vim, nano или mcedit в сеансе ssh на устройстве, либо залить его с помощью SCP.
| |
| | |
| <pre>
| |
| root@wirenboard:~# mcedit /etc/wb-rules/rs485_cmd.js
| |
| </pre>
| |
| | |
| | |
| 4. Описываем в файле виртуальный девайс
| |
| | |
| <pre>
| |
| defineVirtualDevice("rs485_cmd", {
| |
| title: "Send custom command to RS-485 port",
| |
| cells: {
| |
| enabled: {
| |
| type: "switch",
| |
| value: false
| |
| },
| |
| }
| |
| });
| |
| </pre>
| |
| | |
| 5. Перезапускаем wb-rules и проверяем работу
| |
| | |
| <pre>
| |
| root@wirenboard:~# /etc/init.d/wb-rules restart
| |
| root@wirenboard:~# tail -f /var/log/messages
| |
| </pre>
| |
| | |
| В логе не должно быть сообщений об ошибке (выход через control-c)
| |
| | |
| | |
| В веб-интерфейсе в разделе Devices должно появиться новое устройство "Send custom command to RS-485 port"
| |