[LinuxFocus-icon]
��ҳ  |  վ���ͼ  |  ����  |  ����

���� | �����ڿ� | ���� | ����LF
This document is available in: English  ChineseGB  Deutsch  Francais  Italiano  Nederlands  Russian  Turkce  

[Photo of the Author]
by Guido Socher (homepage)

��������:

Guido ϲ��Linux������Ϊ�˽����ϵͳ��ι�����һ����Ȥ���£�����ҲӦΪ������������Ƶ�����


Ŀ¼:

 

A Hardware watchdog and shutdown button

[Illustration]

ժҪ:

����LCD������� �н�ʾ����ξ������ܹ���һ������΢��������LCD������� ͨ����������Dz���Ҫ���е��ص�,������������Ӳ��������(���LCD����������г����Ѿ���Ʒ��)���Ҿ��к�����LCD����ͬ��������Ҫ�ص�.

Ӳ��ֻ���ɺܶ���Ч�������ɣ������Ժ��������صõ����ǣ����е��������������5ŷԪ



 

ʲô�ǿ��Ź�?

���Ź��ڼ����ϵͳ����һ������ʵ�Ŀ�������Ӳ����������֤ϵͳ�������У����ܹ��ڻ��Ƿ�������(����ͨ������λ��������һ���˵�������?)�������������װ�����ҵ������豸.

���Ź���ʹ��˼·�ܼ�:��������벻ʱ�ضԿ��Ź�˵"���"���ÿ��Ź�֪������Ȼ�����У�������ֲ���ʧ�ܣ����Ź��Ķ����ͻ�����ϵͳӲ����λ��

����һ��Linux��������Ҫ�����²���Ϲ�����ƽ�����1-2�겻������������,������Ļ���ÿ���ܾͻ�������ô��̨����һ�����쳣���ҿ��Ź����ܽ������,����Ҫ���ʹ��CPU���ȵĴ����RAM(�μ� memtest86.com)��̫����IDE������...

���һ��Linuxϵͳ�ܹ��ڿ��Ź��ļ������˿ɿ����޹�������һ�꣬������ʲô���ɲ�ʹ�ÿ��Ź��أ��𰸺ܼ�:���Ź���ϵͳ���ɿ��������������Լ�������һ���� һ̨�������޹�������һ������ϲ�Ϊ����֪���������������Ҳû����֪�����ǿ��ܾ������պø���ʥ����ǰ�����˶��ڼ����ʱ��������Ϊ�˷�ֹ��Щ�����Ź����Եú�����.

���ǿ��Ź����ܽ���������⣬����ȱ�ݵ�Ӳ����ǰ��Ҳ���Ե�����Ϊ������ʹ�����ϵͳ��һ�����Ź�����ҲӦ��ע��ȷ��һ�����õ�Ӳ������(���ٲ�Ӧ����BIOS��BUG��оƬ������BUG)�Լ��ʶȵ���ȴϵͳ��  

���ʹ�ÿ��Ź�?

���Ź�����ƽ���Ϊ�˱�֤�û�����������У�Ϊ��ӵ��һ��ȷ�ŵġ��ȶ�ϵͳ����������������Ӧ�ó���(����������ݿ�)��ϵͳ��Դ(���̿ռ䣬CPU�¶�)����Ҳ����ͨ���������û�Ӧ�ó������ﵽĿ��(crontab),������Щ��������LCD���ư�����,�ڴˣ��Ҳ�������.

����:���Ǹ�С�ű����ܹ�����������У��ڴ潻���Լ�����Ӧ�������


#!/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
export PATH
#
# Monitor the disk
# ----------------
# check if any of the partitions are more than 80% full.
# (crontab will automatically send an e-mail if this script
# produces some output)
df | egrep ' (8.%|9.%|100%) '
#
# Monitor the swap
# A server should normally be dimensioned such that it
# does not swap. Swap space should therefore be constant
# and limited.
# ----------------
# check if more than 6 Mb of swap are used
swpfree=`free | awk '/Swap:/{ print $3 }'`
if expr $swpfree \> 6000 > /dev/null ; then
    echo "$0 warning! swap usage is now $swpfree"
    echo " "
    free
    echo " "
    ps auxw
