lcdproc -- ʹLCD��ʾ������ʹ�ú�����

ArticleCategory: [Choose a category, do not translate this]

Hardware

AuthorImage:[Here we need a little image from you]

[Photo of the Author]

TranslationInfo:[Author + translation history. mailto: or http://homepage]

original in en Guido Socher

en to zh_CN SEVEN

AboutTheAuthor:[A small biography about the author]

Guidoϲ��Linux����Ϊ���ڿ����Լ���Ӳ����˵��Linuxȷʵ��һ���ܺõ�ϵͳ��

Abstract:[Here you write a little summary]

�����ܶ�������΢�����������µĶ���Ӧ�ò��õ��ġ���һ�������д�ġ� �ҵ���һƪ���½����ǹ���΢�������ģ�ͬʱ��Ҳ����һ����ҳ�� ������������ַ�ҵ�����������ӷ�������£� http://www.tuxgraphics.org/electronics/
��ϣ�����������ṩһ��������ʹ������������׷��ʡ�

��ô��ʱ���ˣ�linuxfocus�Ķ��߿��ܻ��ǵ��ҵľ����£�March 2003: Linux USB LCD display with watchdog and buttons��A LCD control panel for your Linux server����Щ���ǹ��ڰ����LCD��壬���м��ӹ���ADC�ȵȡ� �ܾ���ǰ�Ҿ�ע�⵽������Щ����Ĺ������Dz������á�

���ڣ���ƪ���½��ṩ�������ģ�ͣ�LCD��ʾ����2����ť����ÿ������˵��������������

ArticleIllustration:[This is the title picture for your article]

[Illustration]

ArticleBody:[The article body]

lcdprod��ʲô��

LCDd Lcdproc���������һ��������������һ���ⲿ��LCD��ʾ������ʾ����CPU LOAD��UPTIME��TIME��һЩͳ����Ϣ�������ܳ�ʱ��ı仯������һ��ͨ�õĽ�������� ����lcdproc����������LCDd��һ��ͨ�õķ�������LCD������������ͻ��˳��� ���е�һ����ִ�еĿͻ��˳�����Ȼ����lcdproc������Ȼ������ʾһЩ������ͳ����Ϣ�� ��ȻҲ��������һЩ�ͻ��ˡ���һ�ͻ������������ṹ���кܴ�����ƣ� �㲻��Ҫʹ���ض���������д�ͻ��ˣ���ֻ���ڿͻ����ͷ�����֮��ʹ�ü򵥵�ASCIIЭ�顣 ���������ʵ����һ��clock in just 36 lines of perl code��������ʾ���ں�ʱ�䣬�����������Ͻ���ʾһ����������������ͼ�꣬ ��һͼ������LCDd������������ϵģ����ᶨʱ��˸������ʾ���ǻ�ġ�

��lcdproc���㻹����ʹ�ó��ַ������������������ ������״ͼ�� ���������������Լ��ı����ȡ��ڳ���Ŀ�ʼ��Ҫ���ȶ�����Щ�������dz���widgets���� Ȼ��ʹ�����������Щ������LCDproc Developer's Guide�дӵ�7ҳ��ʼ���������ʹ�����ǡ�

����little LCD clock����Ҫ�������£�
#!/usr/bin/perl -w
....
# initiate the communication:
print $remote "hello\n";
....
# set our name and define a text string widget
print $remote "client_set name lcdtime\n";
print $remote "screen_add scr1\n";
print $remote "widget_add scr1 str1 string\n";
....
while(1)
{
    ....
    $date = scalar localtime;
    # now write to the LCD:
    print $remote "widget_set scr1 str1 1 1 \"$date\"\n";
    sleep 10;
}
�dz����ǰɣ���ô����������������һЩ�����õĶ�����

Ӳ��

���չ淶PC���IJ��п�ʹ��5V�ĵ�ѹ�����ڣ�����㿴һ�µ����LCD���ݱ� ��e.g from tuxgraphics: http://shop.tuxgraphics.org/electronic/lcd.html���Ϳ��Է��֣���ʹ���ڵ���ʾ���Ƚϴ�����ȴ��Ҫ���ٵĵ�Դ������2mA�ĵ����� ��Ȼֻ����ôС�ĵ�������ô����ʹ�ò��пھͿ���ֱ�������� ��һ�������ŵ����㲻��Ҫ�κζ���ĵ�Դ��������������һ��LCD��ʾ����һ�����ڲ��п��ϵIJ��н�ͷ�� �dz�����ʹ�á�

ʹ��һ�������ṩ5V�ĵ�Դ�ǿ��ܵģ���������һЩ��������ȫ���Ϲ淶�� ��ô������ж���IJ����ܹ��㹻֧�������֡���Դ�Ը��������أ� ������һЩ���ԣ�
  1. ��װlcdproc�͡����ڵ�Դ�����������ο����ϣ���
  2. ���������������/dec/LCDd.conf�ļ���
  3. ��root�û�����LCDd����
  4. ��һ�����ַ��ر��������һ����ѹ����Ӧ����4.90V����ߣ������1�����18=GND���������
  5. �����ڲ��ڵ����1�����18���һ��33K�ĵ��裬��ѹ���ή��4.25���� ������ܵõ����ߵĵ�ѹ����IJ��ھ��Ǻõģ����С��4.25������ô��һ����Դ�Ը����������޷�ʹ�á�
�����ͨ����һ���ԣ���ô��Ϳ���ʹ�����֡����ڵ�Դ����������ʹ��tuxgraphics 20x2��ʾ���� ���Ѿ��������ԣ�������������

usb A connector pinout �����IJ��ڲ���ʤ�Σ�Ҳ��Ҫ̫���ġ������ʹ��PC�ڲ���5V��Դ��Ϊ���������Ҫ�򿪻��䣩�� ����ʹ��USB�ӿ��ṩ��5V��Դ��

��·ͼ

��һ�ŵ�·ͼ��ʾ��ʹ�á����ڵ�Դ��������LCD��ʾ����������ť������ӡ�
parallel port powered LCD display

Parallel port  
pin 1 , strobe  = 220, supply voltage
pin 2 , D0      = LCD pin D4
pin 3 , D1      = LCD pin D5
pin 4 , D2      = LCD pin D6
pin 5 , D3      = LCD pin D7

pin 6 , D4      = LCD pin RS
pin 7 , D5      = LCD pin RW
pin 8 , D6      = LCD pin EN

pin 10, ACK     = button A, upper red button
pin 12, PE      = button C, lower black button

pin 14, strobe  = 220, supply voltage
pin 16, strobe  = 220, supply voltage
pin 17, strobe  = 220, supply voltage

pin 18, ground  = 0V, GND


�ڶ���ͼ��ʾ��ʹ����ӵ�Դ��LCD��������ť�����ӷ�����
parallel port powered LCD display


�������µĵ���������һ�����㻹���Դ�shop.tuxgraphics.org ���һ��������������Ĺ����䡣

�Ұ�LCD��ʾ��װ��һ����ɫ�����Ͽ��ڣ�
my display, back

my display, front

lcdproc���ڵ�Դ����

LCDd���Ǹ���ʾ������һЩ���ݡ����������ʹ��һЩ�����ܴ��ź����ϻ�ȡ��Դ�� �����Ǽ�ʹ�����ں�С�ĵ���������£�������Ҳ���������0.5���ĵ�ѹ�½��� ���Dz��ܳе���һ���⡣�����������ֻʹ��һ����ʾ���Ļ��������кö���е�����ߡ� û�бȸ�LCDd���������������׵����ˣ�ʹ����һ�������������еĿ����������Զ���֡�1���� ������Ȼ����һЩ��������һЩ��С�Ķ�·���������߿������޴��Ĵ���ı��� ;-)���� lcdproc-0.4.5�IJ������Դ��������ҵ������������ʹ������
tar zxvf lcdproc-0.4.5.tar.gz
cd lcdproc-0.4.5
patch -p 1 < lcdproc-0.4.5-pp-powerpatch-v1.txt
./configure --enable-drivers=hd44780
make

