本文由 极客范 - tien 翻译自 Mikey Sklar。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。 
 
 
 不管什么项目,如果加上一个液晶显示屏的话肯定都会看起来更棒。这篇文章将详解如何用树莓派的六个通用端口(GPIO)来连接一个廉价的HDD44780的小型LCD。当然也有用I2C或是UART来连接LCD的, 但是使用GPIO是最直接的方法。 这种方法的几个优势: - 使得廉价的LCD得以应用
 - 不需要I2C的驱动器
 - 不会占用树莓派仅有的USB口
 
 
 以下是用Python代码控制显示的时间日期以及IP地址。如果你的树莓派运行在Headless模式下(Headless模式是系统的一种配置模式。在该模式下系统缺少了显示设备、键盘或鼠标),能有个小的显示屏显示IP地址可是很有吸引力的。  以下是完成本次教程的必要硬件本教程只适用于16×1, 16×2, 20×2, 20×4 的LCD 连接Cobbler到LCD上LCD 
 任何一个拥有16个引脚的LCD基本上都是用HD44780控制器来控制的。 这种类型的LCD的引脚都拥有相同的输入输出功能,所以比较容易使用。LCD采用的是并行接口,这就意味着树莓派需要提供多个引脚来控制它。本篇教程中我们会用到树莓派的4个数据引脚(4位模式)和两个控制引脚。 数据引脚可以直接传输数据到LCD上, 这里我们只让LCD处于写模式,不读取任何数据。 寄存器的选择引脚有两种用途。当设置为低位时,它可以发送指令到LCD(比如显示的位置或是清空屏幕),可理解为命令寄存器。 当设置为高位的时候,它使得LCD转为数据模式并且将数据传输到屏幕上。 读/写引脚在这里会被设置成低位(写模式),因为我们只是想让LCD作为一个输出设备。 LCD 各个引脚的定义: - Ground
 - VCC - 5v not 3.3v
 - Contrast adjustment (VO) from potentiometer
 - Register Select (RS). RS=0: Command, RS=1: Data
 - Read/Write (R/W). R/W=0: Write, R/W=1: Read (we won’t use this pin)
 - Clock (Enable). Falling edge triggered
 - Bit 0 (Not used in 4-bit operation)
 - Bit 1 (Not used in 4-bit operation)
 - Bit 2 (Not used in 4-bit operation)
 - Bit 3 (Not used in 4-bit operation)
 - Bit 4
 - Bit 5
 - Bit 6
 - Bit 7
 - Backlight LED Anode (+)
 - Backlight LED Cathode (-)
 
 
 在连接这些引脚之前,先确认你的LCD的背光是否可以正常工作,背光应为LED的背光因为这只需要10-40mA的功率,但是若为EL的背光就需要200mA以上的功率了。EL背光的LCD往往会便宜些但是用起来比较难操作,确保你的LCD不是EL背光,否则会将整个树莓派的功率拖下来。还有一些LCD的LED背光没有自带的稳压电阻,所以在连接前要去确定好你的LCD是否需要加载额外的电阻来保证背光LED正常工作。 线路图 首先将Cobber的电源引脚连接到面包板的供电轨上。+5V的用红线连接到红线轨上(译者认为这里连接3.3V的就够了), GND用黑线连接到蓝线轨上, 为了能使数据传到LCD上,我们将进行以下的连接。
 - LCD的Pin 1脚接地(黑线)
 - LCD的Pin 2脚接 +5V(红线)
 - LCD的Pin 3脚接到分压器的中间位置(橙线)
 - LCD的Pin 4脚接到Cobber的 #25位 (黄线)
 - LCD的Pin 5脚接地(黑线)
 - LCD的Pin 6脚接到Cobber的#24位
 - LCD的Pin 7,8,9,10什么都不接
 - LCD的Pin 11脚接 Cobber的 #23位(蓝线)
 - LCD的Pin 12脚接 Cobber的 #17位 (紫线)
 - LCD的Pin 13脚接 Cobber的 #21位 (灰线)(译者推荐这里连接#18位)
 - LCD的Pin 14脚接 Cobber的 #22位 (白线)
 - LCD的Pin 15脚接 +5V(红线)
 - LCD的Pin 16脚接地 (黑线)
 
 
 分压器左边的引脚接地(黑线),右边的引脚接+5V(红线)。 原理图  5V LCD vs 3.3V Pi树莓派配置的通用接口(GPIO)为3.3V,但是我们的LCD是需要5V配电的设备。如果我们仅仅是用LCD做树莓派的输出设备的话,连接5V的引脚当然没有问题。所以我们这里不使用Cobbler上3.3V的Pin口,并且我们将LCD上的RW(读写)脚接地,这样就避免了LCD向树莓派发送+5V的信号。 准备LCD在你开始前,确认你有一组 0.1“规格的引脚和一个阻值为10K的分压器。  
 大部分LCD显示屏是需要16个引脚的,如果头部太长,可以适当剪短到合适的长度即可。  
 接着你需要将引脚和LCD焊接到一起。你必须这么做,不能只是扣上去就完事了。  
 首先将Cobbler上的+5V引脚跟GND引脚连接到面包板上。接着如图连接LCD的Pin1脚、Pin2脚、Pin15脚和Pin16脚连接到面包板的供电轨上。这个时候LCD的背光应该就亮了,如果没有亮请检查你的线路是否连接正常。  
  
 接着,将分压器中间的引脚按图中所示连接到LCD的Pin脚3上,其他两个引脚分别连接5V电源和地线。 扭动分压器直到LCD的第一行显示出方块来。如果看不到,检查一下线路是否连接正确。  
 按照电路图所示完成LCD最后RS(Pin 4脚),RW(Pin 5脚), EN(Pin 6脚), D4(Pin 11脚), D5(Pin 12脚), D6(Pin 13脚)和D7(Pin 14脚)的连接。  
 到这里,就可以用Python脚本来驱动LCD显示些东西了。 必要的Python包本教程是基于Debian的Wheezy系统写成的。必须要安装以下组件才能使用树莓派的GPIO口。 安装python(2.x)的最新开发套件: [backcolor=rgb(248, 248, 255) !important] 
 
 
 
 
 
 
 
 
 
 
 
 
