第九章openwrt 703N 網口轉串列埠+串列埠轉網口TTL 資料傳輸

XIANFANG發表於2014-04-24

原生串列埠     

1、WR703N 自帶 TTL 電平串列埠,裝置檔案為/dev/ttyATH0, 波特率 115200。但是硬體串列埠 沒有接出來,需要自己焊線、破殼。

圖 1. 正面圖。兩根線 TP_IN(RX), TP_OUT(TX),還有兩根電源線在背面

如圖所示,把電源線和上面的兩條串列埠線接出來,使用超級終端連線上後登陸了路由使用

Opkg update

Opkg ser2net

這樣安裝好軟體工具了

2、WR703n 本身是網路裝置,具有把現場的串列埠資料通過網路傳送的硬體能力。不過不需 要我們自己開發 linux 下得軟體,已經有開源軟體包 ser2net來實現網口和串列埠的雙向資料 傳輸了。 Ser2net 會建立一個 TCP 伺服器,偵聽某個指定的埠,把接收的資料轉發給串列埠, 同時把串列埠資料傳送給連線的客戶端。

 

Ser2net 的命令引數在配置檔案"/etc/ser2net.conf"中,啟動時會自動呼叫。命令引數基 本用法為:<TCP port>:<state>:<timeout>:<device>:<options>。

例:14001:raw:600:/dev/ttyATH0:115200 8DATABITS NONE 1STOPBIT -RTSCTS -XONXOFF LOCAL

 14001 為 TCP 埠號;

 raw 為原始資料直接傳送;

 600 秒指網路連線建立的時間。超過這個時間後沒有資料傳輸,則斷開與客戶端的 網路連線。0 代表始終保持連線。

 /dev/ttyATH0 是串列埠裝置;

 115200 8DATABITS NONE 1STOPBIT -RTSCTS -XONXOFF LOCAL 指波特率 115200,8 個資料位,沒有校驗,1 個停止位,"-RTSCTS -XONXOFF"是關閉流控, "LOCAL"不監視 modem 線。 最後,Ser2net 能夠實現雙向資料傳輸。剛安裝完畢以後,網口向串列埠傳資料沒問題,

3、但是串列埠轉網口會出錯,原因是系統程式呼叫了串列埠裝置,把相關內容刪除即可。Vi 編輯 "/etc/inittab"檔案,刪除裡面對"/dev/ttyATH0"的使用即可。重啟路由器後生效。下面是 雙向傳輸的測試:

圖 6. 建立 TCP 客戶端連線路由器。

經網口向串列埠傳送"hello",接收到網口轉發的串列埠資料"Hi" 。

圖 7 向串列埠傳送資料。

傳送資料"Hi",接收到網口向串列埠轉發的"hello".

感謝原文:摘自專題--W703N的應用與開發------仲志丹

相關文章