<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Openwrt開發指南 第22章 Openwrt串口的使用2

嵌入式大雜燴 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2023-07-05 09:09 ? 次閱讀

開發環境:

主機:Ubuntu12.04

開發板:RT5350

Openwrt:Openwrt15.05

1 添加 ser2net 應用程序

在上一章中,我們成功的讓驅動程序支持了串口 2,并且做了簡單的測試。接下來,我們就為串口 2 添加一個應用程序,從而實現 Wi-Fi 串口。實現過程非常簡單,首先進入 OpenWrt 系統源碼,然后運行 make menuconfig 命令進行配置。

make menuconfig

在彈出的配置菜單中,配置如下。

Network -- >
	< * >ser2net

然后選中 ser2net 這個選項,如圖所示。

1688484052474dejqo6ydyq

圖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)。

1688484053020wsii1skpen

圖2

2)啟動開發。

3)啟動 ser2net 軟件,只需要在調試串口測,輸入如下命令即可

ser2net

4)手機連接上開發板發出的 WiFi 信號RT5350_ap。

5)啟動“網絡調試助手”軟件。

6)選擇 tcp client。

16884840533293b1sj3x0pu

圖3

7)點添“加按”按鈕。然后在彈出的對話框中填入開發板的 IP 地址,還有就是 Wi-Fi 串口的端口號 8002.

16884840536802ptdu1pz19

圖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 已經啟動好了。

1688484054072a3wcu678vr

這樣,我們的 Wi-Fi 串口就這樣做好了。

注意:發現好多人調試不通,原因大概有以下三個問題:

短路帽位置不對;

波特率設置不對,顯示亂碼或無輸出;

手機建立 tcp 客戶端顯示連接失敗,一般是端口號不對,請用 ps 查下正確的端口號再連接。還有一種就是 ser2net 沒有啟動,最好再做一次此實驗,也可以用我們里面提供的“openwrt.bin” 固件測試。
審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • wi-fi
    +關注

    關注

    14

    文章

    1986

    瀏覽量

    122904
  • 串口
    +關注

    關注

    14

    文章

    1492

    瀏覽量

    74580
  • 開發板
    +關注

    關注

    25

    文章

    4506

    瀏覽量

    94458
  • OpenWrt
    +關注

    關注

    10

    文章

    118

    瀏覽量

    38935