[color=rgb(170, 170, 170) !important]1  
 
 | [color=teal !important]sudo apt[color=rgb(0, 111, 224) !important]-[color=teal !important]get [color=teal !important]install python[color=rgb(0, 111, 224) !important]-dev 
 
 |  
  
 
 
 安装如下组件: [backcolor=rgb(248, 248, 255) !important] 
 
 
 
 
 
 
 
 
 
 
 
 
[color=rgb(170, 170, 170) !important]1  
[color=rgb(170, 170, 170) !important]2  
[color=rgb(170, 170, 170) !important]3  
 
 | [color=teal !important]sudo apt[color=rgb(0, 111, 224) !important]-[color=teal !important]get [color=teal !important]install python[color=rgb(0, 111, 224) !important]-[color=teal !important]setuptools 
[color=teal !important]sudo easy_install[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]-U[color=rgb(0, 111, 224) !important] distribute  
[color=teal !important]sudo apt[color=rgb(0, 111, 224) !important]-[color=teal !important]get [color=teal !important]install python[color=rgb(0, 111, 224) !important]-pip 
 
 |  
  
 
安装 RPi.GPIO 0.3.1a [backcolor=rgb(248, 248, 255) !important] 
 
 
 
 
 
 
 
 
 
 
 
 
[color=rgb(170, 170, 170) !important]1  
 
 | [color=teal !important]sudo [color=teal !important]pip [color=teal !important]install [color=rgb(0, 45, 122) !important]rpi[color=rgb(51, 51, 51) !important].gpio 
 
 |  
  
 
