開發環境:
主機:Ubuntu12.04
開發板:RT5350
Openwrt:Openwrt15.05
1 添加 ser2net 應用程序
在上一章中,我們成功的讓驅動程序支持了串口 2,并且做了簡單的測試。接下來,我們就為串口 2 添加一個應用程序,從而實現 Wi-Fi 串口。實現過程非常簡單,首先進入 OpenWrt 系統源碼,然后運行 make menuconfig 命令進行配置。
make menuconfig
在彈出的配置菜單中,配置如下。
Network -- >
< * >ser2net
然后選中 ser2net 這個選項,如圖所示。
圖1
最后退出保存,再編譯。
make V=99
2 配置 Wi-Fi 串口
既然是 Wi-Fi 串口, 那么我們就可以理解為它由兩部分組成,一部分是網絡編程器的 TCP服務器,用于接收客戶端通過 Wi-Fi 傳來的數據;另一部分就是串口,用于將 TCP 服務器接收到的數據通過串口發送出去。
既然是 TCP 服務器,那么我們需要設置它的 IP 地址和端口號。既然是串口,那么我們需要設置它的波特率等參數。那么,這些參數,我們怎么來設置呢?通過修改 ser2net.conf 這個配置文件來實現,位于開發板上的/etc 目錄下。
將上面編譯出來的固件,重新燒寫到開發板上面,然后上電啟動,進入/etc 目錄。
cd /etc
vi ser2net.conf
我們打開 ser2net.conf 這個配置文件,再它的最下面,我們可以看到以下這些內容。
2001:raw:600:/dev/ttyS0:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
#2002:raw:600:/dev/ttyS1:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
2003:raw:5:/dev/ttyS2:9600
2004:raw:5:/dev/ttyS3:115200
2005:raw:5:/dev/ttyS4:9600
2006:raw:5:/dev/ttyS5:9600
2007:raw:5:/dev/ttyS6:9600 tw=tw1 tr=tr1
3001:telnet:0:/dev/ttyS0:19200 remctl banner1
3011:telnet:3:/dev/ttyS0:19200 banner2
#3002:telnet:0:/dev/ttyS1:9600
3003:telnet:0:/dev/ttyS2:9600 banner3
3003:telnet:0:/dev/ttyS2:9600 signature1
3004:telnet:0:/dev/ttyS3:115200
3005:telnet:0:/dev/ttyS4:9600
3006:telnet:0:/dev/ttyS5:9600 open1
3007:telnet:0:/dev/ttyS6:9600 close1
5001:rawlp:10:/dev/lp0
那么這些內容是什么意思呢?我們通過看 ser2net.conf 這個配置文件前面的說明注釋部分,可以知道,這些參數的格式如下:
# < TCP port >:< state >:< timeout >:< device >:< options >
< TCP port >:用于設置 TCP 服務器要監聽的端口號;
< state >:用于設置 TCP 服務器的狀態;
< timeout >:用于設置超時時間,如果設置為 0,表示不開啟超時時間;
< device >:用于選擇使用哪個串口設備;
< options >:用于設置波特率、校驗位等參數。
更多詳細的介紹,就請大家看 ser2net.conf 這個配置文件前面的說明注釋部分。那么,如果我想讓我們的 Wi-Fi 串口實現監聽 8002 這個端口,然后通過串口 2 輸出, 波特率是 115200,應該怎么做呢?
如果我們看懂了前面的內容, 就發現, 要實現這個功能非常簡單, 只需要在 ser2net.conf這個配置中的最后面添加一行以下內容即可。
8002:raw:0:/dev/ttyS0:115200
最后保存退出,然后重啟開發板,即可。
3 測試 Wi-Fi 串口
通過前面的那么多的努力,我們終于把 Wi-Fi 串口這個系統給做好了,接下來我們就來測試它。
1)將開發板的串口2 和電腦的串口連接起來,設置好相應的串口(波特率是115200)。
圖2
2)啟動開發。
3)啟動 ser2net 軟件,只需要在調試串口測,輸入如下命令即可
ser2net
4)手機連接上開發板發出的 WiFi 信號RT5350_ap。
5)啟動“網絡調試助手”軟件。
6)選擇 tcp client。
圖3
7)點添“加按”按鈕。然后在彈出的對話框中填入開發板的 IP 地址,還有就是 Wi-Fi 串口的端口號 8002.
圖4
8)接下來,我們的手機就可以通過 Wi-Fi 串口和電腦進行傳數據了。
4 開機自啟動 Wi-Fi 串口
我們的最終目的,肯定是要做出一個產品來,而產品,不可能還要用戶通過調試串口來輸入命令,從而才能啟動 Wi-Fi 串口。
那么,接下來,我們就來實現開機自啟動 Wi-Fi 串口。
首先打開開發板上的/etc 目錄下的 rc.local 這個文件。
vi /etc/rc.local
然后在 exit0 前面加入一條 ser2net,詳情如下。
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
ser2net
exit 0
最后保存退出,重啟開發板,然后我們通過 ps 命令查看一下,發現 ser2net 已經啟動好了。
這樣,我們的 Wi-Fi 串口就這樣做好了。
注意:發現好多人調試不通,原因大概有以下三個問題:
短路帽位置不對;
波特率設置不對,顯示亂碼或無輸出;
手機建立 tcp 客戶端顯示連接失敗,一般是端口號不對,請用 ps 查下正確的端口號再連接。還有一種就是 ser2net 沒有啟動,最好再做一次此實驗,也可以用我們里面提供的“openwrt.bin” 固件測試。
審核編輯:湯梓紅
-
wi-fi
+關注
關注
14文章
2252瀏覽量
126786 -
串口
+關注
關注
15文章
1587瀏覽量
79702 -
開發板
+關注
關注
25文章
5644瀏覽量
103893 -
OpenWrt
+關注
關注
10文章
131瀏覽量
40157
發布評論請先 登錄
Openwrt開發指南 第1章 OpenWrt入門
Openwrt開發指南 第2章 OpenWrt開發環境搭建
Openwrt開發指南 第3章 OpenWrt下載及配置
Openwrt開發指南 第4章 燒寫OpenWrt固件
Openwrt開發指南 第7章 添加Web界面
Openwrt開發指南 第12章 添加OpenWrt軟件包
Openwrt開發指南 第13章 OpenWrt啟動流程
Openwrt開發指南 第17章 驅動開發之字符設備驅動程序
Openwrt開發指南 第29章 OpenWrt 防火墻介紹

RT5350 Wi-Fi 模塊開發指導_物聯網 openwrt 開發概述
openwrt都有什么功能_openwrt詳細功能介紹_openwrt刷機教程

評論