Идея проста. Есть у меня десяток устройств на ESP8266 и количество их пугающе растет. Старенький роутер переодически страдает маразмом и перестает подключать то одно, то другое до их полной перезагрузки. Устройства перезагружаются сами, при отсутствии подключения более определенного времени, но иногда бывают казусы. Хотелось бы видеть здоровье устройств в Устройства онлайн. Понятно, что каждому назначить фиксированый IP не очень предпочтительный вариант. Тем более, что это все-таки ESP на колхозной плате и в зоопарке раз в 2-3 месяца кто-то дохнет насовсем и модуль приходится менять.
Короче завел на устройства объекты. В каждом добавил свойство MAC, прописал туда MAC адреса. Дальше вроде бы просто - запускаем скрипт раз в час, к примеру, который собирает все MAC скармливает их arp-scan, парсит ответ и обновляет IP адреса в объектах. Но не тут то было. Никакими силами у меня из под скрипта arp-scan не работает. Либо нет доступа, либо что-то типа нет терминала.
Может кто сможет подскажет, как запустить такое:
Код: Выделить всё
exec_shell('sudo arp-scan -T 94-65-2d-3d-52-f9 192.168.0.0/24 2> /tmp/readings1.txt');