<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

LCD2USB顯示模塊在LCD4LINUX的使用解釋

jf_86150131 ? 來源:jf_86150131 ? 作者:jf_86150131 ? 2023-07-12 11:03 ? 次閱讀

通過LCD4Linux在ubuntu下連接LCD屏幕

1.安裝LCD4Linux

安裝完成后,會附帶驅動程序,正常情況下插入USB后能夠識別設備,有2種安裝方式

1.1一種是通過源進行安裝

sudo apt-get install LCD4Linux

1.2通過官網下載源碼進行安裝

http://prdownloads.sourceforge.net/lcd4linux/lcd4linux-0.10.0.tar.gz?download

下載完畢后解壓

tar xvzf lcd4linux-0.10.0.tar.gz

編譯安裝

./configure

make

make install

在執行configure-command期間(這可能需要一段時間?。?,控制臺上會顯示一些狀態消息。如果出現錯誤,您可以在configure.log文件中查找它們以進行調試

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行的

Contrast 90 #對比度設置,范圍:0~255

Brightness 200 #背光亮度設置,范圍:0~255

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屏的話,只需要修改port和size即可

Display MyScreen {

Driver 'LCD2USB' #指定使用LCD2USB驅動

Model 'generic'

UseBusy 1

Port '/dev/bus/usb/001/003' #填寫上一節說的設備路徑

Size '20x4'#根據你的屏幕顯示內容填寫,我的是20字符乘4行的

Contrast 90 #對比度設置,范圍:0~255

Brightness 200 #背光亮度設置,范圍:0~255

Wire {

RW 'AUTOFD'

RS 'INIT'

ENABLE 'STROBE'

ENABLE2 'GND'

GPO 'GND'

}

}

第二部分是定義顯示需要使用的部件,

此處可以定義多個部件,部件中的表達式可以參考官方提供的部件列表 Plugins

常用到的有:

plugin_meminfo內存插件

該插件提供了 /proc/meminfo文件的接口。

meminfo(key)/proc/meminfo并返回的值

'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插件

示例: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'

expressionproc_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' }

}

code:

Display USBLCD {

Driver 'LCD2USB'

Model 'generic'

UseBusy 1

Port '/dev/bus/usb/001/003'

Size '20x4'

Contrast 90 #對比度設置,范圍:0~255

Brightness 200 #背光亮度設置,范圍:0~255

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'

expressionproc_stat::cpu('busy', 500)

expression2 proc_stat::cpu('system', 500)

length 10

align 'L'

direction 'E'

update tack

}

