扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

改了MicroPython的mip源码!低版本ESP32也能一键装upypi/gitee包了

03/31 08:38
74
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

用 ESP32 刷过老版本 MicroPython 固件的朋友,一定懂这种崩溃:

    想装个 upypi 上的包,mip 直接报错「不支持相对目录」想拉取 gitee/gitcode 的代码,还要手动拼长长的 URL,手都敲酸老固件更不上新特性,想装个新包简直要了命

今天,有一位开发者魔改了 MicroPython 的 mip 源码,做了这个 mips 工具:专门给低版本 mip 续命,还加了国产平台简写,让 ESP32 也能一键装包!

mips 是什么?给老版 mip 打个「增强补丁」

mips 是基于 MicroPython 官方 mip 源码修改的增强版工具,核心解决两个痛点:

低版本 mip 不支持相对目录:package.json 全用绝对地址,老固件也能直接下载

国产平台访问麻烦:新增 upypi:/gitee:/gitcode: 三种简写,一行命令拉取国产仓库

它完全兼容原生 mip 语法,你甚至可以把它当成「更好用的 mip」来用 —— 老项目不用改一行代码,直接替换就能跑。

核心功能亮点:这几个特性太香了

✅ 兼容低版本固件:哪怕是几年前的 ESP32 老固件,也能通过 mips 正常安装包,再也不用为了装包刷固件

✅ 国产平台简写

upypi:microflask

      •  → 自动映射到

https://upypi.net/pkgs/microflask/gitee:wth_iw0/microflask

      •  → 直接拉取 gitee 仓库代码

gitcode:wth_iw0/microdns

      •  → 支持 gitcode,还加了

sleep(2)

      •  反爬机制

✅ 双版本运行

mips.py:给 MicroPython 开发板用,直接跑在 ESP32 上

mips_cpy.py:给标准 Python 用,电脑上也能提前下载包,再传到开发板

✅ 智能路径管理:mips_cpy 会自动找 lib 文件夹(优先级高于 Lib),没有就存当前目录,不用手动建文件夹

✅ debug 模式:加了 debug=True 参数,能看到完整下载日志,哪里报错一眼看清

手把手教你用:5 分钟跑通

库的地址就在 upypi 上:https://upypi.net/
搜索:mips

点击详情页 ,进入 复制 下载 指令即可:

看到终端输出 Done,就说明安装成功了 ——mips.py 和 mips_cpy.py 会自动传到 ESP32 的 /lib 目录。

详细说明可看:https://upypi.net/zh/pkgs/mips

原理简述

URL 重写:新增 _rewrite_url() 函数,把 upypi:/gitee:/gitcode: 自动转成完整 URL

反爬机制:针对 gitcode,在下载前加了 sleep(2),避免被反爬拦截

输出优化:修改了 Copying 日志,加上了完整 URL,方便排查问题

路径兼容:把 package.json 里的相对路径全改成绝对路径,让低版本 mip 能识别

标准 Python 适配:把 MicroPython 专属 API 替换成标准 Python 兼容的写法,做出了

mips_cpy.py

相关推荐