硬件: MT7688, USART1 串口 (/dev/ttyS1)shell
软件: openWRT Ver 15, Linux 3.18.29tcp
串口配置及其开机服务工具
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
说明: this
a. /dev/tty就是登陆的shell终端,设备号是(5,0);spa
b. /dev/ttyS0,/dev/ttyS1,/dev/ttyS2 就是设备全部的三个串口;code
2. 软件安装rem
#opkg update #opkg install coreutils-stty
安装完后,可执行文件放在:/usr/bin/stty;it
3. 设置串口参数,以及串口数据收发测试;class
显示串口当前参数 #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