2011年3月4日 星期五

序列伺服器 TinkerProxy 簡介

什麼是 Tinkerproxy?

TinkerProxy 是一支基於 serproxy 可以把序列通訊轉接成網路通訊(Redirecting network socket connects to/from serial ports)的程式。相較於 serproxy,TinkerProxy 解決了 serproxy 無法在 Mac OSX 10.6 執行的問題。TinkerProxy 的組態設定檔(Configuration File)跟 serproxy.cfg 是完全相容的。

我假設你已經認識 serproxy,如果你不知道,在繼續往下讀之前,請先看「序列伺服器 serproxy 介紹」這篇。

哪裏可以取得 TinkerProxy?

TinkerProxy 可以在它的官網下載:

http://code.google.com/p/tinkerit/wiki/TinkerProxy

軟體不需要安裝,下載後解開壓縮檔即可:

image

壓縮檔裏總共有三個檔案:

  1. serproxy.cfg: 組態設定檔
  2. serproxy.exe: Windows 執行檔
  3. serproxy.osx: Mac 執行檔
TinkerProxy 的組態設定(serproxy.cfg)

TinkerProxy 的使用方法跟 serproxy 是一樣的。首先,你必須根據你的環境調整 serproxy.cfg 的設定,然後再執行 TinkerProxy.exe 以啟動服務。關於 serproxy.cfg 組態設定檔的設定方法,請參考「序列伺服器 serproxy 介紹」一文。

有一件事要注意,如果你使用 Flash 的話,要特別留意 serproxy.cfg 底下這行的設定:

這行指示 TinkerProxy 把從 Serial port 進來的換行符號換成一個值為 0 的位元組。這對 ActionScript 來說非常重要,因為用來建立網路通訊的 XMLSocket 類別只能處理以零(0)位元組結尾的文件。所以如果你用的是 Flash ActionScript 和 XMLSocket,記得把 newlines_to_niles 設成 true。

TinkerProxy Configurator

你也可以用 TinkerProxy Configurator 來產生 serproxy.cfg 組態設定檔。TinkerProxy Configurator 是圖形介面的程式,如果是簡單的組態設定,用 TinkerProxy Configuration 來產生 serproxy.cfg 會比較方便。TinkerProxy Configurator 一樣可以在 TinkerProxy 官網取得:

http://tinkerit.googlecode.com/files/TPConfig.zip

TinkerProxy Configurator 的軟體介面如下:

image

舉個例子,假設你有一塊 Arduino 板子,接在電腦的 COM4 上,你想把它開在 5331 這個 port 上,Arduino 程式的 Serial Port 通訊速率(baud rate)為 57600 bps,你不打算用 Flash ActionScript,所以不用勾選「Convert newline to null(ActionScript 2)」。照著上圖,你把參數輸入 TinkerProxy Configurator 並按下 Generate 按鈕後,就會產生底下這個 serproxy.cfg 檔:

啟動 TinkerProxy

當你準備好 serproxy.cfg 後,就可以雙擊 serproxy.exe 啟動服務:

image 

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

image 

延伸閱讀

0 意見: