lcdproc -- ʹLCD��ʾ������ʹ�ú�����
ArticleCategory: [Choose a category, do not translate
this]
Hardware
AuthorImage:[Here we need a little image from you]
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]
ArticleBody:[The article body]
lcdprod��ʲô��
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����ܹ��㹻֧�������֡���Դ�Ը��������أ�
������һЩ���ԣ�
-
��װlcdproc�͡����ڵ�Դ�����������ο����ϣ���
-
���������������/dec/LCDd.conf�ļ���
-
��root�û�����LCDd����
-
��һ�����ַ��ر��������һ����ѹ����Ӧ����4.90V����ߣ������1�����18=GND���������
-
�����ڲ��ڵ����1�����18���һ��33K�ĵ��裬��ѹ���ή��4.25����
������ܵõ����ߵĵ�ѹ����IJ��ھ��Ǻõģ����С��4.25������ô��һ����Դ�Ը�����������ʹ�á�
�����ͨ����һ���ԣ���ô��Ϳ���ʹ�����֡����ڵ�Դ����������ʹ��tuxgraphics 20x2��ʾ����
���Ѿ��������ԣ�������������
�����IJ��ڲ���ʤ�Σ�Ҳ��Ҫ̫���ġ������ʹ��PC�ڲ���5V��Դ��Ϊ���������Ҫ���䣩��
����ʹ��USB�ӿ��ṩ��5V��Դ��
��·ͼ
��һ�ŵ�·ͼ��ʾ��ʹ�á����ڵ�Դ��������LCD��ʾ����������ť������ӡ�
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��������ť�����ӷ�����
�������µĵ���������һ�����㻹���Դ�shop.tuxgraphics.org
���һ��������������Ĺ����䡣
�Ұ�LCD��ʾ��װ��һ����ɫ�����Ͽ��ڣ�
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��ᣬ���һ����ܵ��������Ȥ��
�����