Widget MEM {

class 'Text'

expressionceil((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'

https://zhuanlan.zhihu.com/p/81693837?from_voters_page=true

在Ubuntu系統使用lcd4linux

(1)安裝lcd4linux

$ sudo apt-get install lcd4linux

(2)連接模塊,并查看模塊使用的USB端口,本例中使用的端口為usbdev3.2

$ ls /dev/usb*

(3)更改/etc下的配置文件。軟件生成的lcd4linux.conf文件較長,新手不容易配置,可重命名或刪除后自己新建,并復制下面的配置代碼。

$ cd /etc

$ sudo vi lcd4linux.conf

輸入以下配置信息,并保存。

Display LCD2USB {

Driver 'LCD2USB' #模塊的類型為LCD2USB

Size '16x2' #LCD液晶的尺寸為1602

Port '/dev/usbdev3.2' #使用的端口為/dev/usbdev3.2

Contrast 90 #對比度設置,范圍:0~255

Brightness 200 #背光亮度設置,范圍:0~255

}

Widget IPaddress{

class 'Text' #類型:Text

expression netinfo::ipaddr('eth0') #獲取eth0的ip地址

prefix 'IP:' #在行初顯示“IP:”

width 16 #顯示寬度:16

align 'C' #顯示方式:居中

update 1000

}

Widget Time {

class 'Text'

expression strftime('%a %H:%M:%S',time())

width 16

align 'C'

update 1000

}

Layout Default {

Row1 {

Col1 'IPaddress' #在第一行第一列顯示Widget IPaddress

}

Row2 {

Col1 'Time' #在第二行第一列顯示Widget Time

}

}

Display 'LCD2USB'

Layout'Default'

(4)更改lcd4linux.conf文件權限

$ sudo chmod 600 lcd4linux.conf

$ chown root.root lcd4linux.conf

(5)運行lcd4linux

$ lcd4linux

嘿群輝6.13成功驅動USBLCD

1.先root

2.安裝opkg

(裝opkg部分參考如下教程

https://tieba.baidu.com/p/4951158587?red_tag=0362727310

3.再裝python2.7

4.再裝pip

5.再裝libusb1.0

6.再裝python-libusb1

7.再裝lcd2usb

(python部分參考如下鏈接)

https://pypi.python.org/pypi/lcd2usb

啟動命令python2.7 -m testlcd

下面發驅動LCD2004的python文件: testlcd.py

我放到/volume2/@entware-ng/opt/lib/python2.7/site-packages目錄下

# ==================配置文件開始============

from lcd2usb import LCD

from subprocess import *

from time import sleep, strftime

from datetime import datetime

# =========================

# Clock Example

# ====================

lcd = LCD()

cmd = "ip addr show eth0 | grep 'inet ' | awk '{print $2}' | cut -d/ -f1"

cmd2 ="hostname"

cmd3 ="cat /proc/loadavg | cut -d/ -f1"

print "Press CTRL+C to exit"

def run_cmd(cmd):

p = Popen(cmd, shell=True, stdout=PIPE)

output = p.communicate()[0]

return output

while(True):

lcd.clear()

ipaddr = run_cmd(cmd)

lcd.goto(0,0) #第一行

lcd.write('Synology DS3617xs')

lcd.goto(0,1) #第二行

name = run_cmd(cmd2)

lcd.write('server %s' % (name) )

lcd.goto(0,2) #第三行

lcd.write('IP %s' % (ipaddr) )

lcd.goto(0,3) #第四行

lcd.write(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))

sleep(1)

# ==================配置文件結束============

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • lcd
    lcd
    +關注

    關注

    34

    文章

    4296

    瀏覽量

    164862
  • 顯示模塊
    +關注

    關注

    1

    文章

    46

    瀏覽量

    23535
收藏 人收藏

    評論

    相關推薦

    #硬聲創作季 #LinuxLinux-2.21.1 LCD顯示原理詳解-2

    LinuxLCD顯示
    水管工
    發布于 :2022年11月10日 18:22:05

    #硬聲創作季 #LinuxLinux-2.21.1 LCD顯示原理詳解-3

    LinuxLCD顯示
    水管工
    發布于 :2022年11月10日 18:22:30

    64 第11講--LinuxLCD顯示 - 第2節 #硬聲創作季

    LCD顯示
    充八萬
    發布于 :2023年08月19日 20:50:38

    64 第11講--LinuxLCD顯示 - 第4節 #硬聲創作季

    LCD顯示
    充八萬
    發布于 :2023年08月19日 20:52:19

    lcd1602+NanoPi 2

    介紹I2C LCD1602 KeypadI2C LCD1602 Keypad模塊Matrix-I2C_L
    發表于 11-12 17:01

    LCD顯示攝像頭圖像不能重現視頻的影像

    linux-3.4.2_camera_jz2440根文件: fs_mini_mdev_new.yaffs2攝像頭: USB百問網攝像頭驅動: video2lcd來自于 韋東山
    發表于 05-24 02:58

    嵌入式LinuxLCD界面應用程序開發

    介紹了MPC823e 的LCD 控制器。根據10. 16 cm(4 in) STN2LCD LCBA7 T211W顯示模塊的時序要求設計了該LCD
    發表于 04-24 10:39 ?41次下載

    基于USB的嵌入式LCD圖文顯示系統的設計

    本文設計了一種具有 USB 接口的LCD 圖文顯示系統,包括USB 傳輸模塊、存儲器模塊以及液晶
    發表于 08-10 15:39 ?14次下載

    液晶顯示模塊LCD1602應用

    液晶顯示模塊LCD1602應用
    發表于 09-25 16:58 ?683次下載
    液晶<b class='flag-5'>顯示</b><b class='flag-5'>模塊</b><b class='flag-5'>LCD</b>1602應用

    LCD,LCD是什么意思,LCD的原理是什么

    LCD,LCD是什么意思,LCD的原理是什么 LCD 液晶顯示器是 Liquid Crystal Display 的簡稱,
    發表于 03-10 10:42 ?2559次閱讀

    部分LCD顯示模塊參數

    電子發燒友為您提供了部分LCD顯示模塊參數,希望能在您的工作學習上幫助到您!
    發表于 06-23 09:58 ?2077次閱讀

    LCD彩屏模塊技術及設計

    關鍵詞:STN-LCD , 彩屏模塊 越來越多的手機、PDA、數碼相機和視屏游戲機采用STN-LCD全彩色顯示器,因此,STN-LCD彩屏
    發表于 02-17 12:25 ?350次閱讀

    LCD1602液晶顯示模塊

    LCD602字符型液晶顯示模塊是一種專門用于顯示字母、數字、符號等點陣式LCD,目前常用161,162,202和402行等的
    發表于 01-13 16:46 ?23次下載
    <b class='flag-5'>LCD</b>1602液晶<b class='flag-5'>顯示</b><b class='flag-5'>模塊</b>

    通過LCD4Linux在ubuntu下連接LCD屏幕

    1.安裝 LCD4Linux 安裝完成后,會附帶驅動程序,正常情況下插入 USB 后能夠識別設備,有 2 種安裝方式 2.查看 USB 屏幕的設備名稱 通過命令 lsusb 將會
    發表于 07-12 14:54 ?0次下載

    在3伏電壓下使用字符LCD模塊

    LCD模塊與七段LED顯示屏相比,LCD模塊比LED顯示屏可以
    發表于 02-02 16:56 ?201次閱讀
    在3伏電壓下使用字符<b class='flag-5'>LCD</b><b class='flag-5'>模塊</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>