Скрипты и схемы для автоматической перезагрузки устройств по состоянию сети

03.03.12

База данных - Инструменты администратора БД

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Python скрипт
.py 2,05Kb
6 1 850 руб. Купить
Прошивка для Arduino
.ino 0,63Kb
4 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Маленькая статья для тех, кто использует на удаленных объектах, к которым затруднен доступ, оборудование, которое в силу своих свойств или в силу внешних факторов периодически зависать вешать канал и т.д.  Данные неприятности чаще всего лечатся банальной перезагрузкой устройства, но иногда, чтоб добраться до узла приходится ехать до него полдня, чтоб просто отключить и включить заново. Вот именно для таких случаев и подойдет эта статья.

Что мы имеем.

  1. Dlink роутер прошитый для работы с YOTA например.
  2. Системный блок с FreeBSD на борту.
  3. Микроконтроллер Arduino NANO.
  4. Блок реле.

Идея работы простая.

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

Итак, начнем.

Разворачиваем ОС FreeBSD. Все приведенные здесь примеры были опробованы на FreeBSD 9.0 RC3

  1. Устанавливаем из портов Python
    1. cd /usr/ports/lang/python
    2. make install clean
    3. Устанавливаем модуль Python’a для работы с Serial портом.
      1. cd /usr/ports/comms/py-serial
      2. make install clean
      3. Устанавливаем мост для USB->COM для Arduino
        1. cd /usr/ports/comms/uarduno
        2. make install clean

На этом подготовка сервера к мониторингу сети закончена. Займемся аппаратной частью.

Имеем Arduino Nano стоимостью 500 руб и блок реле http://www.ebay.com/itm/8-Channels-5V-Relay-Module-Arduino-ARM-PIC-AVR-DSP-/170667758574?pt=LH_DefaultDomain_0&hash=item27bc9753ee стоимостью 400 руб. Скачав с сайта http://arduino.cc/en/Main/Software приложения для программирования Arduino зальем в неё примитивную программу для управления релюшкой через команду пришедшую с COM порта.

"Прошивка для Arduino" смотри в приложенных файлах.

Суть работы программы просто в бесконечном цикле ждем получения команды на Serial порт. Если получаем команду «1» то переключаем на 10 секунд  реле в другое состояние, далее опять возвращаемся в исходное состояние.

Описание прошики.

Цифровой выход №2 #define RELE 2 используем для управления реле. Для моего блока реле управляющий сигнал должен быть подтянут к 0. Поэтому переключаем режим работы порта pinMode(RELE, OUTPUT);

В рабочем состоянии блока реле подаем на выход высокий уровень сигнала digitalWrite(RELE, HIGH);

 Для срабатывания реле подаем низкий уровень сигнала digitalWrite(RELE, LOW);  по условию, если через порт придет «1»  if (command==1)

13 порт работает в инверсивной индикации через светодиод. При срабатывании реле просто зажигает светодиод.

Для управления микроконтроллером есть скрипт

"Python скрипт" смотри в приложенных файлах.

написанный на Phyton. Скрипт располагаем его в директории /usr/local/script/ и даем ему права на запуск.

Описание скрипта.

ser = serial.Serial(

    port='/dev/cuaU0',

    baudrate=19200,

    timeout=10,

    parity=serial.PARITY_NONE,

    stopbits=serial.STOPBITS_ONE,

    bytesize=serial.EIGHTBITS

)

Описываем наш виртуальный COM порт, здесь основное это имя порта ищем в /dev/cua* и скорость обмена и здесь и в прошивке микроконтроллера я поставил 19200.

hosts = ["ya.ru"]

перечень узлов которые будем пинговать.

В случае проблем с доступностью устройства через COM порт отсылается уведомление на почту.

в /var/cron/tabs/root

создаем запись для вызова скрипта по расписанию

gw# cat root
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
#minute hour    mday    month   wday    who     command
#
*/30    *       *       *       *       /usr/local/script/reset.py

В принципе все очень просто. Если всетаки не понятно расписал напишите в комментариях постараюсь поправить и дополнить графическими схемами.

 

 

См. также

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 7140 руб.

20.08.2024    32740    201    104    

188

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    15572    66    33    

84

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

19200 руб.

06.12.2023    14283    61    8    

90

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    37409    115    152    

82

Инструменты администратора БД Системный администратор 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    63968    99    59    

82

Инструменты администратора БД Пользователь 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    11154    14    4    

22

Администрирование Инструменты администратора БД Удаленное управление Системный администратор 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Расширение разработано для автоматизации интеграции «1С:Зарплата и управление персоналом (редакция 3.1)» с сервисом Яндекс 360 через платформу «n8n». Расширение позволяет автоматически создавать учетные записи Яндекс для новых сотрудников, обновлять данные существующих сотрудников и блокировать учетные записи уволенных сотрудников. Обмен данными осуществляется через API Яндекс 360 с использованием промежуточного сервера платформы n8n, что обеспечивает гибкость, масштабируемость и упрощение интеграционных процессов.

3600 руб.

03.04.2025    860    2    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. via 93 16.07.13 00:40 Сейчас в теме
тема arduino гораздо шире... можно сделать целый "умный дом".. осталось только научиться паять... хотя и без пайки, чуть дороже можно сделать много хороших решений.. СКУД, например. Я, лично, пока балуюсь (на работе) тем, что вентилятор сам включается утром выключается вечером (ну и батники нужные ссылками висят в нужном месте с нужными иконками)
Оставьте свое сообщение