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

    文章

    2132

    浏览量

    124421
  • 串口
    +关注

    关注

    14

    文章

    1551

    浏览量

    76421
  • 开发板
    +关注

    关注

    25

    文章

    5032

    浏览量

    97371
  • OpenWrt
    +关注

    关注

    10

    文章

    130

    浏览量

    39296
收藏 人收藏

    评论

    相关推荐

    Openwrt开发指南 25 配置OpenWrt支持网络摄像头

    Openwrt开发指南 25 配置OpenWrt支持网络摄像头
    的头像 发表于 07-13 08:56 2403次阅读
    <b class='flag-5'>Openwrt</b><b class='flag-5'>开发指南</b> <b class='flag-5'>第</b>25<b class='flag-5'>章</b> 配置<b class='flag-5'>OpenWrt</b>支持网络摄像头

    Openwrt开发指南 1 OpenWrt入门

    如果要学习openwrt的话,买些列表中二手的路由器来实践下更容易学习,大部分要升级一下rom芯片和内存芯片,典型配置都是4M、64M。
    的头像 发表于 06-27 09:09 4391次阅读

    Openwrt开发指南 2 OpenWrt开发环境搭建

    开发PC机上的软件时,可以直接在PC机上编辑、编译、调试软件,最终发布的软件也是在PC机上运行。对于物联网OpenWrt开发,最初的嵌入式设备是一个空白的系统,需要通过主机为它构建基本的软件系统,并
    的头像 发表于 06-27 09:09 7117次阅读
    <b class='flag-5'>Openwrt</b><b class='flag-5'>开发指南</b> <b class='flag-5'>第</b><b class='flag-5'>2</b><b class='flag-5'>章</b> <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 5760次阅读
    <b class='flag-5'>Openwrt</b><b class='flag-5'>开发指南</b> <b class='flag-5'>第</b>3<b class='flag-5'>章</b> <b class='flag-5'>OpenWrt</b>下载及配置

    Openwrt开发指南 4 烧写OpenWrt固件

    对于一个完整的嵌入式系统,它由U-boot、内核(Linux)、文件系统、应用程序四部分组成。那么这四部分之间的关系是怎么样的呢?OpenWrt是属于哪部分呢?
    的头像 发表于 06-27 09:11 4804次阅读
    <b class='flag-5'>Openwrt</b><b class='flag-5'>开发指南</b> <b class='flag-5'>第</b>4<b class='flag-5'>章</b> 烧写<b class='flag-5'>OpenWrt</b>固件

    Openwrt开发指南 7 添加Web界面

    LuCI作为“FFLuCI”诞生于2008年3月份,目的是为OpenWrt固件从Whiterussian到Kamikaze实现快速配置接口。Lua是一个小巧的脚本语言,很容易嵌入其它语言。轻量级
    的头像 发表于 06-29 09:04 3761次阅读
    <b class='flag-5'>Openwrt</b><b class='flag-5'>开发指南</b> <b class='flag-5'>第</b>7<b class='flag-5'>章</b> 添加Web界面

    Openwrt开发指南 12 添加OpenWrt软件包

    OpenWrt是一个比较完善的嵌入式Linux开发平台,在无线路由器应用上已有4000多个软件包。我们可以在其基础上增加软件包,以扩大其应用范围。在OpenWrt中增加软件包极其方便,按照
    的头像 发表于 06-29 09:09 8859次阅读

    Openwrt开发指南 13 OpenWrt启动流程

    任何系统的启动都是开发人员首要关注的问题,因为只有了解了系统的启动流程和启动机制,才能真正掌握一个系统,如果对启动的启动不熟悉的话,是不可能真正用好一个系统,openwrt系统也不例外,他的启动和一般的嵌入式系统启动还有所区别,现在咱们就分析一下
    的头像 发表于 06-29 09:09 3528次阅读
    <b class='flag-5'>Openwrt</b><b class='flag-5'>开发指南</b> <b class='flag-5'>第</b>13<b class='flag-5'>章</b> <b class='flag-5'>OpenWrt</b>启动流程

    Openwrt开发指南 17 驱动开发之字符设备驱动程序

    首先将 RT5350_drv 文件夹传到 OpenWrt 源码的chaos_calmer/package/kernel 目录下。然后进入 OpenWrt 源码的顶层目录,执行 make menuconfig。
    的头像 发表于 07-02 09:20 3226次阅读
    <b class='flag-5'>Openwrt</b><b class='flag-5'>开发指南</b> <b class='flag-5'>第</b>17<b class='flag-5'>章</b> 驱动<b class='flag-5'>开发</b>之字符设备驱动程序

    Openwrt开发指南 21 OpenWrt串口的使用1

    从RT5350的芯片手册上可以得知, RT5350一共有两个串口, 分别为UART Lite、 UART Full,详细定义如下。
    的头像 发表于 07-05 09:07 2908次阅读
    <b class='flag-5'>Openwrt</b><b class='flag-5'>开发指南</b> <b class='flag-5'>第</b>21<b class='flag-5'>章</b> <b class='flag-5'>OpenWrt</b><b class='flag-5'>串口</b>的使用1

    Openwrt开发指南 24 配置开发板支持U盘

    Openwrt开发指南 24 配置开发板支持U盘
    的头像 发表于 07-13 08:55 3317次阅读
    <b class='flag-5'>Openwrt</b><b class='flag-5'>开发指南</b> <b class='flag-5'>第</b>24<b class='flag-5'>章</b> 配置<b class='flag-5'>开发</b>板支持U盘

    Openwrt开发指南 29 OpenWrt 防火墙介绍

    Openwrt 是一个 GNU/Linux 的发行版, 和其他大多数的发行版一样,Openwrt 的防火墙同样也是基于 iptables。 在 OpenWRT 下防火墙的默认行为已经可以满足路由器的需要,一般情况下也无需修改。
    的头像 发表于 07-15 16:24 3600次阅读
    <b class='flag-5'>Openwrt</b><b class='flag-5'>开发指南</b> <b class='flag-5'>第</b>29<b class='flag-5'>章</b> <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 55次下载

    openwrt都有什么功能_openwrt详细功能介绍_openwrt刷机教程

    penWrt作为一个嵌入式的Linux发行版已经得到广泛的运用,本文主要介绍了openWRT开发背景、OpenWrt功能、openWRT特点以及op
    发表于 12-27 10:21 16.6w次阅读
    <b class='flag-5'>openwrt</b>都有什么功能_<b class='flag-5'>openwrt</b>详细功能介绍_<b class='flag-5'>openwrt</b>刷机教程