FAQ: Ako rozbehnúť stavové LCD?

Linux, Unix, Solaris, OS/2 atp.
Odpovědět
Josko
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 14. dub 2005
Bydliště: Žilina (SK)
Kontaktovat uživatele:

FAQ: Ako rozbehnúť stavové LCD?

Příspěvek od Josko »

Samozrejme aj pre takéto vychytávky existujú programy pre Linux.
A to:
LCD4Linux
knižnica serdisplib
a pre grafické displaye - graphlcd

Podporované displaye v LCD4Linux bez serdisplib: http://ssl.bulix.org/projects/lcd4linux/wiki/Displays
(Ak chcete rozbiehať display len z tohoto zozamu netreba kompilovať podporu serdiplib ale stačí nainštalovať balík lcd4linux)
Podporované knižnicou serdisplib: http://serdisplib.sourceforge.net/#displays

________

Rozoberiem príklad lcdčka ktoré som rozbehával, je to lcd z nokie 3210 je to konkrétne display pcd8544:

- Hardvérovo je zadrátované podľa návodu ktorý je tu alebo tu alebo ešte tu (Potom pri tomto poslednom treba nastaviť 'WIRING = 1' alebo 'WIRING = 0' miesto toho čo mám ja v konfiguráku podla typu displayu - je to na tej stránke napíané pre ktorý ktoré.).

- Softvér je použitý LCD4Linux s knižnicou serdisplib

- Postup inštalácie:
1, Nainštalujte kompilátor v debian-based (napr. Ubuntu) distribúciách je to balík build-essential
2, Treba nainštalovať serdisplib.
Stiahnite tieto zdrojáky: http://sourceforge.net/projects/serdisplib/

Rozbalte ich pomocou a cd prejdite do zložky kde sú zdrojáky a skompilujte:

Kód: Vybrat vše

./configure
make
sudo make install
3, Teraz inštalácia samotného LCD4Linux:
Stiahnite zdrojáky zo SVN:

Kód: Vybrat vše

svn co https://ssl.bulix.org/svn/lcd4linux/trunk lcd4linux
vojdite do zložky lcd4linux:

Kód: Vybrat vše

cd lcd4linux
skompilujte:

Kód: Vybrat vše

./configure --with-driver=serdisplib
make
make install
4, Konfigurácia
treba vytvoriť konfiguračný súbor /etc/lcd4linux.conf
zadajte:

Kód: Vybrat vše

sudo gedit /etc/lcd4linux.conf
Príklad možného konfiguráku(je to konkrétne pre ten nokiaácky display):

Kód: Vybrat vše

Display 1 { 
    Driver     'serdisplib' 
    Model      'PCD8544' 
    Port       'PAR:0x378' 
    Options    'WIRING=1:D2,1:D3,SCL:nAUTO,DC:D0,RESET:D1,SI:nSTRB'
    Contrast	'2' 
    Reverse	'0'
} 

Widget Time {
    class 'Text'
    expression strftime('%H:%M:%S',time())
    width 20
    align 'L'
    update 1000
}

Widget FanCpu {
    class      'Text'
    expression  exec('sensors | grep fan1', 10000)
    width       12
    align      'A'
    update      10000
}


Widget TempCpu {
    class      'Text'
    expression  exec('sensors | grep temp2', 10000)
    width       12
    align      'A'
    update      10000
}


Widget BusyBar {
    class      'Bar'
    expression  proc_stat::cpu('busy',   500)
    expression2 proc_stat::cpu('system', 500)
    length      10	
    direction  'E'
    style      'H'
    update      100
}


Widget OS { 
    class      'Text' 
    expression  uname('release') 
    prefix     'OS: ' 
    width       15
    align      'A' 
    update      tick 
}

Widget cpu {
	class 'Text'
	expression cpuinfo('cpu MHz')
	Prefix	'CPU: '
	Postfix 'MHz'
	width 14
	precision '4'
	align 'L'
	update tick
          }

Widget Uptime {
    class 'Text'
    expression uptime('%h:%M:%S')
    prefix 'Uptime:'
    width 15
    align 'A'
    update 100
}


Layout Default { 
    Row1.Col1 'OS'
    Row2.Col1 'BusyBar'
    Row3.Col1 'cpu'
    Row4.Col1 'TempCpu'
    Row5.Col1 'FanCpu'
    Row6.Col1 'Uptime'
} 

Variables { 
   tick 500 
} 

Display '1' 
Layout  'Default'
Treba mu zmeniť prístupové práva, lebo inak sa lcd4linux nebude chcieť spustiť:

Kód: Vybrat vše

chmod u+rwx /etc/lcd4linux.conf
chown root:root /etc/lcd4linux.conf
chmod 700 /etc/lcd4linux.conf
Teraz môžete lcd4linux spustiť príkazom:

Kód: Vybrat vše

lcd4linux -Fvv
Spôsobí asi takýto výsledok:
Obrázek

Samozrejme to čo zobrazuje sa dá týmto konfigurakom meniť na to sa pužívajú widgety, pluginy a layout popis ako sa to používa je tu: http://ssl.bulix.org/projects/lcd4linux/wiki/Layout a http://ssl.bulix.org/projects/lcd4linux/wiki/Plugins

Tiež na niektoré displaye nebude zrejme treba serdisplib takže ide použiť rovno balík ktorý je v rezpozitároch a netreba kompilovať.

A pri tomto zapojení LCD z nokií bývajú rôzne schémy, našťastie však netreba prepájať dráty stačí to doladiť na tú správnu pomocou Options 'WIRING=... ktoré je vysvetlené tu: http://serdisplib.sourceforge.net/docs/options.html


Ak máte nejaké otázky týkajúce sa takýchto displayov tak sem s nimi do toho threadu.
d4gu8
Nováček
Nováček
Registrován: 02. říj 2009

Re: FAQ: Ako rozbehnúť stavové LCD?

Příspěvek od d4gu8 »

A co když chceš použít něco co nemají v podpoře? Tak jsi na holičkách a nezbude ti nic jiného než napsat driver, takže pokud někdo nad tím přemýšlí, radši stavte podporované moduly.
yousocrates
Nováček
Nováček
Registrován: 10. led 2011

Re: FAQ: Ako rozbehnúť stavové LCD?

Příspěvek od yousocrates »

Zní to na mě hodná
Odpovědět

Zpět na „Operační systémy Linux a podobné“