MicroPython笔记

基于 ESP8266 之前折腾过 nodemcu《天热了给鱼缸来个自动增氧🐟》,再玩玩 micropython,这里记录一些简单的笔记(持续更新…)。

micropython 适配的板子比较多,项目也比nodemcu更加活跃,相关库和开发体验也更好。另外也打算用Python玩点机器学习AIoT MaixPy

想起一句话:人生苦短,我用Python!

MicroPython

MicroPython 是基于 Python3 的语法做的一款解析器,包含了 Python3 的大多数基础语法, 主要运行在性能和内存有限的嵌入式芯片上。(注意 Micropython 不包含 Python3 的所有语法)

MicroPython支持大量的基于ARM的体系结构,已经运行于ArduinoESP8266ESP32。在2016年,Python软件基金会创建了MicroPython的BBC Micro Bit版本,作为其BBC Micro Bit合作伙伴贡献的一部分。

.mpy文件

MicroPython定义了.mpy文件的概念,该文件是一种二进制容器文件格式,其中包含预编译的代码,并且可以像普通的.py模块一样导入。这些.mpy文件可以包含字节码,该字节码通常是通过mpy-cross程序从Python源文件(.py文件)生成的。对于某些体系结构,.mpy文件还可以包含本机代码,可以通过多种方式生成本机代码,尤其是从C源代码生成。

screen 终端粘贴执行多行代码

当我们有多行代码是从其它地方复制过来的,比如

import os
f = os.listdir()
print(f)
>>> 
paste mode; Ctrl-C to cancel, Ctrl-D to finish
=== import os
=== f = os.listdir()
=== print(f)
['boot.py','main.py', 'freq.conf']
>>>

如果数据量比较大,串口可能丢失数据,会导致提示语法错误,可以多试几次

IDE

RT-Thread MicroPython VSCode 最好用的 MicroPython 插件

MicroPython 入门必读

本文档将初步介绍 MicroPython 的基本概念,RT-Thread MicroPython 的特性与优势,以及可以被用在哪些领域。

https://www.rt-thread.org/document/site/submodules/micropython/docs/introduction/

相关资料:

https://pythonforundergradengineers.com/upload-py-files-to-esp8266-running-micropython.html

https://learn.adafruit.com/micropython-hardware-ssd1306-oled-display/micropython