Python脚本代码可以在Github获得控制LCD的Python脚本。其中包括两个文件: - Adafruit_CharLCD.py —该文件中包含用来控制LCD的Python类
 - Adafruit_CharLCD_IPclock_example.py — 样例程序,用来显示IP地址、日期时间。
 
 
 第一个文件Adafruit_CharLCD.py将两个LCD的控制代码混合在了一起。感谢Github上的用户lrvick,他用一个Python类将它们漂亮的封装在一起。 将代码加载到树莓派上的最简单的方法就是将树莓派连上网络,然后直接通过git的clone命令来下载。只要在合适的目录下(比如说/home/pi/)键入以下命令即可: [backcolor=rgb(248, 248, 255) !important] 
 
 
 
 
 
 
 
 
 
 
 
 
[color=rgb(170, 170, 170) !important]1  
[color=rgb(170, 170, 170) !important]2  
[color=rgb(170, 170, 170) !important]3  
[color=rgb(170, 170, 170) !important]4  
 
 | apt[color=rgb(0, 111, 224) !important]-[color=teal !important]get [color=teal !important]install [color=teal !important]git 
[color=teal !important]git clone[color=rgb(0, 111, 224) !important] http[color=rgb(0, 111, 224) !important]:[color=rgb(153, 153, 153) !important]//github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git 
[color=teal !important]cd Adafruit[color=rgb(0, 111, 224) !important]-Raspberry[color=rgb(0, 111, 224) !important]-Pi[color=rgb(0, 111, 224) !important]-Python[color=rgb(0, 111, 224) !important]-[color=teal !important]Code 
[color=teal !important]cd Adafruit_CharLCD 
 
 |  
  
 
测试现在你就可以测试之前连接好的线路了,只要简单运行Python代码Adafruit_CharLCD.py即可。因为这里的代码很少,它只会简单的显示出一段测试消息。 无论你使用的是什么型号的树莓派,译者在这里建议大家将引脚21替换换为引脚18, 所以这里要对 Adafruit_CharLCD.py做一个小小的改动,将 [backcolor=rgb(248, 248, 255) !important] 
 
 
 
 
 
 
 
 
 
Python 
 
 
[color=rgb(170, 170, 170) !important]1  
 
 | def[color=rgb(0, 111, 224) !important] [color=teal !important]__init__[color=rgb(51, 51, 51) !important](self[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]pin_rs[color=rgb(0, 111, 224) !important]=[color=rgb(0, 153, 153) !important]25[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]pin_e[color=rgb(0, 111, 224) !important]=[color=rgb(0, 153, 153) !important]24[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]pins_db[color=rgb(0, 111, 224) !important]=[color=rgb(51, 51, 51) !important][[color=rgb(0, 153, 153) !important]23[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 153, 153) !important]17[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 153, 153) !important]21[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 153, 153) !important]22[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]GPIO[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]None[color=rgb(51, 51, 51) !important])[color=rgb(0, 111, 224) !important]: 
 
 |  
  
 
修改为: [backcolor=rgb(248, 248, 255) !important] 
 
 
 
 
 
 
 
 
 
Python 
 
 
[color=rgb(170, 170, 170) !important]1  
 
 | def[color=rgb(0, 111, 224) !important] [color=teal !important]__init__[color=rgb(51, 51, 51) !important](self[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]pin_rs[color=rgb(0, 111, 224) !important]=[color=rgb(0, 153, 153) !important]25[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]pin_e[color=rgb(0, 111, 224) !important]=[color=rgb(0, 153, 153) !important]24[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]pins_db[color=rgb(0, 111, 224) !important]=[color=rgb(51, 51, 51) !important][[color=rgb(0, 153, 153) !important]23[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 153, 153) !important]17[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 153, 153) !important]18[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 153, 153) !important]22[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]GPIO[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]None[color=rgb(51, 51, 51) !important])[color=rgb(0, 111, 224) !important]: 
 
 |  
  
 
