使用 LCD4Linux 让LCD2USB 屏幕做为监控小屏

logo82.png

一.前言

最近在对旧笔记本进行改造, 作一个相框机箱,而后基本完成了,如今以为还少了额一个显示屏作监控运行状态linux

微信图片_20190908160544.jpg

而后在淘宝搜到这个LCD显示屏,支持LCD2USB express

LCD.PNG

这里咱们来看看怎么让它显示咱们要的内容ubuntu

二.本文包含如下内容

本文仅包含支持LCD2USB的设备windows

  • 经过LCD4Linux在ubuntu下链接LCD屏幕
  • 经过LCD Smartie在windows下链接LCD屏幕

三.经过LCD4Linux在ubuntu下链接LCD屏幕

1.安装LCD4Linux

安装完成后,会附带驱动程序,正常状况下插入USB后可以识别设备安全

有2种安装方式bash

1.1一种是经过源进行安装

sudo apt-get install LCD4Linux
复制代码

1.2经过官网下载源码进行安装

prdownloads.sourceforge.net/lcd4linux/l…微信

下载完毕后解压布局

tar xvzf lcd4linux-0.10.0.tar.gz
复制代码

编译安装post

./configure
make
make install 
复制代码

在执行configure-command期间(这可能须要一段时间!),控制台上会显示一些状态消息。若是出现错误,您能够在configure.log文件中查找它们以进行调试spa

2.查看USB屏幕的设备名称

经过命令

lsusb
复制代码

将会看到有lcd2usb interface的设备出现

hoody@hoody-Acer:~$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0403:c630 Future Technology Devices International, Ltd lcd2usb interface   # <----------- 这个就是
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
复制代码

这里咱们能够看到 当前设备的链接位置是在

Bus 001 Device 003: ID 0403:c630 Future Technology Devices International, Ltd lcd2usb interface
复制代码

而后能够在/dev/bus/usb/001/003看到咱们的USB屏幕,记下这个路径, 后续会在配置文件中使用到 /dev/bus/usb/003 暂时叫作设备路径

3.简单配置/etc/lcd4usb.conf

整个LCD4Linux运行都是经过/etc/lcd4usb.conf文件进行配置的,
定义显示内容也是经过这个配置文件官方配置样例文档

因为安全缘由(配置可能包含邮件账户的用户名/密码),配置文件必须确保仅具备用户的权限。小组或其余人不得读写,不然LCD4Linux拒绝工做! 所以,若是您以root身份运行lcd4linux, /etc/libd4linux.conf必须是:

chmod 600 /etc/lcd4linux.conf
chown root.root /etc/lcd4linux.conf
复制代码

