2012年9月4日 星期二

LCDproc for Arduino

LCDproc 簡介

image

可以這麼說,LCDproc 相當於是 Linux 版的 LCD Smartie,它也是 open source 的軟體,可以用來在 LCD 上顯示 Linux/BSD 的系統資訊,比如 CPU load, system load, 記憶使用狀況, uptime 等等資訊。這篇將介紹如何在 Ubuntu 上安裝 LCDproc 並使用 Arduino 來製作一個 LCDproc 顯示設備。

Arduino 軟硬體設定
  1. 連接 Arduino 及 LCD,如果你用的跟我一樣是 I2C LCD,請安裝 I2C 的 LiquidCrystalLCD library,線路接法可參考這篇。(標準 HD44780 的接法可參考這篇,至於程式碼呢…,嗯,就留給你當作業了)。
  2. 把底下這個 Arduino Sketch 上傳到 Arduino 板子上:

安裝套件

在 Ubuntu 上,只要下個指令就可以安裝 lcdproc:

sudo apt-get install lcdproc

設定 /etc/LCDd.confg

接著編輯 /etc/LCDd.config,準備設定 LCD 的一些參數以及 Arduino 連接的 Serial Port (本例使用 /dev/USB0):

sudo vi /etc/LCDd.conf

首先把 Driver 設定成 hd44780(可以用 /Driver 尋找):

然後切到 [hd44780] 的區塊設定 LCD 的參數(可以用 /hd44780 尋找):

要設定的主要是 ConnectionType, Device, Speed 和 Size 這幾個參數,其中 ConnectionType 必須設定成 lcdserializer, Device 要設定成你 Arduino 所用的 Serial Port,Speed 要設成 9600,而 Size 則設成根據你 LCD 的種類設定,例如 16x2。

啟動 lcdproc

設定好 /etc/LCDd.conf 後,現在便可以啟動 lcdproc 了:

sudo /etc/init.d/LCDd start            # 或 restart

然後 LCD 上應該會顯示類似下圖的資訊:

2012-09-04_20h24_04

跟著下 lcdproc 指令執行 client 程式以顯示 CPU load, system load, 記憶使用狀況等資訊:

sudo lcdproc

示範影片:

你可能會有個疑問:「我可以決定 LCD 上要顯示的資訊嗎?」,答案是可以的。設定檔是  /etc/lcdproc.conf 這個檔案,底下截錄一段 /etc/lcdproc.conf 的內容,這段內容主要是設定 CPU 和 Ethernet 的資訊,假如你希望打開某個資訊,就把 Active 設成 True,不然就設成 false,這樣就行了:

參考資料

0 意見: