MT7628学习笔记(22)——TCP串口透传(ser2net)及编译进固件开机自启动
一、临时方法
1、安装ser2net软件
ser2net工具安装完后,可执行文件放在:/usr/sbin/ser2net,配置文件放在/etc/ser2net.conf
#opkg update
#opkg install ser2net
2、修改 ser2net.conf 文件
终端不能显示全部的话,可以用winscp编辑 /etc/ser2net.conf 文件。
ser2net.conf 文件中把端口都注释掉,自己新增一条 1234 端口:(详细说明在永久方法里面)
1234:raw:0:/dev/ttyS2:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
3、运行以下命令配置完成
ser2net -c /etc/ser2net.conf
二、永久方法(修改源码、编译进固件)
1、将ser2net 软件包编译进固件
(1)make menuconfig 进入配置图形界面
(2)“/”查找 ser2net 软件包的位置
(3)如图:

(4)根据提示选中软件包:
Network --->
<*>ser2net
2、修改 ser2net.conf 文件
- 在openwrt源码根目录下建一个files文件夹(openwrt/files),再新建 openwrt/files/etc 文件夹。
- 到 /build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/ser2net-2.10.0 拷贝一份 ser2net.conf 文件到 openwrt/files/etc 文件夹。
- 给文件夹权限:chmod 777 files -R
ser2net.conf 文件中把端口都注释掉,自己新增一条 1234 端口:
#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:115200
#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 rs485=rs485port1
#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
#3020:telnet:0:/dev/ttyUSB0:9600 banner1 remctl asdfasd
#3021:telnet:0:/dev/ttyUSB1:9600 banner2 open1 close1 remctl
#5000:telnet:0:/dev/ttyAPP0:9600 NONE 1STOPBIT 8DATABITS -XONXOFF LOCAL -RTSCTS led-tx=tx led-rx=rx
1234:raw:0:/dev/ttyS2:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
配置格式说明:
<TCP port>:<state>:<timeout>:<device>:<options>
TCP port:TCP/IP端口号,可以加IP信息如127.0.0.1 , 2000或者localhost,2000; 如果这里指定了IP,则只能绑定在这个固定的IP
state: 四种可选状态
*off: 禁止该端口的连接
*raw: 端口和串口设备之间双向通信
*rawlp: 端口向串口设备单向通信
*telnet: 使用telnet协议时用
timeout:超时,以秒为单位;当没有活动的连接时,可以设置这个时间关闭端口;常写0,关闭该功能,即不会超时
device: 指定映射本机的哪个串口(This must be in the form of /dev/<device>)
options: 设置串口的参数如:波特率(300,1200,2400,4800,9600,19200,38400,57600,115200)
校验(EVEN,ODD,NONE)
停止位(1STOPBIT,2STOPBITS)
数据位(7DATABITS,8DATABITS)
开启(关闭)XON\XOFF :XONXOFF(-XONXOFF)
开启(关闭)硬件控制流:RTSCTS(-RTSCTS)
3、设置 ser2net 开机自启动
- 新建 openwrt/files/etc/init.d 文件夹
- 在 openwrt/files/etc/init.d 文件夹内新建 ser2net_ttyS2_tcp 文件
- 给文件夹权限:chmod 777 init.d -R
- 输入以下内容:
#!/bin/sh /etc/rc.common #/etc/init.d/ser2net_ttyS2_tcp START=80 start() { /usr/sbin/ser2net -c /etc/ser2net.conf } stop(){ killall ser2net_ttyS2_tcp }
三、测试
用 TCP 调试工具连接开发板 IP,端口 1234。(这里使用的wan口有线网络)
TCP端:

串口端:

