開發(fā)環(huán)境:
主機:Ubuntu12.04
開發(fā)板:RT5350
Openwrt:Openwrt15.05
1 添加 ser2net 應(yīng)用程序
在上一章中,我們成功的讓驅(qū)動程序支持了串口 2,并且做了簡單的測試。接下來,我們就為串口 2 添加一個應(yīng)用程序,從而實現(xiàn) Wi-Fi 串口。實現(xiàn)過程非常簡單,首先進(jìn)入 OpenWrt 系統(tǒng)源碼,然后運行 make menuconfig 命令進(jìn)行配置。
make menuconfig
在彈出的配置菜單中,配置如下。
Network -- >
< * >ser2net
然后選中 ser2net 這個選項,如圖所示。
圖1
最后退出保存,再編譯。
make V=99
2 配置 Wi-Fi 串口
既然是 Wi-Fi 串口, 那么我們就可以理解為它由兩部分組成,一部分是網(wǎng)絡(luò)編程器的 TCP服務(wù)器,用于接收客戶端通過 Wi-Fi 傳來的數(shù)據(jù);另一部分就是串口,用于將 TCP 服務(wù)器接收到的數(shù)據(jù)通過串口發(fā)送出去。
既然是 TCP 服務(wù)器,那么我們需要設(shè)置它的 IP 地址和端口號。既然是串口,那么我們需要設(shè)置它的波特率等參數(shù)。那么,這些參數(shù),我們怎么來設(shè)置呢?通過修改 ser2net.conf 這個配置文件來實現(xiàn),位于開發(fā)板上的/etc 目錄下。
將上面編譯出來的固件,重新燒寫到開發(fā)板上面,然后上電啟動,進(jìn)入/etc 目錄。
cd /etc
vi ser2net.conf
我們打開 ser2net.conf 這個配置文件,再它的最下面,我們可以看到以下這些內(nèi)容。
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
那么這些內(nèi)容是什么意思呢?我們通過看 ser2net.conf 這個配置文件前面的說明注釋部分,可以知道,這些參數(shù)的格式如下:
# < TCP port >:< state >:< timeout >:< device >:< options >
< TCP port >:用于設(shè)置 TCP 服務(wù)器要監(jiān)聽的端口號;
< state >:用于設(shè)置 TCP 服務(wù)器的狀態(tài);
< timeout >:用于設(shè)置超時時間,如果設(shè)置為 0,表示不開啟超時時間;
< device >:用于選擇使用哪個串口設(shè)備;
< options >:用于設(shè)置波特率、校驗位等參數(shù)。
更多詳細(xì)的介紹,就請大家看 ser2net.conf 這個配置文件前面的說明注釋部分。那么,如果我想讓我們的 Wi-Fi 串口實現(xiàn)監(jiān)聽 8002 這個端口,然后通過串口 2 輸出, 波特率是 115200,應(yīng)該怎么做呢?
如果我們看懂了前面的內(nèi)容, 就發(fā)現(xiàn), 要實現(xiàn)這個功能非常簡單, 只需要在 ser2net.conf這個配置中的最后面添加一行以下內(nèi)容即可。
8002:raw:0:/dev/ttyS0:115200
最后保存退出,然后重啟開發(fā)板,即可。
3 測試 Wi-Fi 串口
通過前面的那么多的努力,我們終于把 Wi-Fi 串口這個系統(tǒng)給做好了,接下來我們就來測試它。
1)將開發(fā)板的串口2 和電腦的串口連接起來,設(shè)置好相應(yīng)的串口(波特率是115200)。
圖2
2)啟動開發(fā)。
3)啟動 ser2net 軟件,只需要在調(diào)試串口測,輸入如下命令即可
ser2net
4)手機連接上開發(fā)板發(fā)出的 WiFi 信號RT5350_ap。
5)啟動“網(wǎng)絡(luò)調(diào)試助手”軟件。
6)選擇 tcp client。
圖3
7)點添“加按”按鈕。然后在彈出的對話框中填入開發(fā)板的 IP 地址,還有就是 Wi-Fi 串口的端口號 8002.
圖4
8)接下來,我們的手機就可以通過 Wi-Fi 串口和電腦進(jìn)行傳數(shù)據(jù)了。
4 開機自啟動 Wi-Fi 串口
我們的最終目的,肯定是要做出一個產(chǎn)品來,而產(chǎn)品,不可能還要用戶通過調(diào)試串口來輸入命令,從而才能啟動 Wi-Fi 串口。
那么,接下來,我們就來實現(xiàn)開機自啟動 Wi-Fi 串口。
首先打開開發(fā)板上的/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
最后保存退出,重啟開發(fā)板,然后我們通過 ps 命令查看一下,發(fā)現(xiàn) ser2net 已經(jīng)啟動好了。
這樣,我們的 Wi-Fi 串口就這樣做好了。
注意:發(fā)現(xiàn)好多人調(diào)試不通,原因大概有以下三個問題:
短路帽位置不對;
波特率設(shè)置不對,顯示亂碼或無輸出;
手機建立 tcp 客戶端顯示連接失敗,一般是端口號不對,請用 ps 查下正確的端口號再連接。還有一種就是 ser2net 沒有啟動,最好再做一次此實驗,也可以用我們里面提供的“openwrt.bin” 固件測試。
審核編輯:湯梓紅
-
wi-fi
+關(guān)注
關(guān)注
14文章
2169瀏覽量
124993 -
串口
+關(guān)注
關(guān)注
14文章
1557瀏覽量
77033 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5121瀏覽量
98179 -
OpenWrt
+關(guān)注
關(guān)注
10文章
130瀏覽量
39447
發(fā)布評論請先 登錄
相關(guān)推薦
Openwrt開發(fā)指南 第1章 OpenWrt入門
Openwrt開發(fā)指南 第2章 OpenWrt開發(fā)環(huán)境搭建
Openwrt開發(fā)指南 第3章 OpenWrt下載及配置
Openwrt開發(fā)指南 第4章 燒寫OpenWrt固件
Openwrt開發(fā)指南 第7章 添加Web界面
Openwrt開發(fā)指南 第12章 添加OpenWrt軟件包
Openwrt開發(fā)指南 第13章 OpenWrt啟動流程
Openwrt開發(fā)指南 第17章 驅(qū)動開發(fā)之字符設(shè)備驅(qū)動程序
Openwrt開發(fā)指南 第21章 OpenWrt串口的使用1
Openwrt開發(fā)指南 第29章 OpenWrt 防火墻介紹

RT5350 Wi-Fi 模塊開發(fā)指導(dǎo)_物聯(lián)網(wǎng) openwrt 開發(fā)概述
openwrt都有什么功能_openwrt詳細(xì)功能介紹_openwrt刷機教程

評論