3690
правок
Строка 192: | Строка 192: | ||
3. Создадим в движке правил новый файл с правилами | 3. Создадим в движке правил новый файл с правилами <code>/etc/wb-rules/rs485_cmd.js</code> | ||
< | |||
/etc/wb-rules/rs485_cmd.js | |||
</ | |||
Файл можно редактировать с помощью vim, nano или mcedit в сеансе ssh на устройстве, либо залить его с помощью SCP. | Файл можно редактировать с помощью vim, nano или mcedit в сеансе ssh на устройстве, либо залить его с помощью SCP. | ||
Строка 206: | Строка 203: | ||
4. Описываем в файле виртуальный девайс | 4. Описываем в файле виртуальный девайс | ||
< | <syntaxhighlight lang="ecmascript"> | ||
defineVirtualDevice("rs485_cmd", { | defineVirtualDevice("rs485_cmd", { | ||
title: "Send custom command to RS-485 port", | title: "Send custom command to RS-485 port", | ||
Строка 216: | Строка 213: | ||
} | } | ||
}); | }); | ||
</ | </syntaxhighlight> | ||
5. Перезапускаем wb-rules и проверяем работу | 5. Перезапускаем wb-rules и проверяем работу | ||
Строка 234: | Строка 232: | ||
< | <syntaxhighlight lang="ecmascript"> | ||
function setup_port() { | function setup_port() { | ||
runShellCommand("stty -F /dev/ttyNSC0 ospeed 9600 ispeed 9600 raw clocal -crtscts -parenb -echo cs8"); | runShellCommand("stty -F /dev/ttyNSC0 ospeed 9600 ispeed 9600 raw clocal -crtscts -parenb -echo cs8"); | ||
} | } | ||
</ | </syntaxhighlight> | ||
7. Опишем правила на | 7. Опишем правила на включение и выключение переключателя | ||
< | <syntaxhighlight lang="ecmascript"> | ||
defineRule("_rs485_switch_on", { | defineRule("_rs485_switch_on", { | ||
asSoonAs: function () { | asSoonAs: function () { | ||
Строка 263: | Строка 261: | ||
}); | }); | ||
</ | </syntaxhighlight lang="ecmascript"> | ||
Обратите внимание на двойное экранирование. | Обратите внимание на двойное экранирование. | ||
Строка 274: | Строка 273: | ||
Полное содержимое файла с правилами: | Полное содержимое файла с правилами: | ||
< | <syntaxhighlight lang="ecmascript"> | ||
defineVirtualDevice("rs485_cmd", { | defineVirtualDevice("rs485_cmd", { | ||
title: "Send custom command to RS-485 port", | title: "Send custom command to RS-485 port", | ||
Строка 308: | Строка 306: | ||
} | } | ||
}); | }); | ||
</ | |||
setTimeout(setup_port, 1000); // запланировать выполненеи setup_port() через 1 секунду после старта правил. | |||
</syntaxhighlight> |