openWRT 串口设置, 串口及TCP端口 ser2net 透传设置

硬件: MT7688, USART1 串口 (/dev/ttyS1)

软件: openWRT Ver 15, Linux 3.18.29


串口配置及其开机服务

1. 查看串口设备

#ls -l /dev/tty*
查询结果示例

crw-r--r--    1 root     root        5,   0 Jan  1  1970 /dev/tty
crw-r--r--    1 root     root        4,  64 Jan  1  1970 /dev/ttyS0
crw-r--r--    1 root     root        4,  65 Jan  1  1970 /dev/ttyS1
crw-r--r--    1 root     root        4,  66 Jul 31 06:58 /dev/ttyS2

说明: 

    a. /dev/tty就是登录的shell终端,设备号是(5,0);

    b. /dev/ttyS0,/dev/ttyS1,/dev/ttyS2 就是设备所有的三个串口;

2. 软件安装

#opkg update
#opkg install coreutils-stty

    安装完后,可执行文件放在:/usr/bin/stty;

3. 设置串口参数,以及串口数据收发测试;

显示串口当前参数
    #stty -F /dev/ttyS1
    #stty -a -F /dev/ttyS1
串口参数配置
    #stty -F /dev/ttyS1 raw speed 115200
串口2 发送数据
    #echo "hello" > /dev/ttyS1
串口2 接收数据
    #cat /dev/ttyS1

注:但上述设置在开机后会丢失,故把相关设置放入启动服务中.

4. 参数开机启动服务化

4.1 新建或编辑文件:
    #vi /etc/init.d/usart1

4.2 文件内容:
#!/bin/sh /etc/rc.common
#/etc/init.d/usart1
START=80
start() {
    /usr/bin/stty -F /dev/ttyS1 raw speed 115200
}

stop(){
    killall usart1
}

4.3 修改文件属性:
    #chmod 777 /etc/init.d/usart1

4.4 启用开机启动服务
    #/etc/init.d/usart1 enable

4.5 关闭服务
    #/etc/init.d/usart1 disable

5. 重启进行测试

#reboot

串口TCP透传及其开机服务

1. 软件安装

#opkg update
#opkg install ser2net

  ser2net工具安装完后,可执行文件放在:/usr/sbin/ser2net,配置文件放在/etc/ser2net.conf 

2. 配置修改

    目的: 实现2003TCP端口与串口1,ttyS1互通; 保留2003端口,波特率修改为115200。
            ser2net.conf 文件中有很多我们用不到的端口配置,都注释掉.

#....
# Don't do this by default
#CONTROLPORT:2000
#2001:raw:600:/dev/ttyS0:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
#2002:raw:600:/dev/ttyS1:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
2003:raw:0:/dev/ttyS1:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
#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

3. 配置生效命令;

#ser2net -c /etc/ser2net.conf

注:但上述配置有效性在开机后会丢失,故把相关设置放入启动服务中.

4. 参数开机启动服务化

4.1. 新建或编辑文件:
    #vi /etc/init.d/ser2net_ttyS1_tcp2003

4.2 文件内容

#!/bin/sh /etc/rc.common
#/etc/init.d/ser2net_ttyS1_tcp2003
START=80
start() {
    /usr/sbin/ser2net -c /etc/ser2net.conf
}

stop(){
    killall ser2net_ttyS1_tcp2003
}

4.3 修改文件属性:
    #chmod 777 /etc/init.d/ser2net_ttyS1_tcp2003

4.4 启用开机启动服务
    #/etc/init.d/ser2net_ttyS1_tcp2003 enable

4.5 关闭服务
    #/etc/init.d/ser2net_ttyS1_tcp2003 disable

5. 重启进行测试

#reboot

你可能感兴趣的:(openWRT)