2013年7月19日 星期五

ser2net for OpenWrt

ser2net 可以把 Serial port 的通訊轉成 TCP Socket 的通訊。大部份的 Arduino 都是用 USB 介面接到筆電、Raspberry Pi 或是 OpenWrt,只能走 Serial 通訊,底下說明如何用 ser2net 把 Arduino 的 Serial 通訊轉成 TCP Socket 通訊:

1. 上傳 [File > Examples > 01. Basics > AnalogReadSerial] 到 Arduino 板子上,我們將用這支程式示範:

image

2) 登入到你的 OpenWrt,以底下指令安裝 ser2net (若使用 Raspberry Pi 等 Debian Linux,請用 apt-get 安裝):

opkg update
opkg install ser2net

image

3) 以指令 vi /etc/ser2net.conf 編輯設定檔,設定 Arduino 所在的 serial port 與 baud rate:

2001:raw:600:/dev/ttyACM0:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL –RTSCTS

此例 Arduino 接在 /dev/ttyACM0,baud rate 是 9600。

接著輸入底下指令啟動 ser2net:

ser2net

執行後,ser2net 會把 Arduino 的通訊轉成網路 port 2001。

4) 用 Putty 或 Telnet 工具連入 OpenWrt:

image

其中:

  • IP Address 是你 OpenWrt 或 Raspberry Pi 的網路位址
  • Port 要與 ser2net 的設定一樣,此例為 2001
  • Connection type 要選擇 Telnet

最後按下 [Open] 連線,在 Putty 視窗上就會看到 Arduino 模擬輸入 (Analog Input) 的讀值囉:

image

0 意見: