Чекер сетевых интерфейсов на основе arduino nano + debian
Бюджет
83$
/ 5000
руб
в месяц
Создан: 3 года назад
На модерации
- Описание
- На arduino nano записан простой скетч, который позволяет управлять портами 10, 11 на самой ардуино используя команды:
Включить порты:
L1HIGH
L2HIGH
Выключить порты:
L1LOW
L2LOW
Используя описанные выше команды на портах 10,11 включается и отключается питание.
Задача состоит из 2-х частей.
Часть #1
Нужно реализовать управление ардуиной из под самого дебиан, а именно создать ряд скриптов:
1) start.php
Дает команду L1HIGH
ждет 10 сек
Дает команду L2HIGH
2) restart.php
Дает команду L1LOW
ждет 5 сек
Дает команду L2LOW
ждет 5 сек
Дает команду L1HIGH
ждет 10 сек
Дает команду L2HIGH
3) shutdown.php
Дает команду L1LOW
ждет 5 сек
Дает команду L2LOW
ждет 5 сек
выключает ПК
4) reboot.php
Дает команду L1LOW
ждет 5 сек
Дает команду L2LOW
ждет 5 сек
Перезагружает ПК
5) Нужно иметь возможность управлять каждым каналом по отдельности, например так:
php /root/arduino.php L1LOW
php /root/arduino.php L2LOW
php /root/arduino.php L1HIGH
php /root/arduino.php L2HIGH
Часть #2
Нужно создать чекер сетевых интерфейсов, например checker.php.
Есть ряд сетевых интерфейсов eth1, eth2, eth3 ... eth20, которые перезагружаются (отключаются) со своей периодичностью.
Нужно синхронизировать работу чекера ардуино и перезагрузку интерфейсов, а именно создать правило:
1) Правило 1
- Чекер проверяет каждый интерфейс eth1, eth2, eth3 ... eth20 раз в минуту на предмет пинга. Если пинг получен все ок, ничего не делать.
- Если пинг не получен, то создать файл с именем интерфейса, например /root/check_test/eth1_state и внутрь файла записать 1, что будет говорить об одном не удачном пинге.
- Если ОБЩЕЕ число неудачных пингов будет равно 10, то есть в файле eth1_state будет значение 10 тогда отправить команду на ардуино для перезагрузки питания, то есть выполнить скрипт restart.php
- Если после нескольких неудачных пингов (например в файле eth1_state значение 3) пинг прошел успешно, то файл eth1_state удалить
Важно !!! Пингов на каждый eth отправлять 3 штуки. Если процент потери равен 100%, то только в таком случае делать запись в файл, который описан выше.
2) Правило 2
Если после того как была отдана команда на ардуино для рестарта, при последующем чеке какой-то из интерфейсов eth так и не поднялся, то есть пинги и далее не идут, и в файл eth1_state продолжают поступать записи (то есть его значение продолжает увеличиваться 10,11 и тд) то в таком случае при достижении отметки в 60 отправить уведомление на почту и после удалить данный файл.
Содержимое письма:
Имя ПК
Сетевой интерфейс ethN недоступен
Сетевой интерфейс ethM недоступен
- Категория
Источник: fl.ru
Похожие проекты
$6
0
0
Сделать fcc 5. 8 ГГц на дроне Dji mini 4 pro пульт Dji rc2, по возможности убрать лимит высоты 500 метров. Прошивка дрона 1. 1100. Прошивка пульта 10....
1 неделя назад
0
2
Основной задачей является тестирование игрового мода для разрабатываемого нами проекта на базе GTA SAMP (San Andreas Multiplayer). Главной задачей тестирования является поиск багов, то есть недоработок игрового мода, как смысловых (система работает, но бессмысленно/не правильно) так и визуальных (метка......
1 месяц назад
0
1
Разработка виртуальной среды для Proxmox. Необходимо разработать обход обнаружения античитами видеоигр виртуальных машин на proxmox. Надо иметь возможность разделения видеокарты на несколько виртуальных машин и предоставлять прямой доступ к карте. Использовать патченное ядро, закрывающее баг RTDS обнаружения.......
2 месяца назад
$3
0
1
расшифровать или подобрать MD5 Хэш: c74d673f4042bd732ae2a287c059a9ba. начало ответа 8385626820 8385626820. хх....
5 месяцев назад
0
5
Cофт для автоматической торговли токенами в сети Solana. На разработку с тестами и устранением багов выделяется 1-2 месяца, при превышении контракт расторгается!...
5 месяцев назад
0
8
Необходимо разработать систему, которая: Подключается к API Diagnocat и iDent (через токены доступа). Получает данные о пациенте, результатах диагностики, снимках и назначениях. Автоматически формирует структурированный отчет по шаблону (включая врачей, этапы лечения, стоимость и описание процедур).......
9 месяцев назад
0
1
Необходимо связать БД 1C:ERP с БД Outlook, MS Access, Битрикс24. Например при вводе нового сотрудника в 1С:ERP он должен автоматически появляться в вышеперечисленных БД....
9 месяцев назад
0
3
Требуется реализация отчёта на кастомизированной 1С:УПП 1. 2, ТЗ и контрольный пример во вложении, 80% кода должно быть покрыто модульными тестами....
10 месяцев назад
$7
0
5
Мне нужно копировать мой текст и вставлять в одну группу ВК с открытой стеной для публикации рекламы. Задача скрипта/сервиса/программы - примерно каждые 10 секунд брать мой текст и вставлять в эту группу. Я пробовал через одну программу, которая записывает действия мышки и потом повторяет, но она как-то......
1 год назад
0
2
Написать прошивку для A94B114, используя 2 подобные рабочие прошивки. Все файлы есть....
1 год назад
$21
0
3
Нужно разархивировать файл архив. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы(скрины)....
1 год назад
0
2
Входные: Имеется скрипт по обработке email писем и добавление их в систему Redmine Проблема: Система обработки этих писем написана некорректная и негибкая Задача: Переписать логику обработки входящих писем, чтобы исключить их потерю при незначительных отклонениях от ожидаемой структуры....
1 год назад
$37
0
4
- В обязанности сотрудника входит поддержание мобильного приложения системы автоматизации бизнеса. - Работа сдельная: задачи выдаются на оценку, далее после согласования передаются на реализацию. - Заключаем договор и NDA (соглашение о неразглашении)....
1 год назад
$71
0
1
Информация о проекте: Проект включает в себя React Native приложение с Expo внутри которого находится webview с сайтом На устройствах с ОС IOS проблема с воспроизведением видео....
1 год назад
0
2
Разрабатываю десктопные программы на языке Java, а так же Java + SQL....
1 год назад
0
0
0
9
1. Чтобы можно было писать описание события (без заголовка) - превью в списке берется N количества букв с начала. (в списке писать дату события и сколько осталось до него) . Выставление даты и времени напоминания и ИНТЕРВАЛА ПОВТОРА ОТ 1 МИНУТЫ! Выставлять количество повторов, далее напоминания прекращаются.......
1 год назад
0
7
Сайт arg2028t. beget. tech/. Нужно сделать вот такой калькулятор. airprint. by/outdoor/wide-format. и еще некоторые доработки....
1 год назад
$214
0
2
0
10
Краткое описание: Мы ищем исполнителя для тестирования функционала мобильного приложения на платформе Android. Задача включает проверку основных функций приложения, таких как работа комнаты, передача видео, звука и чата, а также создание подробной отчетности о найденных ошибках. Требования к исполнителю:......
1 год назад
0
17
Похожая удалённая работа
- Удаленная работа для веб-программиста
- Удаленная работа для разработчика баз данных
- Удаленная работа для прикладного программиста
- Удаленная работа для системного программиста
- Удаленная работа для разработчика игр
- Удаленная работа для разработчика мобильных приложений
- Удаленная работа для тестировщика ПО
- Удаленная работа для 1С программиста
- Удаленная работа для разработчика встраиваемых систем
- Удаленная работа для разработчика CRM и ERP