[PLUGIN] LCD_Manager


Recommended Posts

Released initial Beta. Only 2 devices support CFontzPacket and icp_a106(QNAP) Other drivers are included but not set in GUI at this time.

 

Option to run lcdproc, specific client still WIP.

 

root@computenode:/usr/local/emhttp/plugins/lcd_manager# ls /lib/lcdproc/
CFontz.so*        MD8800.so*             SureElec.so*  glcd.so*      imon.so*     jw002.so*    linux_input.so*  rawserial.so*  serialPOS.so*  t6963.so*       yard2LCD.so*
CFontzPacket.so*  MtxOrb.so*             bayrad.so*    glk.so*       imonlcd.so*  lb216.so*    ms6931.so*       sdeclcd.so*    serialVFD.so*  text.so*
CwLnx.so*         NoritakeVFD.so*        curses.so*    hd44780.so*   irtrans.so*  lcdm001.so*  mtc_s16209x.so*  sed1330.so*    sli.so*        tyan.so*
EyeboxOne.so*     Olimex_MOD_LCD1x9.so*  ea65.so*      icp_a106.so*  joy.so*      lcterm.so*   pyramid.so*      sed1520.so*    stv5730.so*    vlsys_m428.so*

 

 

image.png

 

Initial plugin will support The CrystalFontz drivers as this is hardware I have to test with. Followed looking to support QNAP LCDs if a way can be used to Identify the serial port.

 

I have attached lcdproc package and a sample config for LCDd which is used to run my CrystalFontz Display.

 

Blue 20x2 Character LCD USB Display

Part Number: CFA631-TMF-KU

 

Start the backend process LCDd -c config file. You can add the package into the extra folder on boot to be loaded at boot.

 

lcdproc is used to config the display.

 

lcdproc - LCDproc system status information viewer

Copyright (c) 1999-2017 Selene Scriven, William Ferrell, and misc. contributors.
This program is released under the terms of the GNU General Public License.

Usage: lcdproc [<options>] [<screens> ...]
  where <options> are
    -s <host>           connect to LCDd daemon on <host>
    -p <port>           connect to LCDd daemon using <port>
    -f                  run in foreground
    -e <delay>          slow down initial announcement of screens (in 1/100s)
    -c <config>         use a configuration file other than /lcdproc/build/etc/lcdproc.conf
    -h                  show this help screen
    -v                  display program version
  and <screens> are
    C CPU               detailed CPU usage
    P SMP-CPU           CPU usage overview (one line per CPU)
    G CPUGraph          CPU usage histogram
    L Load              load histogram
    M Memory            memory & swap usage
    S ProcSize          biggest processes size
    D Disk              filling level of mounted file systems
    I Iface             network interface usage
    B Battery           battery status
    T TimeDate          time & date information
    O OldTime           old time screen
    U Uptime            uptime screen
    K BigClock          big clock
    N MiniClock         minimal clock
    A About             credits page

Example:
    lcdproc -s my.lcdproc.server.com -p 13666 C M L

 

The following drivers are included in the package. So not all options are supported.

 

CFontz.so*  CFontzPacket.so*  CwLnx.so*  MtxOrb.so*  bayrad.so*  curses.so*  glk.so*  lb216.so*  lcdm001.so*  pyramid.so*  text.so*

 

 

LCDd.conf

lcdproc.txz

  • Like 3
Link to comment
6 hours ago, JonathanM said:

For those of us with servers tucked away, any chance of this working over usb-ip? I'm envisioning perhaps a raspberry pi clone of some flavor, joined to the local wifi, cycling between several servers.

Once I have it working locally and released I can look at adding remote options. USBIP would be one way but the system does support use of IP. so the LCDd could be running on the remote device and Unraid just uses the client to connect to remote device. Some screens are just serial attached so my not be able to be shared via USBIP.

Link to comment

Thanks for working on this.

 

