Решение проблемы зависания при запуске скриптов

При написании скриптов столкнулся с проблемой: при старте скрипты перестают работать, к ним нет доступа, выдается ошибка MQTT.

Проблема оказалась в преждевременном старте написанных мною скриптов при запуске системы, которые начинают пытаться управлять устройствами, которые еще не готовы в системе, что и приводит к зависанию.

Проблема решилась добавлением отсрочки запуска основного скрипта на 30 сек оператором setTimeout.

Вот пример:

function Start_Script()
{
// …
};

setTimeout(Start_Script, 30000);

1 лайк

Если все же система зависла, нужно исправить (или удалить) неправильный скрипт.

Это можно сделать через соединение по SSH (я пользуюсь PuTTY). Скрипты находятся в каталоге “/etc/wb-rules”.

Удалить можно командами:
cd /etc/wb-rules
ls
rm [название скрипта].js

или через Midnight Commander (команда: mc)

Затем - перезагрузить Wiren Board

1 лайк