Администраторы, wb_editors
89
правок
Строка 191: | Строка 191: | ||
->1<-->2<-->3<-->4<-->5<- | ->1<-->2<-->3<-->4<-->5<- | ||
Starting wb-mqtt-serial | Starting wb-mqtt-serial | ||
</syntaxhighlight> | |||
== Новый способ сохранения ИК-команд из устройств == | |||
Также появился новый способ сохранения ИК-команд, написанный нашими инженерами. | |||
Архив с файлами скриптов доступен по ссылке: [[Media:Backup-ir-signal_tool.tgz | Backup-ir-signal_tool.tgz]] | |||
=== Подготовка === | |||
Содержимое архива: | |||
* read_signal.py — скрипт сохранения ИК-команд в файл | |||
* write_signal.py — скрипт записи ИК-команд из файла в регистры датчика | |||
* ir.py — набор инструкций и функций для работы вышеуказанных скриптов, запускается автоматически. | |||
Перед тем, как приступить к чтению и записи команд: | |||
# Зайдите в консоль контроллера по [[SSH]]. | |||
# Перейдите в папку <code>/home</code> | |||
# Загрузите скрипт на контроллер и распакуйте его: | |||
#:<syntaxhighlight lang="console"> | |||
# wget -qO- https://wirenboard.com/wiki/images/7/7f/Backup-ir-signal_tool.tgz | tar -xvz -C ./ | |||
ir.py | |||
read_signal.py | |||
write_signal.py | |||
</syntaxhighlight> | |||
# Также необходимо остановить сервис [[wb-mqtt-serial]] для получения доступа к устройствам: | |||
#:<syntaxhighlight lang="console"> | |||
# systemctl stop wb-mqtt-serial | |||
</syntaxhighlight> | |||
# После окончания работ со скриптами, сервис нужно обратно включить: | |||
#:<syntaxhighlight lang="console"> | |||
# systemctl start wb-mqtt-serial | |||
</syntaxhighlight> | |||
=== Немного о механизме работы скрипта === | |||
* Скрипт чтения автоматически создаст папку <code>/ir_backup</code>, в которую будет сохранять файлы с ИК-командами | |||
* Название файлов с ИК-командами формируется по следующему принципу: | |||
** <code>серийныйНомерУстройства_дата_время.txt</code>, пример - <code>4270625043_11172021_12:01:54.txt</code> | |||
* Во время исполнения скрипта, контроллер издаст звуковой сигнал столько раз, сколько банков устройства было занято ИК-командами. Это касается как скрипта чтения, так и записи. | |||
=== Чтение команд в файл === | |||
Для чтения ИК-команд используется скрипт <code>read_signal.py</code>. | |||
Формат запуска скрипта: | |||
<syntaxhighlight lang="bash"> | |||
python read_signal.py -a [address] | |||
</syntaxhighlight> | |||
Где [address] нужно заменить на желаемый адрес устройства. По умолчанию скрипт использует 2-й порт RS485, при необходимости, это можно изменить добавив к исходной команде ключ: | |||
<syntaxhighlight lang="bash"> | |||
--port /dev/ttyRS485-n | |||
</syntaxhighlight> | |||
Где n - номер нужного порта RS485. | |||
Пример команды запуска для устройства с адресом 84, находящемся на 2-м порту RS485: | |||
<syntaxhighlight lang="bash"> | |||
python read_signal.py -a 84 --port /dev/ttyRS485-2 | |||
</syntaxhighlight> | |||
=== Запись команд из файлов === | |||
Для записи ИК-команд используется скрипт <code>write_signal.py</code>. | |||
Формат запуска скрипта: | |||
<syntaxhighlight lang="bash"> | |||
python write_signal.py -a [address] ir_backup/[filename] | |||
</syntaxhighlight> | |||
Где [address] нужно заменить на желаемый адрес устройства. А [filename] на название файла, полученного при чтении ИК-команд из устройства. По умолчанию скрипт использует 2-й порт RS485, при необходимости, это можно изменить добавив к исходной команде ключ: | |||
<syntaxhighlight lang="bash"> | |||
--port /dev/ttyRS485-n | |||
</syntaxhighlight> | |||
Где n - номер нужного порта RS485. | |||
Пример команды запуска для устройства с адресом 84, находящемся на 2-м порту RS485: | |||
<syntaxhighlight lang="bash"> | |||
python write_signal.py -a 84 --port /dev/ttyRS485-2 4270625043_11172021_12:01:54.txt | |||
</syntaxhighlight> | </syntaxhighlight> | ||