Summary
近段时间需要针对MCU实现一个老化测试工具,MCU使用的板子是ESP32。在此做个总结。
本次开发过程中涉及到的技术点:
- Python(V3.7.3)
- MicroPython:极精简高效的实现了Python3语言。它包含Python标准库的一小部分,能在单片机和受限环境中运行
- Protocol Buffers:are a flexible, efficient, automated mechanism for serializing structured data;本次使用proto3
- serial:串口通信协议,PC通过串口与板子进行通信
- PyQt5(V5.11.3):将ui文件转换成py文件
- QtDesigner(V5.11.3):图形设计器
- PyInstaller(V3.6):将Python工程打包成可执行的exe程序
操作系统:win7 64bit
问题汇总
- 在Python环境调好的脚本,上传到MCU上后运行报错:ImportError: no module named
这是因为MicroPython仅包含Python标准款的一小部分
- 打包成exe后,上传到MCU的脚本运行第一行就报语法错误
因为py文件在PC端被加密了,在exe中上传的是加密后的文件;不想频繁的解密,就将上传源文件改成txt格式、目标文件的格式还是py的,这样在MCU上仍旧可以跑
- QtDesigner重新打开ui文件 或者 将ui文件转换成py文件,第一行就报语法错误
因为ui文件也被加密了;后与IT同事协商此类文件可不加密。这次任务中真的是被文件加密整过好几

本文总结了一次使用Python和MicroPython在ESP32 MCU上开发老化测试工具的过程,涉及Protocol Buffers、PyQt5、QtDesigner和PyInstaller等技术。在开发中遇到的挑战包括Python环境与MicroPython环境的模块差异、打包成exe后的加密问题以及QtDesigner文件加密导致的错误。解决方案包括将py文件以txt格式上传和确保ui文件不被加密。此外,还讨论了UI设计原则和打包策略。
最低0.47元/天 解锁文章
1920

被折叠的 条评论
为什么被折叠?