make install

��������ֻ��Ҫ��LCDd.conf������/etc������sever/LCDd������/usr/bin��

LCDd.conf�ļ�

/etc/LCDd.conf �ļ������ǵ�LCD�����ͷ�������LCDd���̣��������ļ��� Ϊ��ʹ�ñ�����������HD44780���ݵ���ʾ����������Ҫ��/etc/LCDd.conf�ļ���ȥ����ص�ע�͡�
[server]
Driver=HD44780

[HD44780]
# Hitachi HD44780 driver

Port=0x3BC
# Port where the LPT is. Usual values are 0x278, 0x378 and 0x3BC

ConnectionType=4bit
Keypad=yes
Backlight=no

Size=20x2
# Specifies the size of the LCD.

DelayMult=4
DelayBus=true
�Ƚ����ѵIJ����Ƕ˿ڵ�ַ��0x278, 0x378��0x3BC)����β���֪���㲢�ڵ�IO��ַ�أ� ��򵥵İ취��װ��parport�ں�ģ�飨modprobe parport����Ȼ��鿴/proc/ioports
modprobe parport
modprobe parport_pc

cat /proc/ioports

...
0388-0389 : OPL2/3 (left)
038a-038b : OPL2/3 (right)
03bc-03be : parport0
03c0-03df : vga+
03f6-03f6 : ide0
...

����������������ʹ��: 0x3bc

�����Լ���Ӧ�ó���

�ڱ��ĵĿ�ʼ���Ѿ�������LCD����һ���ַ����Ƕ�ô�򵥣����������Ҫһ��������LCD ��ʹ��������ť���Ļ�������ͱ�ø���һЩ�ˡ������������������Ҫ����ʹ��sleep��䣬 ����Ļ��������ڼ���򲻻�԰�ť������Ӧ��ͬʱ��������Ҫһ�����������ֹͣѭ���� ��������Ҫ�ľ���ϵͳ���á�select�������������г�ʱ����ʾ���ϰ���һ����ť��ʹ����ֹͣ���С�

���ǵij����ṩһЩ״̬��Ϣ���ȷ�˵mem��swap��cpu��time�ȣ�����Ҳ����ʹ����Щ��ť���ػ���

�ű������ֽ�servermenu_pl������Դ��������ҵ���

��������ֻ�ṩ��ôһ��������Ӧ�ó�����Ϊ����ǰ���µľ��������� �󲿷ֶ���ֻ����֪�������һЩ���飬Ȼ���������Լ��ij�����ʵ������ ���յ��ö��ʼ����и��ָ����ĵ��ӣ�CD���ƹ���վ������վPC���澯ϵͳ�ȵȣ� ֻ��Ҫ�����޸�һ�´��룬������Щ����������
ʹ��lcdproc����ЩLCD��ʾ����dz��ᣬ���һ����ܵ��������Ȥ��
servermenu in operation

�����