2012年9月4日 星期二

VMWare: 使用 Host 的 Serial Port

要怎麼設定 VMware 讓 virtual machine 可以使用 host computer 的 serial port 呢?底下是設定的步驟,我用的是 Windows 系統,所以底下將以 Windows 的設定為例說明:

首先,先關閉 Virtual Machine,然後在 VMWare Player 選擇指定的 Virtual Machine 後 (例如 Ubuntu),按右鍵點擊 "Virtual Machine Settings…":

image

按下 Add 鈕:

image

選擇 "Serial Port",然後按下 Next 鈕:

image

選擇 "Use physical serial port on the host":

image

接著選擇 Physical Serial port (也就是實際存在的 Serial Port):

image

按下 "Finish" 關閉設定畫面,然後重新啟動 Virtual Machine 就可以了。

Serial Port 的對應關係

設定好後,那麼 Serial Port 會對應到 Linux  /dev/ 底下的哪個 device 呢?簡單說明一下:VMware 對 Serial Port Mapping 的處理方式是這樣,假如你有 COM1 和 COM2 兩個 Serial Port,那麼 COM1 會對應成 /dev/ttyS0,而 COM2 則是 /dev/ttyS1。假如你有 COM1 和 COM7 兩個 Serial Port (假設 COM7 是 USB to Serial port),那麼 COM1 一樣是 /dev/ttyS0,而 COM7 則會對應成 /dev/ttyS1。

Serial Port 測試

話說回來,我們用 Serial Port 要幹嘛?嗯...,你也許可以用 Serial Port 接 Modem,也許也可以用 Serial Port 接 Arduino 做一些監控的應用。假設你對 Arduino 有基本的了解,那麼可以照底下的方法測試 Serial Port 通不通:

1. 點選 VMware Player 選單的 "Removable Devices > Serial Port x > Disconnect" 先暫時停用 Virtual Machine 的 Serial Port:

2012-09-04_00h17_23

2. 上傳 File > Examples > 01.Basics > AnalogReadSerial 到 Arduino 板子上

3. 點選 VMware Player 選單的 "Removable Devices > Serial Port x > Connect" 啟用 Virtual Machine 的 Serial Port

4. 執行 sudo cat /dev/ttySx (x 是你的 Serial Port number)

如下圖所示,假如一切順利,就會看到 Arduino 傳過來的 Analog 讀值囉!

image 

參考資料

2012年9月3日 星期一

I2C 16x2 LCD 介紹

(本文同步發表於 OSSLab)

這是 I2C 16x2 LCD:

2012-09-02_23h47_48 dfrobot-i2c-twi-lcd1602-module-3-B

標準 LCD 需要比較多的腳位,I2C LCD 可以減少腳位的使用,而且接線也比較簡單。這個 I2C LCD 的特性如下:

  • 16x2 LCD,藍底白字,有背光
  • 走 I2C 介面,設備地址為 0x27
  • 可調整螢幕顯示對比
  • 5V 供電,相容於 Arduino
接線辦法

2012-09-02_23h45_01

參考上圖,接線方式為:

  • SDA – 接 Arduino 的 Analog Pin 4 (Arduino Mega 為 Pin 20)
  • SCL – 接 Arduino 的 Analog Pin 5 (Arduino Mega 為 Pin 21)
  • GND – 接 GND
  • VCC – 接 +5V
I2C LCD Library
範例程式

執行結果:

2012-09-02_23h44_23

參考資料

2012年9月2日 星期日

LCD Smartie for Arduino

這篇將說明如何用 Arduino 來製作一個 LCD Smartie 顯示設備。

什麼是 LCD Smartie?

LCD Smartie 是一個 Windows 的 open-source 軟體,可以用來在 LCD/VFD 上顯示 PC 的各種資訊。它可以顯示的資訊包括: CPU frequency, load 等, Winamp 狀態, 網路狀態 (傳輸速度, total bytes 等),磁碟可用及剩餘空間,記憶體使用情形,Email 狀態以及 BBC World news (或任何 RSS feed) 等等。

軟硬體設定步驟
  1. 連接 Arduino 及 LCD,標準 HD44780 的接法可參考這篇
  2. 上傳這個 Arduino Sketch 到 Arduino 板子上 (PS: 記得調整 LCD 腳位定義)
  3. 下載 LCD Smartie 應用程式

PS: 如果你用的是 I2C Serial LCD,請安裝 I2C 的 LiquidCrystalLCD library 並使用這個 Arduino Sketch

LCD Smartie 設定

打開 LCD Smartie 後,有幾個地方要先設定:

首先是 Display settings 的 Plugin:

  • Display Plugin: 選擇 matrix.dll
  • Startup Parameters: 設定所用的 COM Port 及 baud rate,例如 COM5,9600

image

接著切到 Screen 頁面,LCD size 請選擇 2x16:

image

完成之後,就可以開始設定要在 LCD 上顯示的資訊,如下圖所示,先在左手邊 Tab 中選擇資訊分類 (Winamp, Sysinfo, Internet 等),比如 Network Status,然後再從清單中挑選出要顯示的項目,並按下 Insert 鈕插入即可:

image

Screenshots

2012-09-02_17h35_24

image

2012-09-02_17h34_30

image

2012-09-02_17h35_03

image

2012-09-02_17h48_11

2012-09-02_17h48_40

參考資料