2011年3月7日 星期一

Flash 程式 ArduinoMonitor 一步一步教學(2)

這是這系列的第二篇。

這篇教學將一步一步 (step by step) 教你在電腦上把 ArduinoMonitor 這支 Flash 程式跑起來。

所需軟體
必備知識

讓我們先同步一下。我假設你對 Arduino 有一些基本的了解,而且也已經把 Arduino IDE 裝起來並玩過一些簡單的範例程式。假如你還沒接觸過 Arduino,建議你先閱讀底下的資料,這會比較容易讓你了解這篇教學在說什麼:

情境說明

底下是範例情境的示意圖:

image_thumb[8]我們把 Arduino 接在電腦的 COM4 上,我們會在電腦上跑一支 serproxy 程式,serproxy 會負責把 COM4 序列通訊轉接成網路通訊把 Arduino 開在 5331 這個 port 上,而 ArduinoMonitor 這支 Flash 程式便透過 port 5331 來與 Arduino 通訊。其中:

  1. Arduino 會跑一支 Firmata 程式。Firmata 是一個通訊協定,它可以讓你的 Arduino 跟外部的軟體 (例如 Flash 或 Processing) 用同一套語言對話。
  2. ArduinoMonitor 透過 port 5331 與 Arduino 通訊。ArduinoMonitor 內部使用 as3glue 函式庫跟 Arduino 對話,as3glue 是 Flash 的函式庫,它講的是 Firmata 協定。
執行步驟

1) 首先,打開 Arduino IDE,點選 File > Examples > Firmata > StandardFirmata 並將程式上傳到 Arduino 板子上:

image
▲ Arduino IDE

2) 下載ArduinoMonitor 軟體包裹並解壓縮。以 v1.6 版來說,其資料夾結構如下:

image
▲ ArduinoMonitor 資料夾結構

image
▲ monitor 資料夾

其中,monitor 子資料夾中的 as3glue_standalone_monitor.exe 就是本文所謂的 ArduinoMonitor:

image
▲ serproxy 資料夾

serproxy 子資料夾中有三個檔案:

  1. serproxy.cfg: 組態設定檔
  2. serproxy.exe: Windows 執行檔
  3. serproxy: Mac 執行檔

接著下載 TinkerProxy Configurator 並解壓縮,壓縮檔裏只有一個 TPConfig.exe 檔案,執行 TPConfig.exe 並照下圖輸入參數:

  • Serial Port: 選擇 COM4 (假如你用的是別的 Serial Port,請依你的環境調整設定)
  • Network port: 輸入 5331
  • Speed: 輸入 57600

image 

按下 Generate 按鈕後,就會產生底下這個 serproxy.cfg 檔,請把它放到前述的 serproxy 資料夾,覆蓋掉原本的 serproxy.cfg。

然後執行 serproxy 資料夾的 serproxy.exe 啟動序列通訊轉網路通訊的服務。

image 

跑 serproxy.exe 的時候,Windows 可能會跳出上面的安全性警示視窗,儘管按下「解除封鎖」鈕,然後就會看到底下這個視窗,這代表 serproxy 已經啟動了:

image

3) 最後,執行 monitor 資料夾的 as3glue_standalone_monitor.exe 啟動 ArduiniMonitor。如果一切順利的話,你就會看到 ArduinoMonitor 的執行畫面,就像下圖一樣:

image

就這樣。

延伸閱讀

4 意見:

不阿 提到...

來推一下~整理得很好啊~有空我也要試一下!

coopermaa 提到...

Thanks.

試試看,超簡單的。

張欽棠 提到...

TinkerProxy Configurator
似乎在win7下不能運作說.......

我後來是直接用記事本開 serproxy.cfg來編輯

反正也短短的 不會說看不懂:)

coopermaa 提到...

在 win7 上跑 TinkerProxy Configurator 有遇到什麼錯誤訊息嗎?

也對,其實 serproxy.cfg 裏面的設定寫法不難,會寫的話,直接寫也可以。