a. 一般串口都是以/dev/ttyS#的格式显示,所以第一个连接的串口就是/dev/ttyS0,第二个连接的串口就是/dev/ttyS1…以此类推。
b. USB转串口适配,没有额外驱动,它们会显示为/dev/ttyUSB#,如/dev/ttyUSB0
2. 配置串口属性(stty命令)
我们可以使用stty命令来更改配置串口属性(详情查看”man stty”),比如我们设置串口/dev/ttyS0波特率为57600和odd parity,命令如下stty -F /dev/ttyS0 57600 parodd
3. 串口数据读写操作
使用echo向串口发送数据,如echo “command” > /dev/ttyUSB0
可以使用cat来读取串口中的数据,如cat /dev/ttyUSB0
读取数据并保存到txt文本文件中,如cat /dev/ttyUSB0 > file.txt
4. 解析数据
说到解析数据,我们可以使用一个强大的文本分析工具awk,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。
下面使用gawk举个栗子,在终端以H:M:S格式输出当前时间和来自串口的每一行前3个字符,命令如下:cat /dev/ttyUSB0 | gawk ’{print strftime(“%T”), substr($1 ,1,3)}’
5. 后台运行
可以讲串口数据读写操作设置为后台进行,通过一个简单命令或者shell 脚本就可以实现。命令可以用nohup。即使关闭终端或者注销账户,进程还是在进行着,比如nohup cat /dev/ttyS0 | gawk ’{substr($1 ,1,3)}’ > result.txt
使用下面命令可以删除进程,但是会删除所有的cat进程。killall cat
我们可以用“ps ax”来查看当前运行的进程,选择你要删除的,记下PID,删除即可,如下kill -9 PID
6. 绘制数据
如果你希望绘制实时获取到的数据,我这里推荐一个软件叫做KST(),它能够实时的获取text文件数据并绘制出来,可以浏览官网查看详细说明。
原文链接:http://blog.chinaunix.net/uid-27875-id-5846415.html
Linux stty命令
stty是linux下改变和打印终端设置的常用命令。
一、参数:
1.打印终端行设置
-a,–all 以人可读的方式打印所有当前设置;-a参数比单独的stty命令输出的终端信息更详细
-g,–save 以stty可读的方式打印当前所有设置
-F,–file=DEVICE 打开并使用特定的设备((DEVICE)以代替标准输入(stdin)
–help 显示帮助并退出
–version 显示版本并退出
二:用法
- stty size 打印终端行数和列数
2,在命令行下禁止输出小写
stty olcuc #开启
stty -olcuc#恢复
3,打印出终端的行数和列数
stty size
4,改变ctrl+D的方法:
stty eof “string”
系统默认是ctrl+D来表示文件的结束,而通过这种方法,可以改变!
5,屏蔽显示
stty -echo #禁止回显
stty echo #打开回显
测试方法:
stty -echo;read;stty echo;read
6,忽略回车符
stty igncr #开启
stty -igncr#恢复
7 .利用它设置我们的串口打印操作信息。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!