13.5元搞定NAS 外置 LCD 显示

经常出差,都不知道家里面的温度如何。 另外我的 NAS 也即是前面提到过的 GEN8 曾经热死机一次,也是怕负载莫宁其妙的太高,里面的硬盘经不起来回的折腾。就琢磨用 NAS 为基础做一个远程监控的系统。

首先从近处开始,NAS 运行的是 Centos Linux,平时我需要用 putty 连进去才能看运行信息。我不在的日子,家里面人都不知道它是不是还在运行。所以,首先准备了一块 1602 的 LCD,和一个自己焊接的 LCD2USB 驱动板。不要问我为什么要自己焊接,真不是为了那 6.99 元的诱人价格,而是真的看错了,也成就了平生第一次手工焊接贴片元器件的电路板。LCD 价格 6.5 元,选用了绿色背光灯,让夜色更加迷人点。背光的亮度是通过驱动板后面的可调电阻来设置的。这样总价 13.5 元的 NAS 外置 LCD 显示就搞定了。

1602 LCD
1602 LCD

在 LCD4Linux 和 LCDProc 中选用了后者,主要的原因是前一个从 2009 年开始就没人维护了,连编译都过不去。而 LCDProc 的问题也是很多,这里把重要步骤罗列一下:

首先,必须修改一下源代码:server/drivers/timing.h,选择 DELAY 的方式为最简单的 gettimeofday 来实现,其他的模式,包括那个可怕的自动选择模式,都会带来无穷无尽的折磨。相信我,对于 LCD 这种东西,这个选项已经足够了。

//#define DELAY_AUTOSELECT
#define DELAY_GETTIMEOFDAY
//#define DELAY_NANOSLEEP
//#define DELAY_IOCALLS

然后就简单了,对于 LCD2USB 板子,只需要编译一个驱动就可以了。

./configure -prefix=/usr/local --enable-drivers=hd44780
make
make install
cp server/drivers/hd44780.so /usr/local/sbin/lcdproc

创建一个空白的 /usr/local/etc/LCD.conf 配置文件,然后根据 LCD 的型号输入以下内容。

[server]
Driver=hd44780
DriverPath=/usr/local/sbin/lcdproc

[hd44780]
ConnectionType=lcd2usb
Contrast=850
Brightness=800
OffBrightness=0
Backlight=yes
Size=16x2

以 root 运行 LCDd 服务进程,这个程序将在后台写 LCD。它输出的内容则由客户端程序——我们这里是 lcdproc 来定义。

根据电脑要显示的内容需要编辑 / usr/local/etc/lcdproc.conf 文件,比如在 Centos 上网络连接不是 eth0 而是 eno1,这个就需要在这里改一下。其他需要修改的内容并不多。修改后以 root 权限运行 lcdproc 程序,就可以看到 LCD 显示你定义的内容了。

848947878

装 LCD 的纸盒子实在是太丑了,不过本地的显示算是搞定了,然后就可以考虑远程的数据传输了。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注