咱们先来个简单的CPU监控显示配置 PS: 配置文件中,{括号前面要有一个空格

Display MyScreen {
    Driver  'LCD2USB'  #指定使用LCD2USB驱动
    Model   'generic'
    UseBusy  1
    Port    '/dev/bus/usb/001/003'  #填写上一节说的设备路径
    Size    '20x4'  # 根据你的屏幕显示内容填写,个人是20字符乘4行的
    Wire {
	RW      'AUTOFD'
	RS      'INIT'
	ENABLE  'STROBE'
	ENABLE2 'GND'
	GPO     'GND'
    }
}
# CPU使用率部件
Widget CPU {
    class 'Text' #部件类型指定为文本
    expression proc_stat::cpu('busy', 500)
    prefix 'CPU:' #前缀
    postfix '% |' #后缀
    width 10  #部件占用字符数
    precision 1
    align 'L' # L R 分别表示左对齐 和右对齐
    update 500  # 更新频率 500毫秒
}
# 布局,在此处指定部件的放置
Layout Default {
    Row1 { #表示第一行
      Col1 'MyCPU' #表示从第一格开始放入
    }
}

Display 'MyScreen' #指定显示屏幕
Layout  'Default' # 指定使用 布局
复制代码

4.启动屏幕

启动LCD4Linux前请肯定配置文件lcd4linux.conf的权限是600
启动命令以下, -v 表示显示启动日志,若是失败将会显示错误缘由

sudo lcd4linux -v
复制代码

启动成功将会在屏幕上显示

CPU: 13%
复制代码

启动错误:Unable to autolaunch a dbus-daemon without a $DISPLAY for X11

若是发生此错误,说明当前你应该是经过纯命令行进行的操做,LCD4Linux须要桌面环境的支持,因此在配置的时候须要进入让Linux的图形化桌面环境,而后在桌面环境中开启终端再执行启动命令便可
启动成功后,再经过开机自启则不须要进入图形化桌面了

lcd4linux.conf的详细配置解释

配文件内容分3个部分

第一部分是屏幕的配置,LCD2USB屏的话,只须要修改portsize便可

Display MyScreen {
    Driver  'LCD2USB'  #指定使用LCD2USB驱动
    Model   'generic'
    UseBusy  1
    Port    '/dev/bus/usb/001/003'  #填写上一节说的设备路径
    Size    '20x4'  # 根据你的屏幕显示内容填写,个人是20字符乘4行的
    Wire {
	RW      'AUTOFD'
	RS      'INIT'
	ENABLE  'STROBE'
	ENABLE2 'GND'
	GPO     'GND'
    }
}
复制代码

第二部分是定义显示须要使用的部件,

此处能够定义多个部件,部件中的表达式能够参考官方提供的部件列表 Plugins
经常使用到的有:

plugin_meminfo 内存插件

该插件提供了 /proc/meminfo文件的接口。
meminfo(key)/proc/meminfo 并返回<key>的值
'key'参数没有任何固定值,但做为搜索键进入/ proc / meminfo文件。经常使用键是“MemTotal”或“MemFree”。执行'cat / proc / meminfo'以查看系统上可用的值。

Widget RAM {
    class  'Text'
    expression meminfo('MemTotal')/1024
    postfix ' MB RAM'	
    width  11
    precision 0
    align  'R'
    update 0
}
复制代码

plugin_proc_stat 系统状态插件

该插件提供了 /proc/stat 文件的接口。
Proc_stat 插件

表达式 解释
proc_stat(key) /proc/stat直接取值
proc_stat(key, delay) /proc/stat取变化量
proc_stat::cpu(key, delay) /proc/stat获取CPU信息
proc_stat::disk(device, key, delay) /proc/stat获取硬盘信息

示例:CPU:12%

Widget CPU {
    class 'Text'
    expression proc_stat::cpu('busy', 500)
    prefix 'CPU:'
    postfix '% |'
    width 10
    precision 1
    align 'L'
    update tick
}
Widget CPUBar {
    class 'Bar'
    expression  proc_stat::cpu('busy',   500)
    expression2 proc_stat::cpu('system', 500)
    length 10
    align 'L'
    direction 'E'
    update tack
}
复制代码

uptime 启动时间插件

此插件以秒或以用户定义的格式返回当前系统的正常运行时间

表达式 解释
uptime() 返回系统启动的秒数
uptime(format) 以用户定义格式返回时间

format的可选格式(格式指定相似于 printf()方法)

表达式 解释
%s 总秒数
%S 从00-59的秒数
%m 总分钟数
%M 从00-59的分钟数
%h 总小时数
%H 从00-23的小时数
%d 总天数

例子: Run 12 days 12:32:59

Widget Uptime {
    class 'Text'
    expression uptime('%d days %H:%M:%S')
    width 20
    align 'L'
    prefix 'Run '
    update tick
}
复制代码

这里是一部分表达式的示例,其他能够经过官方提供的部件列表 Plugins 进行查看

第三部分 布局的指定

经过Row 行Col 格进行布局安排, 后面的数字表示具体的行数和格数

Layout Default {
    Row1 {
      Col1 'MyInfo' # 从第一行第一格开始显示
    }
   Row2 {
      Col1 'CPU' # 从第二行第1格开始显示
      Col11 'MEM' # 从第二行第11格开始显示(个人设备总计20格每行)
   }
   Row3 {
      Col1 'IPaddress'
   }
   Row4 {
      Col1 'Uptime'
   }
}
复制代码

贴一个个人配置

地址 一个比较全的官方示例

效果

微信图片_20190908171411.jpg
code:

Display USBLCD {
    Driver  'LCD2USB'
    Model   'generic'
    UseBusy  1
    Port    '/dev/bus/usb/001/003'	
    Size    '20x4'
    Wire {
	RW      'AUTOFD'
	RS      'INIT'
	ENABLE  'STROBE'
	ENABLE2 'GND'
	GPO     'GND'
    }
}

Widget CPU {
    class 'Text'
    expression proc_stat::cpu('busy', 500)
    prefix 'CPU:'
    postfix '% |'
    width 10
    precision 1
    align 'L'
    update tick
}
Widget CPUBar {
    class 'Bar'
    expression  proc_stat::cpu('busy',   500)
    expression2 proc_stat::cpu('system', 500)
    length 10
    align 'L'
    direction 'E'
    update tack
}
Widget MEM {
    class      'Text'
    expression  ceil((meminfo('MemTotal')-meminfo('MemFree'))/meminfo('MemTotal')*100)
    prefix     'MEM:'
    postfix    '%'
    width       8
    align      'R'
    update      tick
}

Widget IPaddress {
    class  'Text'
    expression netinfo::ipaddr('wlp3s0')
    prefix ' '
    postfix ' '
    width  20
    align  'L'
    update tick
}
Widget Uptime {
    class 'Text'
    expression uptime('%d days %H:%M:%S')
    width 20
    align 'L'
    prefix 'Run '
    update tick
}
Widget MyInfo {
    class 'Text'
    expression 'Hoody Server'
    prefix ' '
    postfix ' '
    width  20
    align  'L'
    update tick
}
Layout Default {
    Row1 {
      Col1 'MyInfo'
    }
   Row2 {
      Col1 'CPU'
      Col11 'MEM'
   }
   Row3 {
      Col1 'IPaddress'
   }
   Row4 {
      Col1 'Uptime'
   }
}

Variables {
   tick 500
}

Display 'USBLCD'
Layout  'Default'
复制代码

四.经过LCD Smartie在windows下链接LCD屏幕

所需的文件在这里驱动文件 提取码:500f

安装JQMU驱动程序

1.将模块与USB线链接,插上电脑USB口

2.经过电脑属性,能够看到新的USB设备

windows设备.png

3.打开文件夹 libusb-win32-bin-1.2.6.0\bin,执行inf-wizard.exe
注意:WIN7 WIN10 系统安装时,点击右键选择“以管理员身份运行”进行安装

安装驱动.jpg

点击 Next> 进入下一步选择LCD2USB Interface这个驱动项

选择驱动.png

而后继续下一步 将会提示保存文件,建立一个文件夹,选择它 而后保存

选择存放位置.jpg

接下来会进入这个界面

确认安装.png
点击 Install Now 安装完成后会弹出 Installation successful提示成功的弹窗

此时查看设备管理器,将会看到驱动安装成功

成功确认.png

使用LCDSmartie

双击LCDSmartie.exe启动,

LCDSmartie.jpg

此时将会在你的屏幕上看到 这个窗体中的内容.

点击左下角的Setup按钮,弹出设置框

图示.PNG

文章原文发布于个人我的博客 使用 LCD4Linux 让LCD2USB 屏幕做为监控小屏

相关文章
相关标签/搜索