收藏 人收藏

    評論

    相關推薦

    Openwrt開發指南 第25章 配置OpenWrt支持網絡攝像頭

    Openwrt開發指南 第25章 配置OpenWrt支持網絡攝像頭
    的頭像 發表于 07-13 08:56 ?1622次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發指南</b> 第25章 配置<b class='flag-5'>OpenWrt</b>支持網絡攝像頭

    Openwrt開發指南 第1章 OpenWrt入門

    如果要學習openwrt的話,買些列表中二手的路由器來實踐下更容易學習,大部分要升級一下rom芯片和內存芯片,典型配置都是4M、64M。
    的頭像 發表于 06-27 09:09 ?3442次閱讀

    Openwrt開發指南 第2章 OpenWrt開發環境搭建

    開發PC機上的軟件時,可以直接在PC機上編輯、編譯、調試軟件,最終發布的軟件也是在PC機上運行。對于物聯網OpenWrt開發,最初的嵌入式設備是一個空白的系統,需要通過主機為它構建基本的軟件系統
    的頭像 發表于 06-27 09:09 ?4634次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發指南</b> 第2章 <b class='flag-5'>OpenWrt</b><b class='flag-5'>開發</b>環境搭建

    Openwrt開發指南 第3章 OpenWrt下載及配置

    編譯OpenWrt首先需要下載源碼,OpenWrt的源碼是通過git下載,OpenWrt目前已經很好的支持了MT7620、MT7821等芯片,因此OpenWrt系統完全可以用于MT76
    的頭像 發表于 06-27 09:10 ?4044次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發指南</b> 第3章 <b class='flag-5'>OpenWrt</b>下載及配置

    Openwrt開發指南 第4章 燒寫OpenWrt固件

    對于一個完整的嵌入式系統,它由U-boot、內核(Linux)、文件系統、應用程序四部分組成。那么這四部分之間的關系是怎么樣的呢?OpenWrt是屬于哪部分呢?
    的頭像 發表于 06-27 09:11 ?3613次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發指南</b> 第4章 燒寫<b class='flag-5'>OpenWrt</b>固件

    Openwrt開發指南 第7章 添加Web界面

    LuCI作為“FFLuCI”誕生于2008年3月份,目的是為OpenWrt固件從Whiterussian到Kamikaze實現快速配置接口。Lua是一個小巧的腳本語言,很容易嵌入其它語言。輕量級
    的頭像 發表于 06-29 09:04 ?3001次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發指南</b> 第7章 添加Web界面

    Openwrt開發指南 第12章 添加OpenWrt軟件包

    OpenWrt是一個比較完善的嵌入式Linux開發平臺,在無線路由器應用上已有4000多個軟件包。我們可以在其基礎上增加軟件包,以擴大其應用范圍。在OpenWrt中增加軟件包極其方便,按照
    的頭像 發表于 06-29 09:09 ?6970次閱讀

    Openwrt開發指南 第13章 OpenWrt啟動流程

    任何系統的啟動都是開發人員首要關注的問題,因為只有了解了系統的啟動流程和啟動機制,才能真正掌握一個系統,如果對啟動的啟動不熟悉的話,是不可能真正用好一個系統,openwrt系統也不例外,他的啟動和一般的嵌入式系統啟動還有所區別,現在咱們就分析一下
    的頭像 發表于 06-29 09:09 ?2672次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發指南</b> 第13章 <b class='flag-5'>OpenWrt</b>啟動流程

    Openwrt開發指南 第14章 統一接口配置UCI

    UCI即統一接口配置(UnifiedConfigurationInterface)的簡稱,它被應用于OpenWrt系統上面。
    的頭像 發表于 06-29 09:11 ?2501次閱讀

    Openwrt開發指南 第24章 配置開發板支持U盤

    Openwrt開發指南 第24章 配置開發板支持U盤
    的頭像 發表于 07-13 08:55 ?1448次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發指南</b> 第24章 配置<b class='flag-5'>開發</b>板支持U盤

    Openwrt開發指南 第29章 OpenWrt 防火墻介紹

    Openwrt 是一個 GNU/Linux 的發行版, 和其他大多數的發行版一樣,Openwrt 的防火墻同樣也是基于 iptables。 在 OpenWRT 下防火墻的默認行為已經可以滿足路由器的需要,一般情況下也無需修改。
    的頭像 發表于 07-15 16:24 ?2472次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發指南</b> 第29章 <b class='flag-5'>OpenWrt</b> 防火墻介紹

    RT5350 Wi-Fi 模塊開發指導_物聯網 openwrt 開發概述

    物聯網的資料 物聯網openwrt開發概述 物聯網openwrt開發概述 物聯網openwrt開發
    發表于 11-16 14:52 ?0次下載

    openwrt開發教程1~6章

    openwrt開發教程1~6章
    發表于 03-17 14:23 ?49次下載

    路由器刷openwrt好處_路由器怎么刷openwrt

    openwrt是嵌入式設備上運行的linux系統。本文主要介紹了openwrt的特點、openwrt優勢與劣勢、常見刷openwrt的路由器以及路由器刷
    發表于 12-27 09:47 ?16.9w次閱讀

    openwrt都有什么功能_openwrt詳細功能介紹_openwrt刷機教程

    penWrt作為一個嵌入式的Linux發行版已經得到廣泛的運用,本文主要介紹了openWRT開發背景、OpenWrt功能、openWRT特點以及op
    發表于 12-27 10:21 ?16.4w次閱讀
    <b class='flag-5'>openwrt</b>都有什么功能_<b class='flag-5'>openwrt</b>詳細功能介紹_<b class='flag-5'>openwrt</b>刷機教程
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>