[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