Openwrt开发指南 第22章 Openwrt串口的使用2

开发环境:
主机:ubuntu12.04
开发板:rt5350
openwrt:openwrt15.05
1 添加 ser2net 应用程序在上一章中,我们成功的让驱动程序支持了串口 2,并且做了简单的测试。接下来,我们就为串口 2 添加一个应用程序,从而实现 wi-fi 串口。实现过程非常简单,首先进入 openwrt 系统源码,然后运行 make menuconfig 命令进行配置。
make menuconfig在弹出的配置菜单中,配置如下。
network -- > ser2net然后选中 ser2net 这个选项,如图所示。
图1
最后退出保存,再编译。
make v=992 配置 wi-fi 串口既然是 wi-fi 串口, 那么我们就可以理解为它由两部分组成,一部分是网络编程器的 tcp服务器,用于接收客户端通过 wi-fi 传来的数据;另一部分就是串口,用于将 tcp 服务器接收到的数据通过串口发送出去。
既然是 tcp 服务器,那么我们需要设置它的 ip 地址和端口号。既然是串口,那么我们需要设置它的波特率等参数。那么,这些参数,我们怎么来设置呢?通过修改 ser2net.conf 这个配置文件来实现,位于开发板上的/etc 目录下。
将上面编译出来的固件,重新烧写到开发板上面,然后上电启动,进入/etc 目录。
cd /etcvi 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 -rtscts2003:raw:5:/dev/ttys2:96002004:raw:5:/dev/ttys3:1152002005:raw:5:/dev/ttys4:96002006:raw:5:/dev/ttys5:96002007:raw:5:/dev/ttys6:9600 tw=tw1 tr=tr13001:telnet:0:/dev/ttys0:19200 remctl banner13011:telnet:3:/dev/ttys0:19200 banner2#3002:telnet:0:/dev/ttys1:96003003:telnet:0:/dev/ttys2:9600 banner33003:telnet:0:/dev/ttys2:9600 signature13004:telnet:0:/dev/ttys3:1152003005:telnet:0:/dev/ttys4:96003006:telnet:0:/dev/ttys5:9600 open13007:telnet:0:/dev/ttys6:9600 close15001:rawlp:10:/dev/lp0那么这些内容是什么意思呢?我们通过看 ser2net.conf 这个配置文件前面的说明注释部分,可以知道,这些参数的格式如下:
# :::::用于设置 tcp 服务器要监听的端口号;:用于设置 tcp 服务器的状态;:用于设置超时时间,如果设置为 0,表示不开启超时时间;:用于选择使用哪个串口设备;:用于设置波特率、校验位等参数。更多详细的介绍,就请大家看 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 软件,只需要在调试串口测,输入如下命令即可
ser2net4)手机连接上开发板发出的 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.ser2netexit 0最后保存退出,重启开发板,然后我们通过 ps 命令查看一下,发现 ser2net 已经启动好了。
这样,我们的 wi-fi 串口就这样做好了。
注意:发现好多人调试不通,原因大概有以下三个问题:
短路帽位置不对;
波特率设置不对,显示乱码或无输出;
手机建立 tcp 客户端显示连接失败,一般是端口号不对,请用 ps 查下正确的端口号再连接。还有一种就是 ser2net 没有启动,最好再做一次此实验,也可以用我们里面提供的“openwrt.bin” 固件测试。


保速捷A2 AR超清记录仪评测
一篇读懂 如何正确选择行车记录仪存储卡?
PCBA加工生产和报价需要提供哪些资料?
低代码开发,助力企业数字化转型
中美博弈“底牌之争”,半导体产业不可藐视!
Openwrt开发指南 第22章 Openwrt串口的使用2
全球终端市场需求萎靡 PCB产业能否在压力下继续前行
一文简析中国散裂中子源中子谱仪
未来的人类该如何与人工智能相处
红米新旗舰完整曝光,又出了一款性价比“神器”
小米mix2最新消息:小米mix2配置确认,6寸2K屏+8G+256G,全面屏幕超高配逆袭?
浅析薄膜电容器在电磁加热设备中的应用
制作芯片需要什么设备
在5G的推动下,韩国移动通信用户总体数量有增加
贴片电阻选购小技巧,贴片电阻识别及型号
华为全球首发车规级前装量产激光雷达 开启智能驾驶新时代
量子计算机最受关注的重要应用之一是破译现代密码体系?
智能会议平板优缺点是什么?说出来你可能不敢相信
新型光传感器实用放大电路实现
中兴通讯发文表示将成立汽车电子产品线