fi
#
# Monitor the network
# -------------------
# your _own_ IP addr or hostname:
hostn="linuxbox.your.supercomputer"
#
if ping -w 5 -qn -c 1 $hostn > /dev/null ; then
    # ok host is up
    echo "0" > /etc/pingfail
else
    # no answer count up the ping failures
    if [ -r /etc/pingfail ]; then
        pingfail=`cat /etc/pingfail`
    else
        # we do not handle the case where the
        # pingfail file is missing
        exit 0
    fi
    pingfail=`expr "$pingfail" "+" 1`
    echo "$pingfail ping failures"
    echo "$pingfail" > /etc/pingfail
    if [ $pingfail -gt 10 ]; then
        echo "more than 10 ping failures. System reboot..."
        /sbin/shutdown -t2 -r now
    fi
fi
# --- end of monitor script ---

����������Щ��crontab�����ÿ��15������������ű�һ��

1,15,30,45 * * * * /where/the/script/is

 

���Ź���Ӳ�����

�̵���������׼��ÿһ�ֲ�Ʒ�������Լ�������ص㣬�����ǵĵ�·��˵,����Ҫ�������ڲ�����ֵ�������Կ�����������ͼ��һ��Ϊ 5V,500 ŷķ����ļ̵�����һ��Ϊ5V��120ŷķ����ļ̵�����������������е�ŷķ���������̵����ĵ���ֵ��ͨ�����ԭ��ͼ�Ŵ�鿴��ͼ.
120 ŷķ�̵���:
[120 Ohm relay]
500 ŷķ�̵���:
[500 Ohm relay]

�رհ�ťΪһ������RTS��CD�ϵ��ᴥ���ء���·ͼ�Ͽ������е�İ������ΪEagle��˾û���ṩһ�����õ�ͼ�ꡣ

��������û���г���ϸ��Ԫ���嵥��������������ԭ��ͼ�����ҵ���Ҫ��һ��(���������Ӵ����ߵ�DB9��ͷ )������Ķ�����������ʹ�������ͺŵ��滻����1N4148.�Ҹ�����Ϊ��500ŷķ�̵����ĵ�·Ҫ��һЩ,��Ϊ������ҪR4��2000uF(����2200uF)���ݣ�����C1ֻ��Ҫһ����С��1000uF���ݾ͹��ˣ�

��ע��:��120ŷķ�ĵ�·������Ҫһ����ƣ�����500ŷķ��·����Ҫһ���̵ƣ��ⲻ��������ģ���Ϊ�̵Ƶ�ѹ���Ⱥ��Ҫ��
��·����Ʒ��棬Eagle�ļ��͹�����·�帯ʴ���ע�Ͷ��ں������������Eagle CAD��Linux�µ�������������� cadsoftusa.com.  

��·����ι���

���Ź�Ӳ����·Χ��NE555ʱ��оƬ������оƬ���������Ƚ�����һ��RS������������5K�����ṩ�Ƚ����IJο���ѹ��ֻҪ��������(6)����2/3��Դ��ѹ �ͻ�����RS��������λ(״̬��Ч)��
[ne555]
�����������ǵĵ�·ͼ:�������ô��ڵ�RTS�����ṩ��Դ��ѹ������RS232���ڵ�ѹ��+/-10V����ˣ������ڵ���C1ǰ�����Ҫһ�������ܡ�C1���ٳ�ŵ���ά��ʱ���ṩϵͳ��Դ������C2��Ƚϻ�����ͨ��4.7M �����ŵ硣RS232����DTR�����ϵ�������ƾ����T1�ŵ�����C2�ϵĵ��.����������û��(���ڼ��������)����C2�ϵĵ�ѹ����(��Լ40��)�ͻᳬ��2/3��Դ��ѹ���Ӷ�����RS��������λ��

����C1,����R2��LED����ܣ��̵���������Ҫ�������ԣ������ü̵������ٱպϵ���������C1����C1�ṩ�ĵ����������ü̵�����ʱ��ά�ֵ�ͨ�����DZ���ͨ��"����""��λ"��1-2��.���رռ̵�����ͨ״̬��

LED�����һֱ���ַ���ֱ��ϵͳ�ڸ�λ�Ժ����»ָ�����.

