Python MCU UI测试工具开发

使用MicroPython进行单片机开发:MicroPython与Python的关系 介绍了MicroPython与Python的关系,比较了两者的优劣势,并且对一些必要的名词术语进行了介绍,适合初学者对MicroPython的了解 阅读详情

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同事协商此类文件可不加密。这次任务中真的是被文件加密整过好几

嵌入式开发技术栈解析:MCU、Linux应用与驱动开发选择指南 嵌入式系统开发涉及从硬件直接控制到上层业务逻辑的完整技术栈。MCU开发聚焦硬件层,通过寄存器操作和中断处理实现实时控制;Linux应用开发基于操作系统API,处理进程通信和网络编程等业务逻辑;Linux驱动开发则作为硬件抽象层,通过设备树和内核机制连接底层硬件与上层应用。在物联网和智能设备快速发展的背景下,理解这三层技术架构的价值在于能够根据产品需求选择合适方案:实时性要求高的场景适合MCU,复杂业务系统需要Linux应用支持,而定制化硬件则依赖驱动开发。本文基于嵌入式开发者的实际困惑,通过技术对比和项目案 阅读详情

相关推荐

小智AI开发背景知识

ESP32是乐鑫科技开发的WiFi蓝牙SoC芯片,采用高度集成的System-on-Chip设计,将处理器、内存和无线模块集成在单颗芯片中。ESP32-S3是该系列最新型号,配备双核处理器和丰富接口。开发时需了解其固件层次结构:Bootloader引导启动、分区表管理存储布局、主固件实现核心功能。芯片出厂时内置ROM Bootloader,但Flash存储空白,首次使用需烧录分区表和主固件。错误操作可能导致设备变砖,但通常可通过下载模式或JTAG恢复。安全操作建议包括备份关键分区、验证固件兼容性等。

Wins_calculator的博客 1205

2026嵌入式开发从零到精:MCU/Linux双路线实战指南

嵌入式系统作为专用计算机系统,其核心在于对硬件资源的直接控制与高效管理,以满足特定功能的实时性、可靠性要求。其技术原理围绕微控制器(MCU)与微处理器(MPU)两大体系展开,前者侧重寄存器级硬件操作与实时操作系统(RTOS),后者则基于Linux等完整操作系统进行应用与驱动开发。掌握嵌入式开发的技术价值在于打通软硬件壁垒,实现从感知、控制到智能决策的产品闭环,广泛应用于物联网终端、工业控制、汽车电子及消费电子等领域。本文聚焦嵌入式开发实战,系统梳理了从C语言基础、STM32单片机开发到FreeRTOS及嵌入

weixin_34049948的博客 380

32位MCU轻量级OTA方案设计与实现

OTA(空中升级)技术是嵌入式系统实现远程固件更新的关键技术,其核心原理是通过通信链路传输固件数据并完成本地烧录。在资源受限的32位MCU场景下,轻量级OTA方案需要平衡功能完整性和资源占用。mOTA组件采用分层架构设计,包含硬件抽象层、通信协议栈和安全校验机制,支持YModem协议传输和AES256加密。该方案特别适用于工业控制、智能家居等领域的STM32系列芯片,通过三重安全校验和智能分区管理,在保持核心代码仅15KB的同时实现商用级可靠性。对于开发者而言,理解Flash操作、通信协议和中断处理等底层技

weixin_42527589的博客 616

通过HID实现PC与MCU通信:零基础实现双向交互

手把手教你利用HID协议实现PC与MCU之间的稳定双向交互,无需复杂驱动,即插即用。深入浅出讲解HID通信机制,适合嵌入式初学者快速上手实战项目,真正掌握hid应用核心。

weixin_35732273的博客 576

一.国民技术MCU开发之 UART模块

一.国民技术MCU开发之 UART模块 文章目录1.相关开发环境2.UART2的相关硬件配置3.相关时钟配置3.1PB IO 以及复用功能的IO 的时钟使能配置3.2 UART 的时钟使能配置4.UART 初始化配置5.支持printf的相关重定向代码 1.相关开发环境 硬件版本:N32G457QEL_EVB V1.1 软件SDK版本 Nationstech.N32G45x_Library.1.1.1 开发软件:KEIL 2.UART2的相关硬件配置 UART2 TX–PB4 UART2 RX–PB5 //

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 1415

yolov5 onnx推理时报错[ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Unexpected input data type.

yolov5 onnxruntime 推理报错

zjulkw的博客 1223

win11系统ping另一台电脑上VMware虚拟机的IP

我是用了两台电脑,所以刚才遇到一个问题就是两台电脑的IP 在同一局域网内ping不通。于是就找了很多资料,经过坚强的绝望后终于解决了。 下开始解决问题: VMWare提供了三种工作模式:bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。 1. bridged(桥接模式)   在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚

qq_42817360的博客 3238

Cocos Creator发布微信小游戏:深度定制与去除默认加载页面的实践指南

本文详细介绍了如何使用Cocos Creator发布微信小游戏时去除默认加载页面的实践方法。通过修改构建配置和重写启动逻辑,开发者可以自定义加载体验,提升品牌一致性。文章还提供了进阶优化方案和常见问题解决方案,帮助开发者实现更专业的微信小游戏发布流程。

weixin_27972919的博客 568

pikachu靶场: 暴力破解第四关(token防爆破)

Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个 Token 同时将此 Token 返回给客户端。此外,Token 是有时效的,一段时间之后或下一次请求时用户需要重新验证。

X_shiguang的博客 1720

【Lua面试】2021年Lua面试题分享(4.25更新)

lua深拷贝和浅拷贝的区别?如何实现深拷贝? lua中ipairs和pairs的区别? 链接: link.

qq_21407523的博客 2万+

SAP系统从ECC升级至S/4 HANA的实现路径及项目过程

从SAP ECC升级到 S/4 HANA,通常是一个复杂的转型过程,涉及到企业资源规划系统的全面现代化

saplakes的博客 2904

封装POD与PinMap文件总结学习-20250516

芯片封装外形图(POD)和PinMap是芯片设计和制造中的关键文档。POD详细描述了芯片的物理尺寸、引脚布局和封装类型,而PinMap则提供了芯片封装上各个引脚的位置、名称和功能的详细信息。这些文档在芯片设计、制造和应用过程中起到“地图”的作用,帮助设计人员理解芯片的物理和电气特性。在PCB设计中,POD用于确定socket的footprint和pogo的选型,而PinMap则用于器件的合理布局和布线。这些信息对于确保芯片的正确安装和功能至关重要。

歌颂苦难的行为是无耻的; 2372

MIL图像处理那些事:MIL的安装和MIL工具箱

MIL图像处理那些事:MIL的安装和测试,如何用C#使用MIL

十多年IT经验,专注机器视觉,智能制造半导体行业 5274

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: Charles https抓包
下一篇: Python3:Socket通信(Socket模块)
ll_cloud
博客等级 码龄17年 35粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值