使用 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 屏幕做爲監控小屏

相關文章
相關標籤/搜索