可以使用nano编辑器来修改代码。 下图为译者按照参考进行的试验,整体进行很顺利,提醒一下译者连接的时候就是用的树莓派的Pin #18口 而不是原文作者使用的#21或者#27。(顺便让译者的小黄人stuart也上一下镜,希望大家喜欢   )  IP和时钟的显示这个脚本的功能是显示你的IP地址,若想显示无线接口的IP地址,请将代码中的eth0替换为wlan0或者wlan1即可。 [backcolor=rgb(248, 248, 255) !important] 
 
 
 
 
 
 
 
 
 
Python 
 
 
[color=rgb(170, 170, 170) !important]1  
[color=rgb(170, 170, 170) !important]2  
[color=rgb(170, 170, 170) !important]3  
[color=rgb(170, 170, 170) !important]4  
[color=rgb(170, 170, 170) !important]5  
[color=rgb(170, 170, 170) !important]6  
[color=rgb(170, 170, 170) !important]7  
[color=rgb(170, 170, 170) !important]8  
[color=rgb(170, 170, 170) !important]9  
[color=rgb(170, 170, 170) !important]10  
[color=rgb(170, 170, 170) !important]11  
[color=rgb(170, 170, 170) !important]12  
[color=rgb(170, 170, 170) !important]13  
[color=rgb(170, 170, 170) !important]14  
[color=rgb(170, 170, 170) !important]15  
[color=rgb(170, 170, 170) !important]16  
[color=rgb(170, 170, 170) !important]17  
[color=rgb(170, 170, 170) !important]18  
[color=rgb(170, 170, 170) !important]19  
[color=rgb(170, 170, 170) !important]20  
[color=rgb(170, 170, 170) !important]21  
[color=rgb(170, 170, 170) !important]22  
[color=rgb(170, 170, 170) !important]23  
[color=rgb(170, 170, 170) !important]24  
 
 | [color=rgb(153, 153, 153) !important]#!/usr/bin/python 
 
from[color=rgb(0, 111, 224) !important] [color=teal !important]Adafruit_CharLCD import[color=rgb(0, 111, 224) !important] [color=teal !important]Adafruit_CharLCD 
from[color=rgb(0, 111, 224) !important] [color=teal !important]subprocess[color=rgb(0, 111, 224) !important] import[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]* 
from[color=rgb(0, 111, 224) !important] [color=teal !important]time[color=rgb(0, 111, 224) !important] import[color=rgb(0, 111, 224) !important] sleep[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=teal !important]strftime 
from[color=rgb(0, 111, 224) !important] [color=teal !important]datetime[color=rgb(0, 111, 224) !important] import[color=rgb(0, 111, 224) !important] [color=teal !important]datetime 
 
[color=rgb(0, 45, 122) !important]lcd[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=teal !important]Adafruit_CharLCD[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important]) 
 
[color=teal !important]cmd[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(221, 17, 68) !important]"ip addr show eth0 | grep inet | awk '{print $2}' | cut -d/ -f1" 
 
[color=rgb(0, 45, 122) !important]lcd[color=rgb(51, 51, 51) !important].[color=teal !important]begin[color=rgb(51, 51, 51) !important]([color=rgb(0, 153, 153) !important]16[color=rgb(51, 51, 51) !important],[color=rgb(0, 153, 153) !important]1[color=rgb(51, 51, 51) !important]) 
 
