本文基于https://github.com/pfalcon/awesome-micropython汇总而来,并加入自己的理解,推荐给大家,方便大家在自己的micropython上发挥更多创意,去做更多更好更棒的作品。
MicroPython(以下用mpy简称)被称为“Python的嵌入式版本”。其内容远远不止于此。
首先,不得不介绍的就是mpy的官方代码仓库,它的维护人是Damien George。官方github是这里:https://github.com/micropython/micropython。它的官网则是这里:https://micropython.org/
mpy在Github有超过2000个forks,以下是几个值得了解的forks:
mpy的第二大贡献者(〜35%)。致力于进一步开发最初对主线起作用的所有重要功能-流I / O接口,异步支持,节省内存的API等。还用于优化,错误修复和改进的文档。与主线同步。地址:https://github.com/pfalcon/pycopy
支持现代通信标准,例如LoRa,Sigfox等。地址:https://github.com/pycom/pycom-micropython-sigfox
具有教育意义的mpy fork,专注于特定供应商的微控制器板。在线教程和教育资源的丰富性。地址:https://github.com/adafruit/circuitpython
用于机器视觉板的mpy fork。地址:https://github.com/openmv/openmv
专注于ESP32。包装了许多C库。地址:https://github.com/loboris/MicroPython_ESP32_psRAM_LoBo
不要错过这个项目README,除了最外面的,它项目里面还有很多README,学会了解开源项目。地址:https://github.com/micropython/micropython
官方的文档,比mpy更新要慢。地址:http://docs.micropython.org/en/latest/
更完整,语言方面和内置模块的在线可搜索文档。地址:https://pycopy.readthedocs.io/en/latest/
MicroPython是Python语言的一种实现,因此可以查看相关python官方文档去了解语法方面的知识。地址:https://docs.python.org/3.5/
这是一款编辑器的文档,也有很多内置库的相关说明,重点是有中文。地址:http://docs.dfrobot.com.cn/upycraft/
mpy本身自带REPL,我们通过USB连接到uart就可以通过终端或者串口查看器就访问。
WebREPL,通过开启了weberpl后通过wifi可以在浏览器中进行REPL。官方链接:https://micropython.org/webrepl/,也可以在本地部署:https://github.com/micropython/webrepl/
有直接在MicroPython设备上(或在MicroPython进程中)运行的shell,也有在主机上运行并连接到设备的shell
使用Python语法的最小文件shell,即使内存很少也适用于设备。源自于pycopy-lib。 链接:https://github.com/pfalcon/pycopy-lib/tree/master/upysh
基于cmd的简单shell。链接:https://github.com/dhylands/upy-shell
mpy的远程shell。地址:https://github.com/dhylands/rshell
用于基于mpy设备的基于shell的简单文件浏览器。地址:https://github.com/wendlers/mpfshell
通过串行连接与MicroPython开发板交互的实用程序。地址:https://github.com/scientifichackers/ampy
软件包可以通过包索引(PyPl)分发,就像其他任何python实现的软件包一样。对于可以上网的设备,可以使用upip软件包管理器进行安装,对于不可上网的设备,可以通过将软件包下载到主机上,然后复制到设备。为了获得最高的ram效率,可以将软件包打包成为micropython二进制文件。
https://marketplace.visualstudio.com/items?itemName=RT-Thread.rt-thread-micropython
https://thonny.org/
https://blog.jetbrains.com/pycharm/2018/01/micropython-plugin-for-pycharm/
https://plugins.jetbrains.com/plugin/9777-micropython
https://github.com/mu-editor/mu
https://github.com/DFRobot/uPyCraft
https://github.com/BetaRavener/uPyLoader
官方的标准库,如果想看源码的可以看这里。地址:https://github.com/micropython/micropython-lib
Pycopy项目的标准库。从CPython移植的数十个模块,数十个专门为Pycopy开发的模块。地址:https://github.com/pfalcon/pycopy-lib
pycopy-lib还提供了在CPython上运行的Pycopy模块的重新实现(“反向端口”)。地址:https://github.com/pfalcon/pycopy-lib#cpython-backports
uasyncio是一个极简主义的异步调度库,大致仿照Python的asyncio。地址:https://pypi.org/project/pycopy-uasyncio/
内置模块,用于简单的与设备无关的图形。文档地址:http://docs.micropython.org/en/latest/library/framebuf.htm
基于framebuf类的显示驱动程序的轻量级MicroPython GUI库。地址:https://github.com/peterhinch/micropython-nano-gui
基于LittlevGL GUI库的绑定。地址:https://github.com/littlevgl/lv_binding_micropython
具有最小依赖性的轻量级TUI小部件工具包。在MicroPython和CPython中均可使用。地址:https://github.com/pfalcon/picotui
帧缓冲区上的MicroPython终端(dupterm)。地址:https://github.com/boochow/FBConsole
内置模块,简单的“ NoSQL”数据库,具有类似于字典的界面,基于著名的BerkeleyDB 1.xx库。文档地址:https://pycopy.readthedocs.io/en/latest/library/btree.html
pycopy模块,重新实现了Python的sqlite3。地址:https://pypi.org/project/pycopy-sqlite3/
Redis客户端。地址:https://github.com/dwighthubbard/micropython-redis
另一个Redis客户。地址:https://github.com/SpotlightKid/picoredis
MySQL客户端。地址:https://github.com/dvrhax/uPyMySQL
pycopy模块,实现了python的requests库。地址:https://pypi.org/project/pycopy-sqlite3/
DNS查询。地址:https://pypi.org/project/pycopy-udnspkt/
基于“ uasyncio”模块的真正最小的Web应用程序框架。地址:https://github.com/pfalcon/picoweb/
适用于MicroPython和CPython的功能强大的新型嵌入式Web服务器。地址:https://github.com/jczic/MicroWebSrv2
MicroPython的外函数接口模块。从动态库或仅在内存中调用C等函数。地址:https://pycopy.readthedocs.io/en/latest/library/ffi.html
MicroPython的“外部数据”接口。用C语言的表达能力访问二进制数据结构。通常一起使用的“ ffi”和“ uctypes”模块。地址:https://pycopy.readthedocs.io/en/latest/library/uctypes.html
JavaVM集成模块(使用JNI)。地址:https://github.com/pfalcon/pycopy/blob/pfalcon/ports/unix/modjni.c
自动从C头文件为ffi/uctypes模块生成绑定。地址:https://github.com/pfalcon/pycopy-ffigen
C ++包装器,可轻松将C ++代码与MicroPython进行接口。地址:https://github.com/stinos/micropython-wrap
LLVM C API的绑定。地址:https://github.com/pfalcon/ullvm
内置模块,可实现正则表达式语法的子集。文档地址:https://pycopy.readthedocs.io/en/latest/library/ure.html
基于PCRE库的更完整的正则表达式实现,在很大程度上与完整的CPython re语法兼容。地址:https://pypi.org/project/pycopy-re-pcre/
基于生成器的内存使用率低的微型模板引擎。地址:https://github.com/pfalcon/utemplate
符号计算机代数系统(CAS)地址:https://github.com/AaronKel/uMath
ulab是numpy用于micropython和CircuitPython的类似数组操作库。地址:https://github.com/v923z/micropython-ulab
姿态传感器。地址:https://github.com/micropython-IMU/micropython-fusion
rgb led驱动。地址:https://github.com/JanBednarik/micropython-ws2812
超声波传感器。地址:https://github.com/rsc1975/micropython-hcsr04
姿态传感器。地址:https://github.com/tuupola/micropython-mpu9250