『7x24小时有问必答』

做硬件开发,是不是每次调试串口数据都看得眼睛发酸?
终端窗口数据乱滚,有时候还闪得很快,根本来不及看清。
想画个曲线图分析趋势?一般得写Python脚本,或者折腾matplotlib。想做个像样的监控界面?还得啃Qt、WinForm。
说实话,我一直没找到特别顺手的方案。要么太重,要么太简陋,要么只能接一种协议。
项目要是复杂一点,数据源就不止一个。串口、蓝牙、TCP、Modbus、CAN总线……每种协议都要单独处理,光是搭环境就能耗掉半天。
最近挖到一个开源项目,看起来有点意思。
Serial Studio,一个不写GUI代码就能搭建的遥测仪表盘
传统做法是写界面代码、绑定数据、调样式、调试、再改,折腾一圈。
你要是用Serial Studio的话,只需要在一个项目文件里配置好数据格式,剩下的交给它——实时图表、仪表盘、地图、3D视图,全部自动生成。
它支持Serial/UART、蓝牙BLE、TCP/UDP、MQTT、Modbus TCP/RTU、CAN Bus等十几种协议,一个项目可以同时连接多个设备,每个设备用不同协议。
经常捣鼓硬件开发的,应该懂这个的含金量。
那它具体能干啥?往下看。
协议支持广到离谱,不用再为每种协议单独写代码了
以前做硬件项目,最怕的就是每种协议都要单独写一套解析逻辑。
Serial Studio内置了20多种帧解析模板,MAVLink、NMEA、UBX、RTCM、MessagePack、COBS、SLIP、JSON、Modbus……如果这些还不够,可以用JavaScript或Lua 5.4自己写解析器。
举个例子。
你的设备输出的是JSON格式的数据:
{"temp":  25.6,  "humidity":  60.2,  "pressure":  1013.25}

以前你得自己写代码解析、提取字段、绑定到界面。
现在只需要在项目编辑器里定义好数据格式,告诉它  temp  对应温度、humidity  对应湿度、pressure  对应气压,然后选择要显示的小部件类型。
保存之后,数据就会自动画成曲线、显示在仪表盘上。
每个数据集还能单独配置转换脚本:指数移动平均滤波、缩放、校准、单位换算,都不需要改固件,在软件层就能搞定。
可视化组件多,关键是真能用
它还支持15种以上的小部件,折线图、XY图、仪表盘、柱状图、GPS地图、FFT频谱、加速度计、陀螺仪、罗盘、数据表格、3D视图、实时摄像头画面……
说实话,很多工具号称功能多,结果一用全是演示级的,根本跑不起来。但这个不一样,60帧刷新率,延迟控制在50毫秒以内,做实时监控完全没问题。
对于需要给甲方做演示、或者需要多路数据同时监控的场景,这个能力非常实用。
配置比写代码快太多,零门槛上手
传统的做法是写界面代码、绑定数据、调样式、调试、再改。Serial Studio的做法是打开项目编辑器,用表单填好数据格式、分组、小部件类型,保存,完事。
更省事的是Quick Plot模式,如果你的设备只是输出逗号分隔的数值,连项目文件都不用建,直接就能看到实时曲线。
举个例子。
你的Arduino输出的是这样的数据:
123.45,67.89,12.34

以前你得自己写Python脚本来画图。
现在只需要启动Serial Studio,选择Quick Plot模式,连接串口,数据就会自动画成三条曲线。
对Arduino玩家来说,这几乎是零门槛。
记录、回放、导出一条龙
调试时最怕的就是刚才那个异常数据怎么没记下来。Serial Studio可以把完整会话存进SQLite数据库,随时回放、打标签、导出CSV或MDF4格式。
还能生成带交互图表的HTML或PDF报告,方便分享给团队或客户。
上面是数据库浏览界面,所有记录的会话一目了然,可以随时回放、打标签、导出。
还能反向控制设备
不只是看数据,还能通过按钮、开关、滑块、旋钮、文本框等控件,向设备发送命令。
支持GCode、SCPI、Modbus、NMEA、CAN等协议,可以定义定时任务进行轮询或周期控制。
对于需要远程调试、参数调整的场景,这个就非常实用。
性能表现不俗
项目上说UI渲染达到60帧,延迟控制在50毫秒以内。支持跨平台运行,Windows、macOS、Linux、树莓派。
实际性能取决于硬件和网络,这个架构设计说明它是真正面向生产环境的,不是那种只能跑Demo的玩具。
官方提供Windows、macOS、Linux安装包。
到 GitHub Releases 下载对应平台的安装包,打开后选 Quick Plot 模式,连上你的 Arduino 或串口设备,让它输出逗号分隔的数据,连接上就能自动画曲线了。
不过有几点得提前说清楚。
项目有开源版和Pro版。开源版功能已经很完整,支持大部分常用协议和可视化组件。
Pro版加了一些其它功能,支持MQTT、Modbus TCP/RTU、CAN Bus等工业协议,还有DBC文件导入、Modbus寄存器映射等高级功能。
假如项目需求比较复杂,需要工业协议支持或者CAN总线解析,可能还要考虑Pro版本。
另外项目是基于Qt框架开发的,UI用的是GPU加速渲染。注意在树莓派等ARM设备上运行时,性能取决于GPU驱动支持情况。
适合什么场景?
需要实时监控硬件数据,不想写GUI代码。
数据源协议复杂,需要统一接入和管理。
需要记录、回放、分析调试数据。
需要快速搭建演示界面给甲方看。
预算有限,希望用开源方案降低成本。
最后说两句
硬件开发领域一直缺好用的通用可视化工具。要么是厂商绑定的专用软件,只能接自家设备;要么是开源框架,功能有了,但得自己从头搭。
Serial Studio至少在当前阶段,提供了一个折中方案——协议够广、上手够快、功能够用。它未必能覆盖所有工业场景,但对大多数硬件调试、原型验证、快速演示来说,已经够用了。
感兴趣的朋友可以试试看。
GitHub:https://github.com/Serial-Studio/Serial-Studio

最后,欢迎随手点赞、在看、转发,也可以给我个星标,我们下期见!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码