版本亮点
6.6.8 有哪些更新
新特性
- 只有 SPU Free 与 SPU Pro 两档,取消 Pro 试用: 直接下载版从首次启动起即为 SPU Free,不再附带 30 天 Pro 试用;SPU Free 没有时间限制。升级到本版时仍在试用期内的,试用照常持续到安装后第 30 天,之后回到 SPU Free。SPU Pro 来自购买:授权码(个人或企业,按期限)或 Mac App Store 订阅
- 多端口、桥接与设置同步对 Free 开放: 添加多个连接、端口桥接、打开含多个端口或桥接的工程、账户设置同步都不再需要 SPU Pro。其余 Pro 功能改为额度:SPU Free 每次启动 SPU 有一份免费额度,用完时提示一次(可购买、输入授权码或暂不),重新启动 SPU 即重新计数;接收数据永远不受影响
- Free 与 Pro(Modbus、文件传输、发送历史): Modbus 构帧每次启动插入与复制合计 5 次;X/YMODEM 每次启动传输 3 次,每个文件不超过 128 KB(发送、接收都算:YMODEM 按文件头的大小直接拒收,XMODEM 超出时中止并把已收部分存为
.partial),握手失败或没有传出数据的不计次数;发送历史每个端口保留最近 10 条、共 1 KB(SPU Pro 为 1,000 条、100 KB),超出的部分转入存档而不是删除,获得 SPU Pro 后自动合并回来,也可导出为文本;序列的「重复」(含直到停止)在 Free 下最多 3 遍 - 状态栏的 SPU Free 用量: 状态栏的「SPU Free」列出本次启动各项额度用了多少、还剩多少;接收路径上的额度(自动应答、波形、解码、脚本时长)用完时只出现一条合并的非模态提示条,不打断操作。SPU Pro 授权到期前 7 天在状态栏提示,到期后说明一次哪些功能回到了额度
- 自动应答:让 SPU 扮演设备: 工具 > 自动应答…(或接收区右键)为端口设置规则,收到匹配的数据就自动回复,没有设备也能联调上位机,例如
AT+VER?回+VER:1.2.0、Modbus 03 请求回一帧寄存器。匹配支持文本(\r\n、\xHH转义)、十六进制(??任意字节)、通配符与正则,数据分几次到达也能匹配;TCP Server/UDP 下按客户端分别匹配,回复只发给发起请求的一方。回复为文本或十六进制,可追加校验、设延时;回复留空即吞掉这次匹配,端口级「装死」开关照常匹配和计数但不发送,每条规则还可设「每 N 次才回 1 次」、随机丢弃比例和最多匹配次数。编辑器带「试一试」栏,粘贴输入即显示命中哪条、回复什么字节;接收区顶部的角标显示状态,点击打开编辑器。规则随.spu保存;文件传输期间不会插入回复 - Free 与 Pro(自动应答): Free 每个端口启用前 3 条规则,每次启动 SPU 所有端口合计自动回复 10 次,用完后暂停回复、接收照常;SPU Pro 不限
- 远端串口 → 本地 TCP 服务器: 云菜单或 Live Sync 弹窗里的「远端串口 → 本地 TCP 服务器…」把一个 RFC 2217 客户端或实时中继(Live Relay)端口开成本机的 TCP 服务器,第三方工具和虚拟串口驱动就能使用远端的串口。默认走 RFC 2217 透传:客户端设置的波特率、数据位、校验、停止位、流控以及 DTR/RTS/Break 原样转发到远端串口,远端的答复和 modem 状态线传回客户端;也可选纯 TCP。建议端口从 3000 起,默认允许其他电脑连接(可限制来源地址),同一时间接一个客户端
- 检查更新: 启动后在后台检查一次是否有新版本,有则在状态栏提示;帮助 > 检查更新… 可随时手动检查。Mac App Store 与 Microsoft Store 版本由商店负责更新,不显示此项
- 发送框支持转义序列: 设置 > 发送 勾选「转义序列」后,文本发送可用
\r\n\t\0\e\xHH\\等写控制字节,\xHH是原样的字节、不经发送编码;写错的转义整帧拒发并在状态栏说明原因,不会猜一个字节发出去。默认关闭,随工程与设置同步保存 - 命令库与命令面板: 常用命令存进命令库、按组做成按钮,放在窗口右侧的命令面板里(工具 > 命令库…、视图 > 命令面板),点一下就发往当前连接,也可以配快捷键(如 Ctrl+1,窗口内任意位置生效)。每条命令可选文本(总是识别
\r\n\xHH转义)或十六进制(严格解析,写错一个字符会报错,不会悄悄发出00),行尾(仅文本命令)和校验可以单独设,也可以跟随连接的发送设置;编辑时显示将要发出的字节。命令库属于工程:随.spu保存;没有打开工程时保存在本机,文件 > 新建也从这份开始,打开别人的工程不会覆盖它。面板默认隐藏,第一次添加命令后自动打开。命令面板在 Free 里完整可用 - 序列:发送、等待、检查回复: 在命令库里把「发送命令」「等待」「期望回复」「标签」「重复」排成一条序列,在当前连接上一键运行。期望回复沿用自动应答的文本、十六进制(
??任意字节)、通配符与正则四种匹配,只看上一次发送之后收到的数据,匹配到的字节会被用掉;超时即判失败,也可以记下失败继续跑完。重复可回到某个标签共运行 N 遍或直到停止。序列在发出第一个字节前整体检查,有问题指出是第几步。运行时接收区上方有进度条和停止按钮,结束后留下「通过/在第 N 步失败及原因/在第 N 步停止」的结论;每个期望步骤的结果也记在接收区里。关闭连接或开始文件传输会停止序列 .spucmd命令文件: 整个命令库可以导出成一个文件交给同事或客户,导入时合并,重名的自动编号- 实时波形图: 把设备打印的数值实时画成曲线,适合电机调参、传感器标定和电赛调试(工具 > 波形图,或接收区右键「波形图」)。波形图位于接收区上方,可弹出为独立窗口。支持三种格式:文本(每行一个样本,逗号/空格/制表符分隔,兼容 VOFA+ FireWater 的
prefix:1,2,3和 Arduino 串口绘图器的temp:21.5 hum:40,标签自动成为通道名;夹杂的普通日志行会被忽略)、VOFA+ JustFloat(小端 float +00 00 80 7F帧尾,丢字节后自动重新同步)、正则表达式(命名捕获组即通道名)。横轴可选样本序号或到达时间;滚轮缩放、拖动平移并暂停、双击回到实时;悬停读出各通道数值。右侧图例同时是统计表:当前值、均值、最小、最大、峰峰值、标准差(按可见范围计算),可勾选隐藏、双击重命名。可导出 CSV(带 BOM,Excel 直接打开中文通道名)与 PNG;A/B 测量游标读出差值与 1/Δt。几万个点也能流畅显示,尖峰不会被抽稀丢掉;波形图关闭时不做任何解析。设置随.spu按端口保存 - 选区导出与会话导出: 在接收区选中一段数据,右键「选区复制为」可得到 C 数组(
const uint8_t name[] = {...};,带长度宏或sizeof注释和来源注释,可直接编译)、Hex Dump(偏移 + 十六进制 + ASCII)或十六进制字节;「选区另存为…」保存为.c、.txt或.bin,数组名、每行字节数、长度写法可设并记住。导出的是这段显示背后的原始字节,而不是屏幕上的文字:Hex 显示下精确到字节,文本显示下 ASCII/UTF-8 精确,其他编码按整帧导出并在状态栏说明。文件 > 导出会话…(或接收区右键)把焦点端口或全部端口本次会话收发的数据按时间合并导出为 CSV(带 BOM,Excel 直接打开;带公式注入防护)、JSON Lines(供脚本与日后的回放使用)或文本,可选只导出最后一次清空之后的数据。会话记录在收发的源头记下每个字节,不受暂停、显示格式和清空影响,即使忘了开日志也能导出;每个端口保留 2–8 MB、全部端口合计不超过 32 MB。文件 > 导出序列报告… 把焦点端口最近几次序列运行逐步导出为表格或 JSON - 诊断包: 帮助 > 导出诊断包… 把排查问题所需的材料打成一个
.zip:应用与系统版本、串口列表、Live Sync 状态、工程(家目录下的路径以 ~ 代替,不含分享名与访客名)、每个端口的设置与收发数据(包含你发送的全部内容)、序列报告、桥接设置与抓包末尾,另附中英双语的 README 和机器可读的清单。按白名单收集:注册码、激活数据、账户、机器码(CID)、MAC 地址、CPU ID、用户名与计算机名永远不会进包,发送历史默认不勾选;不会自动上传,文件交给谁由你决定 - Free 与 Pro: Free 每次启动 SPU 可运行 3 次序列,每条运行前 5 步(超出时询问是否只跑前 5 步),可以导入并运行
.spucmd;.spucmd导出与不限次数、不限步数需要 SPU Pro。波形图在 Free 里绘制前 2 个通道、每次启动共 120 秒(用完后停在最后一帧),CSV 导出与测量游标需要 SPU Pro。选区导出与序列报告完全免费;导出会话在 Free 里每个端口导出最近 500 条记录,诊断包在 Free 里每个端口包含最近 256 KB 数据、不限次数,SPU Pro 导出完整的会话记录 - 协议解码视图: 接收区下方新增可收起的「帧」面板(接收区右键 > 协议解码,或视图 > 协议解码面板),把收发的字节按帧列成表:Modbus RTU/ASCII/TCP 自动拆帧并校验 CRC/LRC,请求与响应自动配对并显示往返时间,功能码、异常码、寄存器与线圈逐项解释,寄存器同时给出 PDU 原始地址和 40001 这类惯用参考号,免去「差一」的心算。RTU 按 CRC 拆帧,不依赖串口时序,USB 转串口与「串口服务器 + RTU over TCP」合包、拆包都能正确分帧;收发双向都解码,TCP Server/UDP 下按客户端分开。选中一行显示字段明细,点字段会在帧的十六进制条里高亮对应字节;右键可转到配对帧、复制十六进制,或在(Hex 显示的)接收区里查找这一帧。面板默认隐藏,隐藏时不做任何解码
- 自定义帧模板: 工具 > 帧模板…,用「帧头 + 长度字段」「帧头 + 定长」「分隔符」「空闲间隔」描述私有协议的帧,校验可选 SUM8、XOR8、SUM16 或 CRC 计算器里的全部算法(含自定义参数),字段支持 8~64 位有无符号整数、浮点、十六进制、ASCII 与位字段,四种字节序,倍率与偏置、单位、取值标签(如
0=关;1=开),以及「某字节为某值时才显示」的条件字段。模板编辑器自带测试框:粘贴一段十六进制,立即用与运行时相同的解码器看结果。模板随.spu保存,没有打开工程时保存在本机 - 导出与复制: 帧表可导出为 CSV(每帧一行,或每个字段一行,方便做透视表),UTF-8 带 BOM,Excel 双击即可打开;也可以在帧表里选中若干行按 Ctrl+C 复制,直接粘贴到表格里
- Free 与 Pro(协议解码): Free 每次启动 SPU 可解码 120 秒(全部连接、全部解码器合计;只计解出帧的秒数,同一秒里不论多少帧、多少端口都只算 1 秒,无法识别的字节不计;回放窗口里的解码不计),用完后停止解码、接收区照常;用列表中的第一个模板解码;模板的编辑与测试、复制选中行都不受限。不限解码时长、全部模板与 CSV 导出需要 SPU Pro
- 会话录制: 文件 > 录制会话… 把窗口里全部端口的收发按时间合并,持续写进一个
.spulog文件,直到你停止;可选从 SPU 已经保留的本次会话数据开始录(「刚才那一下」也在里面)。写盘每 250 ms 一次,SPU 或电脑意外退出最多丢最后不到一秒,文件照样能打开;默认每 100 MB 换一个新文件并自动衔接。录制期间状态栏显示红色 REC、时长与大小,点一下可停止或打开回放。现场看到异常时按 F9,就在当前时刻打一个书签,不弹任何窗口,回到办公室再命名。录制文件就是会话导出的 JSON Lines 格式,脚本同样能读 - 会话回放: 文件 > 打开录制… 在独立窗口里按原来的时间间隔重放
.spulog录制或会话导出的.jsonl,不需要连接任何端口,回放的数据也绝不会发往端口、触发自动应答或进入桥接。速度可选 0.25x 到 100x 与「最快」,超过 5 秒的空闲默认压缩(可调可关);时间轴显示收发疏密与书签,拖动或 Ctrl+G 跳到任意时刻,「.」「,」逐帧前进后退。多端口并排显示,可切竖排或隐藏端口;每个端口有自己的 Hex/文本、时间戳、编码和查找栏,也能打开实时波形图与协议解码面板,按录制时间重现。Ctrl+Shift+F「在录制中查找」搜整份文件(文本或十六进制,跨分包也能匹配),直接跳到还没播到的问题时刻。书签可命名、加备注、上一个/下一个([ ]),保存回录制文件;培训演示可全屏(F11)并在两个书签之间循环播放。文件 > 回放本次会话 不用先导出就能回放 SPU 已保留的数据;回放窗口里还能把一段时间「导出区间」为 JSON Lines、CSV 或文本,正在录制的文件按 F5 就能读到新写入的部分 - Free 与 Pro(录制与回放): 录制、打开录制、时间轴、书签与「在录制中查找」完全免费,现场用户不必购买就能录下问题交给你。回放在 Free 里播放每份录制的前 10 分钟(回放本次会话取最近 10 分钟),之后的时间轴画斜线、书签照常可见;SPU Pro 回放整份录制
- 脚本自动化(Lua): 工具 > 脚本… 打开脚本窗口,用 Lua 5.4 写需要变量、条件、循环、计算或解析二进制回复的流程——只需发送、等待、检查回复的,命令库里的序列不用编程就能做。脚本是普通的顺序代码:
sendLine("AT")、expect("OK", 1000)、sleep(500),等待时界面照常响应,死循环也能随时停止。expect超时即判失败并指出行号,tryExpect/tryExpectAny超时返回 nil 由脚本自己处理;expectHex(??任意字节)、expectRegex(捕获组)、read、readLine读取回复,string.pack/unpack拼装与解析二进制帧,checksum/appendChecksum/verifyChecksum支持 SUM8、XOR8 与 CRC-8/16/32/64 共 50 余种预置算法(含 CRC-16/MODBUS、CCITT-FALSE、XMODEM 与各种 CRC-32),校验可按低字节或高字节在前追加,sendCommand发送命令库里的命令,onReceive扮演设备自动回复,onStop在运行结束(包括被停止)时打印汇总。窗口里有带行号和语法高亮的编辑器、运行端口选择、「检查」语法、输出区(出错的行可点击跳转,常见错误附带中文提示,例如全角标点、!=、elif、未定义的变量;右键可全部复制或另存为文本),以及 AT 指令回归、Modbus RTU 从站、PING/PONG 应答三个示例;脚本可导入导出为.lua文件。脚本库随.spu工程保存,没有打开工程时保存在本机。运行在沙盒里:不能读写文件、访问网络或启动程序;诊断包不包含脚本。开始、结束与log()的内容也记在端口的接收区里;关闭连接、断链或开始文件传输会停止脚本 - Free 与 Pro(脚本): 编辑、检查、示例、导入导出与随工程保存完全免费。Free 每次启动 SPU 可运行 3 次脚本,每次最长 5 分钟;运行不满 30 秒就失败或被停止的不计次数(每次启动最多这样退还 3 次),语法错误也不计。SPU Pro 不限次数与时长
- 删除账户: 云 > 删除账户… 在浏览器中打开 alithon.com 的账户删除页面(账户中心也有入口);删除立即生效,授权码继续有效并解除与账户的绑定,订单按法律要求保留
- 设备名称: 云 > 设备名称… 设置本机在账户、实时终端和实时分享中显示的名称;默认为「系统 · CID 末四位」(如「Windows · 3F9C」),不再使用计算机名
界面改进
- 深色模式: 视图 > 外观 可选跟随系统、浅色或深色,切换立即生效;提醒卡片、查找高亮、状态栏和自定义的收发文字颜色都随之调整,颜色在深色底上看不清时自动改用可读的颜色
- 标签页布局: 视图 > 标签页 让每路连接占一个标签页,和原有的分栏布局随时切换,各自保留状态;布局随工程保存
- 每日一次的 Free 与 Pro 提醒: 原来按启动次数弹出的注册提醒改为每天最多一次,新安装的前 7 天不弹;点提醒里的广告或「3 天内不再提醒」可静音 3 天,当天已出现过额度提示时也不再弹。SPU Pro 不弹
- 授权码在别处被激活: 同一个授权码在另一台电脑上被激活时,本机保留 SPU Pro,每天首次启动以非模态方式提醒一次
- cid 冲突提示: 同一个设备标识(CID)下同时运行了两份 SPU(本机开了第二份,或克隆的系统)时,两份会互相抢远程命令,实时终端和实时中继会随机失败;现在每次运行提示一次(信息栏与状态栏,不弹框),命令行
spu向 stderr 打印一行 - 实时中继连接更快: 选择器在等待设备上报时固定每 2 秒刷新、约 45 秒后停止并如实提示,已选中的端口在刷新后保留;设备收到命令后立刻恢复 2 秒一次的轮询,
open_relay不再多等一个 30 秒周期 - 本地 RFC 2217 服务器上报 modem 状态: 本地 RFC 2217 桥接(含 Live Sync 的 RFC 2217 快捷分享)的客户端现在能看到 CTS/DSR/RI/DCD 的变化
- 隐私与联网功能: 首次启动时询问是否允许软件连接 alithon.com,并列出会发送的内容(设备标识、版本、操作系统、使用计数、SPU Free 额度的使用计数);不允许时软件以 SPU Free 离线正常运行,本机已激活的授权照常有效,登录、在线激活授权、云服务、额度统计上报和状态栏公告在允许前都不联网,检查更新照常可用。可随时在「帮助 > 隐私与联网功能…」中更改,关闭时会停止上报、退出登录并关闭本机的云服务
- 注册账户需同意条款: 在软件中注册 Alithon 账户时需勾选同意服务条款并已阅读隐私政策
- 命令行同样需要联网许可:
spu login、-S/--share和--invite在未允许联网功能时说明原因并以退出码 5 结束;--accept-privacy可在命令行中给出许可。本地终端和-l不受影响 - 授权条款: Windows 安装包的授权条款改为中英双语,说明 SPU Free 没有时间限制、联网功能需经同意
修复
- 实时中继从未真正协商 RFC 2217: 实时中继端口的 RFC 2217 控制字节一直没有发出去,协商 3 秒后退回纯字节模式,因此端口参数、DTR/RTS、Break 和 modem 状态订阅都没有到达设备。现已修复:取消勾选「沿用远端串口的现有配置」时,本端的参数第一次真正作用到远端设备,设备端的 modem 状态线也会上报
- RFC 2217 服务器确认流控设置时回了旧值: SPU 作为 RFC 2217 服务器时,对「设置流控」的确认用的是端口原来的值,pyserial 因此对每个 SPU 服务器都报
rtscts被拒;现在设置按请求值确认,查询才回当前值 - 日志设置里的四个选项此前不起作用: 设置 > 日志 的「追加写入/覆盖写入」「开始记录时询问文件名」「连接后自动开始记录」现已生效:覆盖在每次开始记录时替换一次文件,提示文件名时取消即不开始记录;旧工程按原有行为(追加、不提示、不自动开始)读取
- 中文界面下 Qt 自带的按钮和菜单仍是英文: 消息框的标准按钮、输入框的右键菜单、文件对话框等现在也显示中文
- 系统提示行之后的数据沿用了它的颜色: 接收区里一行带颜色的程序提示(如文件传输的
-- … --)之后,没有颜色的数据会一直显示成蓝色,现在恢复为接收区本身的颜色 - 隐私:上报只保留授权所需: 启动和退出时的上报不再包含用户名、计算机名、MAC 地址、日志文件路径、显示与发送设置和 CPU ID;新生成的设备标识不再含 MAC 信息(已有的设备标识保持不变);实时终端心跳不再发送计算机名;设置同步不再记录设备名;实时分享访客名不再默认取系统用户名