def[color=rgb(0, 111, 224) !important] [color=teal !important]run_cmd[color=rgb(51, 51, 51) !important]([color=teal !important]cmd[color=rgb(51, 51, 51) !important])[color=rgb(0, 111, 224) !important]: 
[color=rgb(0, 111, 224) !important]    [color=rgb(0, 45, 122) !important]p[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=teal !important]Popen[color=rgb(51, 51, 51) !important]([color=teal !important]cmd[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]shell[color=rgb(0, 111, 224) !important]=[color=rgb(128, 0, 128) !important]True[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]stdout[color=rgb(0, 111, 224) !important]=PIPE[color=rgb(51, 51, 51) !important]) 
[color=rgb(0, 111, 224) !important]    [color=rgb(0, 45, 122) !important]output[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]p[color=rgb(51, 51, 51) !important].[color=teal !important]communicate[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important][[color=rgb(0, 153, 153) !important]0 
[color=rgb(0, 111, 224) !important]    return[color=rgb(0, 111, 224) !important] [color=teal !important]output 
 
while[color=rgb(0, 111, 224) !important] [color=rgb(0, 153, 153) !important]1[color=rgb(0, 111, 224) !important]: 
[color=rgb(0, 111, 224) !important]    [color=rgb(0, 45, 122) !important]lcd[color=rgb(51, 51, 51) !important].[color=teal !important]clear[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important]) 
[color=rgb(0, 111, 224) !important]    [color=rgb(0, 45, 122) !important]ipaddr[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=teal !important]run_cmd[color=rgb(51, 51, 51) !important]([color=teal !important]cmd[color=rgb(51, 51, 51) !important]) 
[color=rgb(0, 111, 224) !important]    [color=rgb(0, 45, 122) !important]lcd[color=rgb(51, 51, 51) !important].[color=teal !important]message[color=rgb(51, 51, 51) !important]([color=teal !important]datetime[color=rgb(51, 51, 51) !important].[color=teal !important]now[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important].[color=teal !important]strftime[color=rgb(51, 51, 51) !important]([color=rgb(221, 17, 68) !important]'%b %d  %H:%M:%S\n'[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important]) 
[color=rgb(0, 111, 224) !important]    [color=rgb(0, 45, 122) !important]lcd[color=rgb(51, 51, 51) !important].[color=teal !important]message[color=rgb(51, 51, 51) !important]([color=rgb(221, 17, 68) !important]'IP %s'[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]%[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]([color=rgb(0, 111, 224) !important] ipaddr[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important])[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]) 
[color=rgb(0, 111, 224) !important]    [color=teal !important]sleep[color=rgb(51, 51, 51) !important]([color=rgb(0, 153, 153) !important]2[color=rgb(51, 51, 51) !important]) 
 
 |  
  
 
运行代码运行代码很简单,直接输入下列命令即可。注意脚本的权限问题,可用chmod +x命令修改为可执行。 [backcolor=rgb(248, 248, 255) !important] 
 
 
 
 
 
 
 
 
 
 
 
 
[color=rgb(170, 170, 170) !important]1  
 
 | [color=rgb(0, 45, 122) !important]sudo[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important].[color=rgb(0, 111, 224) !important]/[color=rgb(0, 45, 122) !important]Adafruit_CharLCD_IPclock_example[color=rgb(51, 51, 51) !important].py 
 
 |  
  
 
显示结果如下  初始化脚本能成功显示出时间和IP地址固然很好,但是这需要我们手动去启动 Adafruit_CharLCD_IPclock_example.py若是能在每次树莓派启动时,都能运行这个Python程序的话就会方便很多。下面我们将设置 Adafruit_CharLCD_IPclock_example.py为开机自启动,而在关机时会自动关闭。 将下段代码粘贴到 /etc/init.d/lcd,注意,需要root权限才能在这个目录下执行写操作。 [backcolor=rgb(248, 248, 255) !important] 
 
 
 
 
 
 
 
 
 
Shell 
 
 
[color=rgb(170, 170, 170) !important]1  
[color=rgb(170, 170, 170) !important]2  
[color=rgb(170, 170, 170) !important]3  
[color=rgb(170, 170, 170) !important]4  
[color=rgb(170, 170, 170) !important]5  
[color=rgb(170, 170, 170) !important]6  
[color=rgb(170, 170, 170) !important]7  
[color=rgb(170, 170, 170) !important]8  
[color=rgb(170, 170, 170) !important]9  
[color=rgb(170, 170, 170) !important]10  
[color=rgb(170, 170, 170) !important]11  
[color=rgb(170, 170, 170) !important]12  
[color=rgb(170, 170, 170) !important]13  
[color=rgb(170, 170, 170) !important]14  
[color=rgb(170, 170, 170) !important]15  
[color=rgb(170, 170, 170) !important]16  
[color=rgb(170, 170, 170) !important]17  
[color=rgb(170, 170, 170) !important]18  
[color=rgb(170, 170, 170) !important]19  
[color=rgb(170, 170, 170) !important]20  
[color=rgb(170, 170, 170) !important]21  
[color=rgb(170, 170, 170) !important]22  
[color=rgb(170, 170, 170) !important]23  
[color=rgb(170, 170, 170) !important]24  
[color=rgb(170, 170, 170) !important]25  
[color=rgb(170, 170, 170) !important]26  
[color=rgb(170, 170, 170) !important]27  
[color=rgb(170, 170, 170) !important]28  
[color=rgb(170, 170, 170) !important]29  
[color=rgb(170, 170, 170) !important]30  
 
 | [color=rgb(184, 92, 0) !important]### BEGIN INIT INFO 
[color=rgb(184, 92, 0) !important]# Provides: LCD - date / time / ip address 
[color=rgb(184, 92, 0) !important]# Required-Start: $remote_fs $syslog 
[color=rgb(184, 92, 0) !important]# Required-Stop: $remote_fs $syslog 
[color=rgb(184, 92, 0) !important]# Default-Start: 2 3 4 5 
[color=rgb(184, 92, 0) !important]# Default-Stop: 0 1 6 
[color=rgb(184, 92, 0) !important]# Short-Description: Liquid Crystal Display 
[color=rgb(184, 92, 0) !important]# Description: date / time / ip address 
[color=rgb(184, 92, 0) !important]### END INIT INFO 
 
[color=rgb(184, 92, 0) !important]#! /bin/sh 
[color=rgb(184, 92, 0) !important]# /etc/init.d/lcd 
 
[color=teal !important]export [color=teal !important]HOME 
case[color=rgb(0, 111, 224) !important] [color=rgb(221, 17, 68) !important]"$1"[color=rgb(0, 111, 224) !important] in 
[color=rgb(0, 111, 224) !important]    start[color=rgb(51, 51, 51) !important]) 
[color=rgb(0, 111, 224) !important]        echo[color=rgb(0, 111, 224) !important] [color=rgb(221, 17, 68) !important]"Starting LCD" 
[color=rgb(0, 111, 224) !important]        [color=rgb(0, 111, 224) !important]/home[color=rgb(0, 111, 224) !important]/pi[color=rgb(0, 111, 224) !important]/Adafruit[color=rgb(0, 111, 224) !important]-Raspberry[color=rgb(0, 111, 224) !important]-Pi[color=rgb(0, 111, 224) !important]-Python[color=rgb(0, 111, 224) !important]-Code[color=rgb(0, 111, 224) !important]/Adafruit_CharLCD[color=rgb(0, 111, 224) !important]/[color=rgb(0, 45, 122) !important]Adafruit_CharLCD_IPclock_example[color=teal !important].py[color=rgb(0, 111, 224) !important]  [color=rgb(0, 153, 153) !important]2[color=rgb(0, 111, 224) !important]>[color=rgb(0, 111, 224) !important]&[color=rgb(0, 153, 153) !important]1[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]& 
[color=rgb(0, 111, 224) !important]    [color=rgb(51, 51, 51) !important];[color=rgb(51, 51, 51) !important]; 
[color=rgb(0, 111, 224) !important]    stop[color=rgb(51, 51, 51) !important]) 
[color=rgb(0, 111, 224) !important]        echo[color=rgb(0, 111, 224) !important] [color=rgb(221, 17, 68) !important]"Stopping LCD" 
[color=rgb(0, 111, 224) !important]    [color=rgb(0, 45, 122) !important]LCD_PID[color=rgb(0, 111, 224) !important]=[color=rgb(51, 51, 51) !important]`ps[color=rgb(0, 111, 224) !important] auxwww[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]|[color=rgb(0, 111, 224) !important] grep[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]Adafruit_CharLCD_IPclock_example[color=teal !important].py[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]|[color=rgb(0, 111, 224) !important] head[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]-[color=rgb(0, 153, 153) !important]1[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]|[color=rgb(0, 111, 224) !important] awk[color=rgb(0, 111, 224) !important] [color=rgb(221, 17, 68) !important]'{print $2}'[color=rgb(51, 51, 51) !important]` 
[color=rgb(0, 111, 224) !important]    kill[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]-[color=rgb(0, 153, 153) !important]9[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]$LCD_PID 
[color=rgb(0, 111, 224) !important]    [color=rgb(51, 51, 51) !important];[color=rgb(51, 51, 51) !important]; 
[color=rgb(0, 111, 224) !important]    [color=rgb(0, 111, 224) !important]*[color=rgb(51, 51, 51) !important]) 
[color=rgb(0, 111, 224) !important]        echo[color=rgb(0, 111, 224) !important] [color=rgb(221, 17, 68) !important]"Usage: /etc/init.d/lcd {start|stop}" 
[color=rgb(0, 111, 224) !important]        exit[color=rgb(0, 111, 224) !important] [color=rgb(0, 153, 153) !important]1 
[color=rgb(0, 111, 224) !important]    [color=rgb(51, 51, 51) !important];[color=rgb(51, 51, 51) !important]; 
esac 
exit[color=rgb(0, 111, 224) !important] [color=rgb(0, 153, 153) !important]0 
 
 |  
  
 
