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

評論