Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
эта страница доступна на следующих языках: English  Castellano  Deutsch  Francais  Italiano  Nederlands  Russian  Turkce  Korean  

convert to palmConvert to PalmDoc

[Photo of the Author]
автор Guido Socher

Об авторе :

Guido давний поклонник ОС Linux. Большую часть своего времени он посвящает разработке программного обеспечения и работе для LinuxFocus, но время от времени проектирует и различные устройства.

Содержание:

Выключение сервера кнопкой подключенной к последовательному порту

[Illustration]

Резюме:

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



 

Введение

Обычно для работы настоящему серверу не нужны клавиатура, дисплей и мышь. Все что ему нужно это хорошая операционная система, такая как Linux, и сетевая плата. Внешние устройства вроде мыши и клавиатуры только мешают. Управление машиной работающей под управлением Linux можно осуществлять удаленно.

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

Компьютер без клавиатуры и монитора - совершенная машина для firewall, веб-сервера, NFS-сервера, почтового сервера, шлюза ADSL и т.д. Для таких целей не нужен мощный компьютер. Старый pentium-100 с достаточным количеством памяти легко справится с обслуживанием сотни и более компьютеров.

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

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

Решение - маленькое и недорогое устройство, речь о котором пойдет в предлагаемой Вам заметке.

 

Принцип работы

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

После нажатия на кнопку зеленый светодиод погаснет сигнализируя о том, что начался процесс выключения системы - выполняется команда " /sbin/shutdown -t2 -h now ". В это время желтый светодиод еще продолжает мигать. Через 10 секунд после того как погаснет желтый светодиод можно выключить питание компьютера. Желтый светодиод останавливается после уничтожения всех процессов и размонтирования дисков.
Если Ваш компьютер поддерживает функцию автоматического выключения питания, то просто подождите пока компьютер не выключится сам.  

Последовательный интерфейс

Особенности последовательного интерфейса, заключающиеся в возможности управления отдельными его линиями через вызовы системных ioctl-функций и избавляющими нас от необходимости перекомпиляции ядра системы, позволяют манипулировать подключенными к порту светодиодами и считывать состояние внешней кнопки. Выходной мощности линий последовательного порта вполне достаточно для управления двумя маломощными светодиодами. Для управления светодиодами мы воспользуемся выводами RTS и DTR , а для считывания состояния кнопки - выводом CD("Детектор принимаемого сигнала") последовательного порта.
9 PIN D-SUB MALE

Распайка девятиконтактного разъема последовательного порта компьютера.

Сигналы девятиконтактного разъема последовательного интерфейса

9-конт. 25-конт. Назв. Направление Описание
1 8 CD вход Детектор принимаемого сигнала
2 3 RXD вход Принимаемые данные
3 2 TXD выход Передаваемые данные
4 20 DTR выход Приемник готов
5 7 GND -- Сигнальное заземление
6 6 DSR вход Передатчик готов
7 4 RTS выход Запрос передачи
8 5 CTS вход Готов к передаче
9 22 RI вход Индикатор вызова

 

Описание схемы

Для создания пульта Вам понадобятся:

circuit diagram Все составляющие соединяются согласно схеме. Уровни напряжений на линиях последовательного порта +- 10В. Номиналы сопротивлений включенных последовательно со светодиодами(1.5K), расчитаны на подключение маломощных светодиодов. Этих же номиналов следует придерживаться применяя обычные светодиоды. Я не рекомендую уменьшать значения этих сопротивлений или использовать для повышения мощности свечения светодиодов отдельного источника питания, так как на современных материнских платах последовательные порты являются интегрированными и как следствие выход их из строя может привести к полной неработоспособности всей платы.


pcb

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

Весь пульт в сборе показан на фотографии в начале статьи. Можно просверлить три отверстия в лицевой панели сервера. Два 3-мм отверстия для светодиодов и одно под резьбу кнопки. Пульт достаточно легок для того, чтобы держаться на резьбе кнопки.

 

Программное обеспечение

Программа - маленький процесс - демон, который может быть запущен скриптом из /etc/rc.d/rc3.d/. Программа использует ioctl( fd, TIOCMSET,... ) и ioctl( fd, TIOCMGET,... ) функции для управления использованными в пульте выводами последовательного порта. Программу Вы можете забрать здесь(sled-0.1.tar.gz). В архиве Вы также найдете mакеfile и инструкции по установке программы.

Удачной пайки.

 

Страница отзывов

У каждой заметки есть страница отзывов. На этой странице вы можете оставить свой комментарий или просмотреть комментарии других читателей.
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Guido Socher, FDL
LinuxFocus.org

Click here to report a fault or send a comment to Linuxfocus
Translation information:
en -> -- Guido Socher
en -> ru Kirill Poukhliakov

2001-01-02, generated by lfparser version 2.3