一、缘起Raspberry Pi Pico
为什么想起写这篇microPython环境搭建的教程呢?
起因是最近入手了一块Raspberry Pi RP2040,通过它第一次知道有microPython这么一个系统。原先的概念中一直只知道ucos、free-rtos、rt-thread、mbed这些比较常用的嵌入式操作系统。
二、初识microPython
对于Python也接触的不多,只是偶尔在visual studio上用来处理一些数学运算。
通过百度我对MicroPython的了解也只是这么浅薄:
- MicroPython是 Python 3 语言 的精简高效实现 ,包括Python标准库的一小部分,经过优化可在微控制器和受限环境中运行。
- MicroPython包含了诸如交互式提示,任意精度整数,关闭,列表解析,生成器,异常处理等高级功能。 足够精简,适合运行在只有256k的代码空间和16k的RAM的芯片上。
- MicroPython旨在尽可能与普通Python兼容,让您轻松将代码从桌面传输到微控制器或嵌入式系统。
- MicroPython是基于Python 3.4的语法标准。因为要适应嵌入式微控制器,所以裁剪了大部分标准库,仅保留部分模块如math、sys的部分函数和类。此外,很多标准模块如json、re等在MicroPython中变成了以u开头的ujson、ure,表示针对MicroPython开发的标准库。
目前,MicroPython除了可以运行在最初开发的pyboard微控制器上外,还可以运行在大量基于ARM的嵌入式系统,如Arduino,这样我们就可以通过Python来非常方便地开发自动控制、机器人这样的应用。
为了将系统跑起来,当然免不了下载固件。于是就来到了microPython网站(http://micropython.org/)。下载固件的时候,突然眼前一亮,发现支持ESP8266!这时我想起了吃灰很久的ESP8266小黄板。
三、平台初建
根据网上各位前辈的帖子,总共分为两步:擦除整片的flash和从0x00地址下载固件bin。
以管理员身份安装esptool和pyserial。(我电脑上已经安装过了)
配置模块硬件引脚,使其进入下载模式:CH_PD(EN)=高,RST=高,GPIO2=高,GPIO15=低,GPIO0=低。
执行esptool.py --port COM9 erase_flash进行擦除。(我电脑上识别的串口是COM9)
接下来就是用乐鑫官网的下载工具down固件。(flash_download_tool_v3.8.5_1)
根据自己模块的信息设置SPI MODE和FLASH SIZE。
下载完成后,重新上电进入运行模式,就可以用Thonny进行编程了。关于api的使用,在http://docs.micropython.org/en/latest/esp8266/quickref.html#networking网页中有详细示例和说明。
之前没有小黄板的原理图,犯了一个错误(跳线帽没拔掉),导致一直在下载模式。
四、结语
使用microPython的好处在于不需要安装IDE,随时随地可以升级ESP8266的程序。相信很多多平台开发的小伙伴们,对于电脑上安装了太多IDE,苦于日常工作中系统运行越来越慢,特别痛苦。(本人电脑仅安装了Microsoft Visual Studio、Keil uVision、MCUXpresso IDE、STM32CubeIDE、MPLAB X IDE以及一些常用办公和图形软件)
而且板载的诸多外设,如PWM、SPI、I2C、netwok能够满足我们常用的调试需求。
献上此篇给和我一样想要不依赖IDE编程的小伙伴们。