请选择 进入手机版 | 继续访问电脑版

GODIY 自己动手亲力亲为的DIY社区一起来吧--GODIY论坛

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 11693|回复: 22

POGOPLUG硬件改造:安装LCD

[复制链接]
发表于 2013-6-16 14:21:51 | 显示全部楼层 |阅读模式
本帖最后由 3MD 于 2013-6-16 14:47 编辑

安装LCD4LINUX,显示开机运行时间、系统负载、磁盘读写状态、网络负载
DSCN7304.JPG DSCN7303.JPG
DSCN7300.JPG
DSCN7293.JPG
DSCN7292.JPG
视频请见:http://v.youku.com/v_show/id_XNTcxNDc0MzMy.html
发表于 2013-6-16 14:36:06 | 显示全部楼层
从串口接收数据吗?
 楼主| 发表于 2013-6-16 14:37:56 | 显示全部楼层
配置文件:/etc/lcd4linux.conf

  1. #  $Id: usbhub.conf 730 2007-01-14 13:50:28Z michael $
  2. #  $URL: https://ssl.bulix.org/svn/lcd4linux/trunk/usbhub.conf $

  3. Variables {
  4.    tick 50
  5.    netstep 0.5
  6.    diskstep 1.5
  7. }



  8. Display HD44780-20x4 {
  9.     Driver  'LCD2USB'
  10.     Model   'generic'
  11.     UseBusy  1
  12.     Port    '/dev/parport0'
  13.     Size    '20x4'
  14.     Wire {
  15.         RW      'AUTOFD'
  16.         RS      'INIT'
  17.         ENABLE  'STROBE'
  18.         ENABLE2 'GND'
  19.         GPO     'GND'
  20.     }
  21. }


  22. Widget OS {
  23.     class 'Text'
  24.     expression '*** '.uname('sysname').' '.uname('release').' ***'
  25.     width 20
  26.     align 'M'
  27.     style 'bold'
  28.     speed 200
  29.     update tick
  30. }

  31. Widget CPU {
  32.     class  'Text'
  33.     expression  uname('machine')
  34.     prefix 'CPU '
  35.     width  9
  36.     align  'L'
  37.     style test::onoff(7)>0?'bold':'norm'
  38.     update tick
  39. }


  40. Widget CPUinfo {
  41.     class  'Text'
  42.     expression  cpuinfo('model name')
  43.     prefix ''
  44.     width  20
  45.     align  'M'
  46.     speed 100       
  47.     update tick
  48. }


  49. Widget RAM {
  50.     class  'Text'
  51.     expression meminfo('MemTotal')/1024
  52.     postfix ' MB RAM'       
  53.     width  11
  54.     precision 0
  55.     align  'R'
  56.     update tick
  57. }


  58. Widget Busy {
  59.     class 'Text'
  60.     expression proc_stat::cpu('busy', 500)
  61.     prefix 'Busy'       
  62.     postfix '%'       
  63.     width 9       
  64.     precision 1
  65.     align 'R'       
  66.     update tick       
  67. }       

  68. Widget BusyBar {
  69.     class 'Bar'
  70.     expression  proc_stat::cpu('busy',   500)
  71.     expression2 proc_stat::cpu('system', 500)
  72.     length 10       
  73.     direction 'E'
  74.     update tack
  75. }

  76. Widget Load {
  77.     class 'Text'
  78.     expression loadavg(1)
  79.     prefix 'Load'
  80.     postfix loadavg(1)>1.0?'!':' '
  81.     width 10
  82.     precision 1
  83.     align 'R'
  84.     update tick
  85. }

  86. Widget LoadBar {
  87.     class 'Bar'
  88.     expression  loadavg(1)
  89.     max 2.0
  90.     length 10       
  91.     direction 'E'
  92.     update tack
  93. }


  94. Widget Disk {
  95.     class 'Text'
  96.     # disk.[rw]blk return blocks, we assume a blocksize of 512
  97.     # to get the number in kB/s we would do blk*512/1024, which is blk/2
  98.     # expression (proc_stat::disk('.*', 'rblk', 500)+proc_stat::disk('.*', 'wblk', 500))/2
  99.     # with kernel 2.6, disk_io disappeared from /proc/stat but moved to /proc/diskstat
  100.     # therefore you have to use another function called 'diskstats':
  101.     expression diskstats('sda.', 'read_sectors', 500) + diskstats('sda.', 'write_sectors', 500)
  102.     prefix 'disk'
  103.     postfix ' '
  104.     width 10       
  105.     precision 0
  106.     align 'R'       
  107.     update tick       
  108. }       

  109. Widget DiskBar {
  110.     class 'Bar'
  111.     #expression  proc_stat::disk('.*', 'rblk', 500)
  112.     #expression2 proc_stat::disk('.*', 'wblk', 500)
  113.     # for kernel 2.6:
  114.     expression  diskstats('sda.', 'read_sectors',  500)
  115.     expression2 diskstats('sda.', 'write_sectors', 500)
  116.     length 10       
  117.     direction 'E'
  118.     update tack
  119. }

  120. Widget Eth0 {
  121.     class 'Text'
  122.     expression (netdev('eth0', 'Rx_bytes', 500)+netdev('eth0', 'Tx_bytes', 500))/1024
  123.     prefix 'NET'
  124.     postfix ' '
  125.     width 10       
  126.     precision 0
  127.     align 'R'       
  128.     update tick       
  129. }       

  130. Widget Eth0Bar {
  131.     class 'Bar'
  132.     expression  netdev('eth0', 'Rx_bytes', 500)
  133.     expression2 netdev('eth0', 'Tx_bytes', 500)
  134.     length 14       
  135.     direction 'E'
  136.     update tack
  137. }

  138. Widget Temp {
  139.     class 'Text'
  140.     expression i2c_sensors('temp3_input')*1.0324-67
  141.     prefix 'Temp'
  142.     width 9
  143.     precision 1
  144.     align 'R'
  145.     update tick
  146. }

  147. Widget TempBar {
  148.     class 'Bar'
  149.     expression  i2c_sensors('temp3_input')*1.0324-67
  150.     min 40
  151.     max 80
  152.     length 10
  153.     direction 'E'
  154.     update tack
  155. }

  156. Widget Uptime {
  157.     class 'Text'
  158.     expression uptime('%d days %H:%M:%S')
  159.     width 20
  160.     align 'R'
  161.     prefix 'Up '
  162.     update 1000
  163. }


  164. Widget Heart {
  165.     class 'Icon'
  166.     speed 250
  167.     Bitmap {
  168.         Row1 '.....|.....|.....|.....|.....|.....'
  169.         Row2 '.*.*.|.....|.*.*.|.....|.....|.....'
  170.         Row3 '*****|.*.*.|*****|.*.*.|.*.*.|.*.*.'
  171.         Row4 '*****|.***.|*****|.***.|.***.|.***.'
  172.         Row5 '.***.|.***.|.***.|.***.|.***.|.***.'
  173.         Row6 '.***.|..*..|.***.|..*..|..*..|..*..'
  174.         Row7 '..*..|.....|..*..|.....|.....|.....'
  175.         Row8 '.....|.....|.....|.....|.....|.....'
  176.     }
  177. }

  178. Widget ImageTest {
  179.     class 'Image'
  180.     file 'tux.png'
  181.     update 1000
  182.     visible 1
  183.     inverted 0
  184. }

  185. Layout TestLayer {
  186.      Row1 {
  187.         Col1  'Uptime'
  188. #        Col10 'DiskBar'
  189.     }
  190.      Row2 {
  191.         Col1  'Busy'
  192.         Col10 'Heart'
  193.         Col11 'BusyBar'
  194.     }
  195.      Row3 {
  196.         Col1 'Disk'
  197.         Col11 'DiskBar'
  198.     }
  199.     Row4 {
  200.         Col1  'Eth0'
  201.         Col11 'Eth0Bar'
  202.     }
  203.     Layer 2 {
  204.         X1.Y1 'ImageTest'
  205.     }
  206. }

  207. Display 'HD44780-20x4'
  208. Layout 'TestLayer'
  209. #Layout  'NetAndHDD'