你需要相应的将路径修改为你实际保存该脚本的路径才行。 
修改初始化脚本的执行权限: [backcolor=rgb(248, 248, 255) !important] 
 
 
 
 
 
 
 
 
 
 
 
 
[color=rgb(170, 170, 170) !important]1  
 
 | [color=teal !important]sudo chmod[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]+x[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]/etc[color=rgb(0, 111, 224) !important]/[color=rgb(0, 45, 122) !important]init[color=rgb(51, 51, 51) !important].d[color=rgb(0, 111, 224) !important]/lcd 
 
 |  
  
 
用update-rc.d命令使系统感知lcd初始化脚本: [backcolor=rgb(248, 248, 255) !important] 
 
 
 
 
 
 
 
 
 
 
 
 
[color=rgb(170, 170, 170) !important]1  
 
 | [color=teal !important]sudo update[color=rgb(0, 111, 224) !important]-[color=rgb(0, 45, 122) !important]rc[color=rgb(51, 51, 51) !important].d[color=rgb(0, 111, 224) !important] [color=teal !important]lcd defaults 
 
 |  
  
 
 
 现在每次启动树莓派的时候lcd也会自动启动并显示出系统的时间和IP地址到屏幕上。这样你就可以在不用屏幕显示器的情况下知道树莓派的IP地址以及何时可以连接上它。 时区最后但也是最重要的是:我的树莓派是按世界统一时间(UTC)配置的,但是我想让它显示出我所在的本地时间。以下命令可将树莓派设定为任意时区的本地时间,这个命令是一次性的,一旦完成设定,重启之后也不会失效。 [backcolor=rgb(248, 248, 255) !important] 
 
 
 
 
 
 
 
 
 
 
 
 
[color=rgb(170, 170, 170) !important]1  
 
 | [color=teal !important]sudo dpkg[color=rgb(0, 111, 224) !important]-[color=teal !important]reconfigure tzdata 
 
 |  
  
 
  
指令输入之后会转到一个选择时间域的程序,下移光标选择你所在的时区就可以了。     
 
原文链接: Mikey Sklar 翻译: 极客范- tien 
 
译文链接: http://www.geekfan.net/5588/ 
 |