嗯 ~~~ 说一下我自己写的串口助手吧, 名字叫 Bittly, 样子呢长下面这个样子
![img](https://img-blog.csdnimg.cn/img_convert/c3a9deea29bbecce9a690c27184cb0d6.webp?x-oss-process=image/format,png)
Bittly 指令调试界面
1. 需求确认
一开始使用的是类似于XCOM或者SSCOM之类的串口调试助手,他们的优点是体积小,拿过来就用,可以说平常使用已经够用了。 但是,一旦遇到比较复杂的参数的时候,问题就出来了,需要手动处理进制转换,大小端之类的问题,如果请求参数格式包含多种数据类型,那基本上就离不开计算器了,大概搜索了一下能找到的几款串口调试助手,都有着不同的限制,要么就是操作界面用着很别扭 ~~~
所以我的初始需求就是:
- 不需要手动进行进制间转换,不论是字节还是整型,又或者是长整型,都要自动处理。
- 当请求参数比较复杂,包含多种类型的时候,也能够自动进行处理,而不用使用者处理转换。
- 能够结构化的构建请求参数,文档上说传什么,我就写什么不要拼接或者转换。
- 能够保存指令数据,支持文件夹分类,没有任何数量上的限制。
- 数据响应也需要能够自动解析到结构化数据。
- 数据响应支持波形图模式查看。
2. 实现方式选择
选择一:语言:C++ 框架:QT
虽然是C++,但是使用QT开发,难度上不高,而且组件丰富,库丰富,实现我需要的需求没问题。而且移植性也没得说,基本上能做到到处编译执行。至于缺点嘛, 毕竟是C++,开发速度上就有点慢了。 假设后期我需要增加扩展功能,也比较麻烦 ~~~
选择二:语言:C# 框架: .net
难度不高,开发速度也比较快,也是比较常用的现在开发上位机的方式。 但是一个致命问题就是移植性不高。我不止要在windows上用,linux, mac(虽然买不起,但也要有要在mac上运行的目标 ~~~) 都要能用,因为这个不是一个专用的软件,而是一个工具软件。
选择三:语言:javascript 框架 :electron
难度很不高,速度飞快, 界面好看,库丰富,后续扩展也比较方便快捷,也可以到处打包,缺点就是运行效率有点低,占用空间大,打出来的安装包也大 ~~~
最终选择:javascript + electron
选择理由:我需要解决我的问题为主要目标,串口调试这种工具类的软件,在效率上来说,js 还是足够的。 那么剩下的就是占用空间和安装包大小的问题,但是这两个对于我来说并不是主要问题,我需要功能好用才是主要,毕竟又小又快又漂亮,这有点耗时间 ~~~
3. 工具开发
当需求确认,实现方式确认之后,基本上就到了实际干活的步骤了。
- 创建项目仓库,用来进行版本管理
- 初始化项目开发环境,例如初始化项目,安装依赖包,配置编辑器等
- 写代码,写代码,写代码 …
4. 工具测试
- 确定初始需求是否已经全部实现
- 执行自动化测试脚本来保证不会出现已知的错误信息,以及保证后续更改不会造成影响
- 使用真实设备进行测试确保无问题
5. 正常使用并修改
一般来说,刚刚写完的在正常使用上都会那么丢丢不顺手的地方,根据实际使用情况进行优化修改。
6. 项目发布
比如分发给同事或者其他需要的人,毕竟没有用户的软件和垃圾一样 ~~~
发布之后基本上就是反馈 -> 优化 -> 发布 这个循环了
最后
为了不让 Bittly 成为垃圾, 所以再次推荐一下, 除了做串口调试之外, Bittly 还支持 网络,蓝牙,WebSocket, HTTP, MQTT,Modbus 等多种通讯方式和通讯协议。
另外还有控制面板能够方便的制作一个上位机控制面板,用来测试和功能演示十分不错,
![img](https://img-blog.csdnimg.cn/img_convert/c8bb165b8837f8b0ff130870552e43fb.webp?x-oss-process=image/format,png)
Bittly 控制面板运行状态组件展示
以及集成化测试,文档输出,环境变量管理等功能 ~~~~
小工具集成了各种服务端小工具,例如串口服务端用于模拟一个串口设备, 支持自动回复,手动回复,随机回复,脚本回复匹配回复等等
![img](https://img-blog.csdnimg.cn/img_convert/35e528ee5af7f1e013a04b2c884c777a.webp?x-oss-process=image/format,png)
TCP 服务端小工具
下载 - Bittly 不止是一个串口调试助手 (~ ̄▽ ̄)~bittly.sigechen.com/download?from=001391635651&title=%E6%80%8E%E4%B9%88%E5%81%9A%E4%B8%B2%E5%8F%A3%E8%B0%83%E8%AF%95%E8%BD%AF%E4%BB%B6![img](https://img-blog.csdnimg.cn/img_convert/74a7b8f504a2d9091efe8e574e29347f.jpeg)
目前已在 Github 上开源,欢迎来 star 还有提问题哈 (~ ̄▽ ̄)~
Github - 四格/Bittlygithub.com/sige5193/bittly
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)