I think my 2 are LIS driver,  one LCD came with a Media PC case(only the LCD part, no 5.25" drive bay case), maybe 2012 era plus or minus a few years.

 

The 2nd one I ordered for Unraid but never got it working.

 

They are not hooked up right now, maybe will pull it out.

 

I remember having to compile the LIS driver.

161142687_20230409_1030492.thumb.jpg.1803927548187b3d8629f3730c59caf4.jpg

 

 

 

 

 

 

20230409_103118_2.jpg

Edited by Paul_Ber
Duplicate photos
Link to comment

Oh @SimonF, look what you've made me do... :D

 

1559559977_23-04-1217-10-362381.thumb.jpg.0d904b1bc08e21174f9c1d5a66be107b.jpg2058797602_23-04-1216-39-542378.thumb.jpg.2ae3d24341495c90588057cf3c6ff74a.jpg334688538_23-04-1216-40-232379.thumb.jpg.689a03a155b0def55335deb092c1f6e2.jpg130712819_23-04-1216-40-482380.thumb.jpg.f5ad0628148ed51665380ad47a32104f.jpg

 

This is a HD44780 2004 display hooked up to a Arduino Nano that I had lying around connected via USB to unRAID (sorry for the poor contrast but I had no suitable variable resistor at home so I was forced to set the contrast to 100%).

I think the parts, without the variable resistor and the wires are around Eur. 15,-

 

For anyone interested I've attached the Arduino Sketch and the config file for LCDd: hd44780.inohd44780.conf

 

I think this should be also doable with a ESP32 and a HD44780 2004 display @JonathanM, if you want something like that over WiFi.

Anyways this Arduino setup should be also work over USBIP if I'm not mistaken.

 

EDIT: You should be also able to use ser2net but I'm unsure if it's supported on Unraid and if there is somewhere a binary for Slackware around.

  • Like 3
Link to comment
5 minutes ago, ich777 said:

Oh @SimonF, look what you've made me do... :D

 

1559559977_23-04-1217-10-362381.thumb.jpg.0d904b1bc08e21174f9c1d5a66be107b.jpg2058797602_23-04-1216-39-542378.thumb.jpg.2ae3d24341495c90588057cf3c6ff74a.jpg334688538_23-04-1216-40-232379.thumb.jpg.689a03a155b0def55335deb092c1f6e2.jpg130712819_23-04-1216-40-482380.thumb.jpg.f5ad0628148ed51665380ad47a32104f.jpg

 

This is a HD44780 2004 display hooked up to a Arduino Nano that I had lying around connected via USB to unRAID (sorry for the poor contrast but I had no suitable variable resistor at home so I was forced to set the contrast to 100%).

I think the parts, without the variable resistor and the wires are around Eur. 15,-

 

For anyone interested I've attached the Arduino Sketch and the config file for LCDd: hd44780.inohd44780.conf

 

I think this should be also doable with a ESP32 and a HD44780 2004 display @JonathanM, if you want something like that over WiFi.

Anyways this Arduino setup should be also work over USBIP if I'm not mistaken.

Looks good!! You would need to run LCDd on the network endpoint for it to run over the network unless you just use as USBIP server. Not sure how reliable that would be.

 

Raspberry(W) type SBC can run LCDd with debian package.

Link to comment
3 hours ago, SimonF said:

Raspberry(W) type SBC can run LCDd with debian package.

I've tried it now on my test server since I've couldn't find my RasperryPi and it is working just fine.

 

1781339533_23-04-1221-17-412382.thumb.jpg.b588d0640338ad9cb5b0540018aafa27.jpg191402907_23-04-1221-18-092385.thumb.jpg.e639211e5efecbf1ca57eff83cc9d251.jpg1611810388_23-04-1221-18-042384.thumb.jpg.333d540963ea9b98f52d923947e4fb72.jpg

(again, sorry for the poor contrast)

 

Steps that I've did:

  1. Connected the display to my test server (of course a RaspberryPi would be more suitable but since I couldn't find it I used what I had on hand)
  2. Edited the hd44780.conf file to listen all interfaces by editing the line "Bind=127.0.0.1" to "Bind=0.0.0.0"
  3. Start the LCDd daemon with: "LCDd -c hd44780.conf"
  4. On my main server I've started lcdproc with: "lcdproc -s IPfromTESTserver N C M D"
  5. Done

 

After that the display shows all information about my main server which is connected to the test server.

  • Like 1
Link to comment
  • 2 weeks later...

That's really nice !
Is there a list of compatible hardware (LCD) without too many assemblies?
Especially for those just starting out.
I tell you that you didn't understand everything about the wiring and how the data is transmitted to the LCD. How should it be connected?
Is there any additional information for the uninitiated?
Thanks in advance.

Link to comment
31 minutes ago, PicPoc said:

That's really nice !
Is there a list of compatible hardware (LCD) without too many assemblies?
Especially for those just starting out.
I tell you that you didn't understand everything about the wiring and how the data is transmitted to the LCD. How should it be connected?
Is there any additional information for the uninitiated?
Thanks in advance.

Current hardware is shown here but at present I have only enabled in the devices I can test with. https://lcdproc.org/hardware.php3 modu!es included on first post. 

Link to comment
  • 3 weeks later...

Is there a way to customese LCDd.conf without it resetting to defaults? It seems the QNAP driver has the screen size wrong - shold be 16x2 but the options (eg. uptime) show passed the edge of the screen. Also would like to configure other options such as screen brightness, timeout, etc. 4dd5c5336d80499974387e64155c7840.jpg

Sent from my SM-X700 using Tapatalk

Link to comment
16 minutes ago, ricostuart said:

Is there a way to customese LCDd.conf without it resetting to defaults? It seems the QNAP driver has the screen size wrong - shold be 16x2 but the options (eg. uptime) show passed the edge of the screen. Also would like to configure other options such as screen brightness, timeout, etc. 4dd5c5336d80499974387e64155c7840.jpg

Sent from my SM-X700 using Tapatalk
 

Not with the initial vers. I do plan to add options in the future. This are the defaults for QNAP so far. I will look to have an Unraid client that will allow screen off etc in the future.

 

You can create your own LCDd.conf, my version is on boot/config/plugins/lcd_manager and run LCDd and lcdproc from go file as required. Just disable in config.

 

            case "icp_a106":
                $config_text .= "[{$lcdproc_config['driver']}]\n";
                $config_text .= "Device={$realport}\n";
                $config_text .= "OffBrightness=0\n";
                $config_text .= "Brightness=500\n";
                break;

Link to comment
19 minutes ago, jackdellis said:

Any possibility of this coming to ReadyNas?

it looks like this may be supported with tyan driver.

 

The tyan Driver

This section talks about using LCDproc with LCD modules used in Tyan GS10 and GS12 barebones.

Features

The LCD modules used on the front side of the Tyan GS10 and GS12 series barebones consist of an LCD display by Winstar Display Co. LTD that is 16 characters wide and 2 lines high. To the right of the display there is a 6 button keypad: 4 array buttons and two buttons labeled C and S.

For more information see the LCD pack from the Tyan support page. Besides a useless old version of LCDproc it contains some documentation about the panel itself including a PDF specification of the LCD display by its manufacturer.

Configuration in LCDd.conf

[tyan]

Device = DEVICE

Select the output device to use [default: /dev/lcd]

Speed = { 4800 | 9600 }

Set the the baud rate communication with the LCD. If not given, the default is 9600.

Size = WIDTH x HEIGHT

set display size [default: 16x2]

 

Could you provide lsusb and ls /dev

Link to comment
10 hours ago, SimonF said:

it looks like this may be supported with tyan driver.

 

The tyan Driver

This section talks about using LCDproc with LCD modules used in Tyan GS10 and GS12 barebones.

Features

The LCD modules used on the front side of the Tyan GS10 and GS12 series barebones consist of an LCD display by Winstar Display Co. LTD that is 16 characters wide and 2 lines high. To the right of the display there is a 6 button keypad: 4 array buttons and two buttons labeled C and S.

For more information see the LCD pack from the Tyan support page. Besides a useless old version of LCDproc it contains some documentation about the panel itself including a PDF specification of the LCD display by its manufacturer.

Configuration in LCDd.conf

[tyan]

Device = DEVICE

Select the output device to use [default: /dev/lcd]

Speed = { 4800 | 9600 }

Set the the baud rate communication with the LCD. If not given, the default is 9600.

Size = WIDTH x HEIGHT

set display size [default: 16x2]

 

Could you provide lsusb and ls /dev

 

lsusb

Bus 001 Device 003: ID 346d:5678 Intenso Intenso Micro  Line
Bus 001 Device 002: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

ls /dev

aer_inject       fd@           loop2    null    sdb      tty    tty19  tty3   tty40  tty51  tty62    vcs4   vcsu2
block/           full          loop3    port    sdb1     tty0   tty2   tty30  tty41  tty52  tty63    vcs5   vcsu3
bsg/             fuse          loop4    ppp     sdc      tty1   tty20  tty31  tty42  tty53  tty7     vcs6   vcsu4
btrfs-control    hpet          loop5    ptmx    sdc1     tty10  tty21  tty32  tty43  tty54  tty8     vcsa   vcsu5
bus/             hwrng         loop6    ptp0    sg0      tty11  tty22  tty33  tty44  tty55  tty9     vcsa1  vcsu6
char/            initctl|      loop7    ptp1    sg1      tty12  tty23  tty34  tty45  tty56  ttyS0    vcsa2  vfio/
console          input/        mapper/  pts/    sg2      tty13  tty24  tty35  tty46  tty57  uinput   vcsa3  vga_arbiter
core@            kmsg          mcelog   random  shm/     tty14  tty25  tty36  tty47  tty58  urandom  vcsa4  vhci
cpu/             log=          md1      rtc@    snd/     tty15  tty26  tty37  tty48  tty59  vcs      vcsa5  vhost-net
cpu_dma_latency  loop-control  mem      rtc0    stderr@  tty16  tty27  tty38  tty49  tty6   vcs1     vcsa6  xconsole|
disk/            loop0         mouse@   sda     stdin@   tty17  tty28  tty39  tty5   tty60  vcs2     vcsu   zero
fb0              loop1         net/     sda1    stdout@  tty18  tty29  tty4   tty50  tty61  vcs3     vcsu1

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.