注解目录
(串口的重要性不言而喻。为什么很多平台把串口称为 tty,比如 Linux、MacOS 等等,振南告诉你。)
1、各平台上的串口调试软件
1.1Windows
1.1.1 STCISP
(感谢 STC 姚老板设计出 STCISP 这个软件。)
1.1.2 SSCOM
(这应该是使用人数最多的串口助手软件了。)
1.1.3 友善串口调试助手
1.1.4 Xshell
1) 多窗口排列
2) 按钮定制
1.1.5 SecureCRT
1.1.6 PuTTY
1.1.7 MobaXterm (MobaXVT) )
1.1.8 COMTool
(大家可以挑选适合自己的的软件下载下来试试。)
1.2Linux
1.2.1 CuteCom
(这应该是 Linux 下最常用的串口软件。)
1.2.2 minicom
(一个基于命令行的串口软件,有兴趣来见识一下。)
1.3MacOS
1.3.1 coolTerm
1.3.2 友善串口调试助手
1.3.3 Volt+ (伏特加)
(用 MacBook 来搞硬件调试,你真土豪。)
1.4iOS 与安卓
1.4.1 基于 USB 的串口调试软件
1、USB 串口调试助手
2、Serial USB Terminal
1.4.2 基于蓝牙的串口调试软件
1、BlueSPP
2、蓝牙串口
3、Android 蓝牙串口 Pro
(用手机来调试串口,配上这些软件,真是一机在手,一切全有。)
2 、串口监控的一些方案
2.1 硬件方案
(只需一根导线,串口双向数据尽收眼底。)
2.2 软件方案
2.2.1 Ser232Mon
2.2.2 Device Monistoring Studio
2.2.3 CommMonitor
2.2.4 AccessPort
2.2.5 ComSpy (串口监视精灵)
2.2.6 jpnevulator
(串口抓数和协议分析利器,涵盖 Windows 与 Linux。)
串口监控的一些方案
2.2 软件方案
其实有一些软件可以实现串口数据监视,包括 Windows 和 Linux 平台。这样的监视软件,有些人形象地称之为“防扯皮软件”,专治像上面这种公婆之争。振南对几个比较好用的软件进行介绍,同时讲解一下它们的基本使用方法。有人说,我知道一个软件可以对数据进行抓包,Wireshark,没错,这个软件很强大,但是我发现它并不能对串口数据进行抓包和监视,而更多是对网络数据进行抓包,而用于网络协议分析。
1.Ser232Mon
这个是我用过的第一个串口监视软件。当时对 STC 的串口下载协议非常感兴趣,想想如果能知道它的协议,就可以用一个单片机去烧录别一个单片机了,这就实现了离线烧录。所以,我就用 Ser232Mon对 STC下载过程中的串口数据进行监视分析(声明数据监视与分析仅用于个人学习)。它的通信是无加密的,完全明文传输,所以当看到这一收一发的串口数据.协议自然了然于眼前。这就是串口监视的最大意义,我们可以知道串口收发的具体细节,从而有力地支撑串口调试工作。
Ser232Mon 界面简洁,功能够用,是一款比较实用的软件。可惜的是,在现在的 WIN10时代已经用不起来了,它只支持 WINXP。这导致我想截图一个软件界面都比较困难。
2.DeviceMonistoring Studio
这是一个非常强大的工具,串口监视只是它的一项功能,它还可以监视 USB、网口等,甚至可以作为调试终端。而且它还内置了很多协议,便于进行协议分析,如图 3.36 所示。
图3.36 Device Monistoring Studio 的软件界面(显示 CH340 USB 串口)
当然制作如此精良的软件,肯定又是商业软件。没错,它是由英国 HHD软件公司研发出品的。这个公司与 Netsarang一样,也有一系列的产品,主要专注于端口监视与调试(真是任何细分领域都有专注者),如图3.37所示。
图3.37 HHD软件公司诸多的软件产品与解决方案
图3.37 HHD软件公司诸多的软件产品与解决方案,选择开始监视,如图3.38所示。
图 3.38 在 Device Monitoring Studio 中右键选择开始监视
接下来会新建一个 Session(会话),类型选择 Generic,如图 3.39 所示
图 3.39创建类型为 Generic 的会话
最后选择监视数据的处理方式(是只监视原始数据,还是区分输入与输出,再或者是使用协议进行分析,比如 Modbus),一般我们选择 Data View,如图 3.40 所示。
我们使用串口助手收发数据,就可以从 Monitoring 软件中看到,它分为 Reads 与 Writes如图 3.41 所示。
而且每一次数据都会有序号和时间戳,方便我们进行串口协议交瓦的细粒度的分
3.CommMonitor
这也是一款利器,但是个人认为它比 Device Monitoring 要逊色一些,起码在界面 UI上不如它优雅和专业(以上仅振南个人观点)。来看一下它的界面,如图 3.42 所示。
CommMonitor 其实是一个商业软件,由 CEIWEI 软件公司研发出品。它是国内为数不多的专注于 Windows 系统驱动开发的几家公司之一。主要业务是串口过滤、TCP/UDP 网络、USB 端口并口(打印机)端口、Modbus RTU/ASCII 协议、MQTT 协议等一系列底层过滤监控技术服务(援引其官网的介绍)。
这个软件的使用非常直观,所以就不再赘述了,大家可以自行尝试。
图3.40 选择 Data View作为数据监视的处理方式
图3.41 Monitoring软件对串口监视数据的显示
图3.42 CommMonitor的软件界面
4.AccessPort
上面介绍的都是商业软件,唯独一个 ser232mon 是免费的,还不能支持 Win10(振南已经测试过,Win7 也不能支持)。“振南,你这不等于白介绍了吗? 用不了啊!”别着急,我再介绍两款软件:AccessPort 和 ComSpy。它们不能算功能强大,但还算好用。最重要的是免费,如图 3.43 所示。
图3.43 AccessPort的软件界面
5.ComSpy(串口监视精灵)
话不多说,功能很单一,就是串口收发数据监视,如图 3.44 所示。Windows 上这类软件其实还有不少,上面所介绍的是比较常见的。在 Linux 下也有一些类似的软件,振南在这里仅列举一个,更多的大家可以自行查找。
6.jpnevulator
jpnevulator 是 Linux 下一个比较有名的串口监视软件,它是开源的,大家可以进人它的项目网站 https://jpnevulator.snarl.nl来对其进行深入了解。
它的使用是基于命令行的。
首先,需要对 jpnevulator 进行安装,直接 apt install jpnevulator。随后,在 Linux 命令行中输入以下命令:
正常的话会显示:
图3.44 ComSpy的软件界面
命令解析:--pty 会虚拟出一个假的设备/dev/pts/2,--pass 会把/dev/pts/2 上接收到的数据转发到/dev/ttyS1,--read 会读取/dev/pts/2 收到的和/dev/ttyS1 从外部收到的,并显示出来,如图 3.45 所示。
图3.45 jpnevulator对 Minicom 的串口数据收发进行监视
除了上面这些软件,可能有的人还需要一些串口监视的开发包,以便在自己开发的软件项目中实现串口监视功能。振南可以介绍一个支持二次开发的开源软件 pySerial,需要的可以自行研究。
关于串口调试和终端软件,振南就写这么多。写这一章还是耗费了很多的精力的,振南的贯风格是事无巨细。其实本文所讲到的很多软件,振南也只是知道,并没有实际去用过。为了能够更系统的、更全面的,针对各个平台的软件进行准确的描述,振南做了大量的实验以及搜索与软件相关的信息。希望大家能够从本文中有所收获,对你的实际项目研发产生益处。