【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
嵌入式开发当中,有一类嵌入式产品是很有意思的,那就是工具类的嵌入式产品。比如烧入image,比如采集数据,比如自动化测试,比如机器视觉测试,都属于这一类。这一类产品,嵌入式产品只是负责数据采集,或者说偏向于执行的功能,还有一部分是偏向于上位机开发,这部分大家也要重视起来。

1、上位机性能高
所谓的上位机,一般是pc。**pc要比嵌入式模块的性能高很多,可以做很多嵌入式模块做不了的事情。**所以对于嵌入式采集到的数据,非常适合上位机来分析和处理。
2、AI让上位机开发变得容易
之前的上位机开发,一般都是wpf,或者是qt,这些都需要专门的开发人员来做。现在有了ai的加持,上位机完全可以让ai来处理,人工上面没有额外的负担。
3、一开始不需要C+Qt
编写上位机的时候,如果需求和方向还没有定下来,没有必要就用c+qt的方式进行开发。这个时候用python+pyside也是完全可以的。比如说,用qt编写界面、处理业务、分析嵌入式设备送上来的数据,肯定是可以的。
MCU:ESP32
PC:Python + PySide6
通信:Serial / CAN / TCP / UDP
数据:SQLite
图表:pyqtgraph
打包:PyInstaller
而且,对于前期产品的验证阶段,过度地投入上位机设计,也是得不偿失的。这个时候,还不如用python+pyside的方法来处理,这是比较好的一个选择。等到后期需求稳定,或者说客户确实有需求的时候,再用c+qt进行开发,也是完全可行的。
CSV/Excel 数据导出
SQLite 测试数据库
matplotlib/pyqtgraph 波形
自动生成测试报告
固件下载
自动烧录
日志解析
JSON/YAML 测试配置
Python 脚本化测试流程
4、把精力放在问题的解决上
如果是个人用esp32做设备,同时编写固件代码和上位机代码,肯定精力上是有点分心的。不过现在的好处是,目前这一部分,ai可以帮助我们分担很多的工作。加上esp32本身是比较成熟的模块,python+pyside的开发也比较成熟,相关的模块也比较容易买到,所以对于个人来说,这个时候需要做的就是定义场景和发现问题,这一点可能比软件和硬件本身更加重要。
如果可以用python、qt、esp32等资源,能够快速发现和解决问题,也是非常有意思的一件事情。
5、比上位机开发更重要的是思维转变
很多时候,对于技术人员来说,常常考虑的是怎么去解决问题。但是比解决问题更难的,是解决什么问题?**这个问题,很多时候就是客户的需求。**比如这个需求是不是真实的,有没有难度,和自己的专业特长是否关联,有没有门槛,客户是否愿意付费解决,是不是有更好的办法去解决,自己去做有什么优势,这些思考和练习,很多时候比怎么解决这个问题更加重要。
另外一点,技术人员很容易在一开始的时候就关注细节,这一点其实没有必要。如果需求的问题都没有解决,其实后面所有的思考都是水中月、镜中花,都是不成立的。