复制代码


加入启动:/etc/init.d/rcS
  1. sleep 10
  2. /opt/bin/lcd4linux -F
复制代码
 楼主| 发表于 2013-6-16 14:39:01 | 显示全部楼层
回复 2# s3ce738


   使用USB接口
发表于 2013-6-16 14:40:42 | 显示全部楼层
支持一下。。不过lcd的价格可以买一个pogoplug了。
发表于 2013-6-16 14:41:16 | 显示全部楼层
绑定了,记得在数位天堂有一个也是加装lcd的。和你的帖子差不多~
 楼主| 发表于 2013-6-16 14:48:48 | 显示全部楼层
LCD2USB模块手头现成的。
如果想深入改造POGOPLUG,这个权当是个建议了
发表于 2013-6-16 17:38:04 | 显示全部楼层
回复 8# olderzeus


    这个相当恶毒啊……有没有能从TTL输出接LCD的?
 楼主| 发表于 2013-6-16 19:58:00 | 显示全部楼层
TTL&USB一样的,我手头没TFT,只能折腾LCD了
发表于 2013-6-16 21:32:31 | 显示全部楼层
回复 10# 3MD


    TTL和USB一样接法??
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|GODIY论坛 ( 粤ICP备12089271号

GMT+8, 2018-8-19 12:20 , Processed in 0.122600 second(s), 8 queries , File On.

Powered by Godiy.net

快速回复 返回顶部 返回列表