��һ��������ԭ��ͼ�������CD�����ϵĹػ���ť��ֻҪ���ᴥ��(����15��)֮�����������ͻ�����"shutdown -h now"����ر�ϵͳ�����������Ǹ�����ϵͳά���õĺͿ��Ź����޹�ϵ��  

��������

����������һ��С��C���������/etc/init.d/�ű����У�����ͣ�ط�תRS232��RTS���Ų���ÿ��12���ӷ���һ�������DTR(���Ź��Ķ�ʱʱ��40��)�����������رռ����������ͻ�ر�RTS�źŲ��Ҹ������һ��DTR���塣������Ŀ�ľ����ڳ�ʱ����֮ǰ�ŵ�����(C1)�ϵĵ��.��ˣ���������£����Ź��Ͳ����ܵ����������Ҫ��װ���������⿪linuxwd-0.3.tar.gzѹ����,�����Դ� �ļ��������� �õ�����ļ���Ȼ���ѹ������make������б��롣
���ҿ������linuxwd��ִ���ļ���/usr/sbin/linuxwd.�༭��ǰlinuxwd_rc�ű�(��redhat/mandrake,����linuxwd_rc_anydist ������������͵�ϵͳ)��Ȼ��������ȷ�Ĵ��ڵ�ַ(�� ttyS1=COM2 ���� ttyS0=COM1)��Ȼ�󿽱����rc�ű���
/etc/rc3.d/S21linuxwd
��
/etc/rc5.d/S21linuxwd
����湦����.  

ϵͳ����

�����Ѿ����Ӻ������е�Ԫ���Ժ������������ӵ������֮ǰ���б�Ҫ�IJ��ԡ�����������Ҫ���ӵ�����RTS���ŵ��߽���9-10Vֱ����Դ�����ҵȴ�40-50����.���ͻ������̵����պϵĺ����������ͬʱ�����Ҳ�ᷢ����ע�ⲻ���ü̵������ֳ�ʱ�䵼ͨ��LEDָʾ�ƽ��᳤����ֱ�����ѽ�DTR���ŵ��ź��߽�+10V��
�����������������Ժ�������ȫ���԰������ӵ�������ȥ�ˣ����linuxwd������һ������ģʽ���������һЩ��ӡ��Ϣ��ͣ��һ��ʱ��ŷ��������DTR������ģ��ϵͳ��������ʹ������

linuxwd -t /dev/ttyS0

�� linuxwd �����ڲ���ģʽ (ʹ�� /dev/ttyS1 �������Ӳ��������COM2��).  

Ӳ����װ

RS232�ӿ��ź�����: 9 PIN D-SUB MALE

���������� 9 ��D�Ͳ�ͷ��

9 PIN-connector 25 PIN-connector Name Dir Description
1 8 CD input Carrier Detect
2 3 RXD input Receive Data
3 2 TXD output Transmit Data
4 20 DTR output Data Terminal Ready
5 7 GND -- System Ground
6 6 DSR input Data Set Ready
7 4 RTS output Request to Send
8 5 CTS input Clear to Send
9 22 RI input Ring Indicator

��·�尲װ��RS232���ڵ�ʱ��һ��Ҫ������������ͨ�����Ҽ�����ĸ�λ��ť������ϵͳ��λ�ߣ����Ұ������ӵ��̵���������ˣ��̵���������˲����ڸ�λ��ť�ϡ�
 

����

���Ź�����100%��֤ϵͳ���ȶ������ǣ��������ϵͳ�İ�ȫ���ܣ�����Ҫ����������ϵͳӲ����λ�Ժ��ļ�ϵͳ����ҵ�û����ɵĹ�����λ�ã����µ���־�ļ��������԰�æ��������û����ͼ����������������ܵĿ��Ź��dz����ˣ�Ҳ�����������Ҽ����ʹ󲿷���Ʒһ���á�  

�ο�

   

����ƪ���·�������

ÿƪ���¶��и��Եķ���ҳ�档�����ҳ����������ύ���ۣ�Ҳ���Բ鿴�������ߵ����ۣ�
 ����ҳ�� 

��ҳ��LinuxFocus�༭��ά��
© Guido Socher, FDL
LinuxFocus.org

���������LinuxFocus��������������
������Ϣ:
en --> -- : Guido Socher (homepage)
en --> zh: hejoin <tech(at)hejoin.com>

2002-07-24, generated by lfparser version 2.25