智能推荐
OpenWrt 之 MT7628 移植第三方SPI驱动
1、在OpenWrt系统上移植SPI驱动前,首先要确保SPI相关引脚未被复用为其他功能,比如GPIO;以下操作已假定该条件成立,否则请修改相关dts和c文件中复用配置; 2、打开dts配置文件进行修改,这里我是用的硬件为WRTNODE2R,所以文件路径为:/target/linux/ramips/dts/WRTNODE2R.dts。在SPI控制器节点下添加与我们要添加的SPI设备及驱动匹配的信息,...
DSP学习 -- 软件开机自启动
一、Linux 下实现 启动脚本的一般存放路径是 /etc/init.d/rcS (rcS即脚本文件),自启动应用程序一般放置于/etc/rc.d/init.d目录下。 参看:开机启动脚本/etc/init.d/rcS 这个已经好久没有弄过了,记得是这样做的。 二、Windows 下实现 方法一 在运行里面输入: shell:startup 将需要开机自启动的软件快捷方式放到这个文件夹下: 方法二...
App开机自启动
App开机自启动 通过开机广播来实现自启动 定义开机广播 在AndroidManifest.xml注册BootCompletedReceiver APP自启动失败. APP在安卓系统5.0以前一般都是可以自启动成功的.安卓5.0以后国内的手机厂商做了限制,只有设置了开机自启动权限以后,才可以开机自启动. 下面是EMUI8.0系统的设置开机自启动的方法 参考 Android应用如何开机自启动、自启动...
开机自启动
相信这段代码大家都能看懂,就不多做解释了! 查看注册表: (1)运行:regedit (2)找到对应的路径REG_RUN Qt之开机自启动及拥有管理员权限 里面的内容并没有加进去,当然是因为我们并没有调用自启动的方法! 可根据setAutoStart的不同参数来添加或者删除注册表中的项。 调用方法后: Qt之开机自启动及拥有管理员权限 这样以来,大部分工作已经做完! 修改注册表的时候,可能会注册失...
服务开机自启动
一、开机启动 linux系统中将开机需要启动的程序或脚本加入到/etc/rc.local文件中,如下: 注意: 1、检查/etc/rc.local文件权限,如果权限不够需要进行设置 (chmod 777 /etc/rc.local) 2、如果权限足够的情况下,主机重启后没有启动设置的服务,那么可能主机没有执行/etc/rc.local文件。因此可执行一下命令: echo /etc/rc...
猜你喜欢
CORDIC arithmetic
传统CORDIC算法code Verilog代码: 时钟为50Mhz; 输出设置均设置为有符号数,主要是因为计算CORDIC算法时,需要判断Z通道的符号,来得到迭代过程中旋转方向。 然后根据缩放因子和arctan 2^-n 的预定义并乘以2^16 来进行后续计算,根据迭代方程写出代码;最后将(0度到90度)中正弦值与余弦值来扩大至(0度至360度)的正弦值与余弦值。 编写的tb文件如下: 最终使用...
dubbo源码解析-线程通讯原理
本来想通过Debug从头屡,发现意义不大,还是写点主通讯流程吧 本文基于JDK1.8;dubbo2.7.5 线程通讯原理 解释总体流程: DubboInvoker#doInvoker(Invocation)发起request,进入HeaderExchangeChannel 初始化Request对象(Dubbo自己封装的),初始化DefaultFuture将Request、channel放入,并记录...
使用Intellij Idea+Gradle 搭建Java 本地开发环境
Java 本地开发环境搭建 项目搭建采用技术栈为:Spring+Spring MVC+Hibernate+Jsp+Gradle+tomcat+mysql5.6 搭建环境文档目录结构说明: 使用Intellj Idea 搭建项目过程详解 项目各配置文件讲解及部署 各层包功能讲解&项目搭建完毕最终效果演示图 项目中重要代码讲解 5.配置tomcat 运行环境 6.webapp文件夹下分层详解 ...
js中array数组除重最快的方式(100万数据量下测试)
模拟100万数据 测试1 for循环 + in 运算符 (不是 for…in 循环) 测试2 双层for循环 (太慢了) while …同理。 测试3 for循环 + arr.indexof()判断 测试4 for…in循环 + in 运算符 测试结果...
轻量级java服务器undertow
项目需求 服务器端项目是用mina写的传统socket,准备升级到支持websocket接入。 为什么采用undertow 1、Undertow 是基于 NIO 的高性能 Web 嵌入式服务器,并且支持websocket(这个很重要,只要把undertow集成到项目中,用undertow启用websokcet,然后把原来的socket切换到websocket。) 2、轻量级web服务器:多么轻量级...
