IoT——Micropython之迅速上手
阅读官方文档为首要任务,上手的例子都会是从官方网站上获取的,如果不愿意自己门头看,那就跟着我走吧。
这里贴上Micropython 官方手册,这个版本是1.9.4 老样子可以去官网下载最新版本的,如果懒得去找就可以下载我这版,如果没有C币,留言后免费发送。
文档的最前面是对 Python
的标准库及micro-libraries
的详细介绍,这部分需要自己详细看,对于学过 Python
的伙伴们来说内容也比较好理解,我们就从主要内容直接开始.
ESP8266烧录Micropython解释器
从文档的221页开始,首先拿出我们买的ESP8266的模块,我买的上面的串口是 CH340
所以硬件连接电脑的时候,电脑需要安装相关驱动,这里给出CH340
驱动的连接地址:
安装工具
需要借助软件工具,对连上电脑的ESP8266模块进行flash的烧录.
工具的链接地址为你可以在这找到 ,也可以使用 pip
工具安装:
pip install esptool
当前esptool版本为 1.3 ,支持Python2.7 和Python3.4以及更新的版本.这里放一下我使用的情况,使用pip3 安装,提示我可以更新到新版的pip,所以就更新了,而后提示 esptool已经安装成功。
擦除Flash 数据
首先我们需要找到连接到ESP8266小开发板上的COM
口,可以在设备管理器里查看,因为刚才开启了cmd,所以也可以在cmd中输入命令行进行查看:
C:\Users\Administrator>mode
之后会有如下图所示的画面,显然COM3就是我们连接上的端口,记住这个端口号:
直接在命令行中打出 esptool.py 就能获得对应使用信息如下,这里不仔细介绍,自己看喽:
C:\Users\Administrator>esptool.py
esptool.py v2.6
usage: esptool [-h] [--chip {auto,esp8266,esp32}] [--port PORT] [--baud BAUD]
[--before {default_reset,no_reset,no_reset_no_sync}]
[--after {hard_reset,soft_reset,no_reset}] [--no-stub]
[--trace] [--override-vddsdio [{1.8V,1.9V,OFF}]]
{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,version}
...
esptool.py v2.6 - ESP8266 ROM Bootloader Utility
positional arguments:
{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,version}
Run esptool {command} -h for additional help
load_ram Download an image to RAM and execute
dump_mem Dump arbitrary memory to disk
read_mem Read arbitrary memory location
write_mem Read-modify-write to arbitrary memory location
write_flash Write a binary blob to flash
run Run application code in flash
image_info Dump headers from an application image
make_image Create an application image from binary files
elf2image Create an application image from ELF file
read_mac Read MAC address from OTP ROM
chip_id Read Chip ID from OTP ROM
flash_id Read SPI flash manufacturer and device ID
read_flash_status Read SPI flash status register
write_flash_status Write SPI flash status register
read_flash Read SPI flash content
verify_flash Verify a binary blob against flash
erase_flash Perform Chip Erase on SPI flash
erase_region Erase a region of the flash
version Print esptool version
optional arguments:
-h, --help show this help message and exit
--chip {auto,esp8266,esp32}, -c {auto,esp8266,esp32}
Target chip type
--port PORT, -p PORT Serial port device
--baud BAUD, -b BAUD Serial port baud rate used when flashing/reading
--before {default_reset,no_reset,no_reset_no_sync}
What to do before connecting to the chip
--after {hard_reset,soft_reset,no_reset}, -a {hard_reset,soft_reset,no_reset}
What to do after esptool.py is finished
--no-stub Disable launching the flasher stub, only talk to ROM
bootloader. Some features will not be available.
--trace, -t Enable trace-level output of esptool.py interactions.
--override-vddsdio [{1.8V,1.9V,OFF}]
Override ESP32 VDDSDIO internal voltage regulator (use
with care)
C:\Users\Administrator>
这是正事
使用 esptool.py 你可以通过这样的命令行擦除flash中的数据:
esptool.py --port COM3 erase_flash
这是官方给的,WIN10的com口好像不是这样叫的,所以我的命令是如下所示,目前我们最好把工作路径,包括后面用到的flash固件拷贝到安装esptool的路径,比如:C:\Python3\Lib\site-packages>
esptool --port COM3 erase_flash
// cmd 中的命令显示如下
C:\Python3\Lib\site-packages>esptool --port COM3 erase_flash
esptool.py v2.6
Serial port COM3
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: 3c:71:bf:32:06:f8
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 7.5s
Hard resetting via RTS pin...
C:\Python3\Lib\site-packages>
P.S. 注意,使用工具的时候,该端口千万不能被别的软件占用,比如说串口工具,如果烧录不成功,请根据提示尝试多次插拔开发板接口。
下载新的fireware并烧录
官方烧录固件在这个地址, 这里我们选择ESP8266的对应固件,可以尽量选择最新版本的,本次使用的版本固件是:esp8266-20180511-v1.9.4.bin
在该固件目录下,同样也需要有esptool工具,就可以这样烧录:
esptool --port COM3 --baud 460800 write_flash --flash_size=detect -fm dio 0 esp8266-20180511-v1.9.4.bin
等待板子上的灯闪烁两下后,表示固件烧录成功,结果显示如下:
通过串口调试助手进入解释器
默认的固件是可以通过串口进行数据传输的,也就说,用普通的串口助手都可以实现与解释器的对话.上电复位,串口就会打印相关信息,在这里,我们推荐这款工具 MicroPython File Uploader.exe .用起来还可以吧,界面有点不友好,功能是能够满足了,效果显示如下图:
选择COM3口就不用多说了,这个工具还可以帮助我们往ESP8266开发板上的Flash里存储 和 查看文件,最重要的是支持解释器的操作,可以通过python的解释器进行操作。
比如简单的计算及打印功能:
After
至此,已经讲述了,如何对ESP8266进行Flash擦除和烧录,并且利用串口调试助手进行简单的解释器操作,其实接下来完全可以进行根据官方给的手册进行学习了。
如果觉得学习起来比较乏味,我后面也会陆续更新相关的教程。
快速引导
这里留一下课程安排:
- 快速上手之控制板载灯
- 驱动12864 OLED显示屏
- 3D正方体框架显示
- 长字符串显示的方式
- ESP8266连接到网络
- ESP8266接入贝壳物联
- ESP8266接入贝壳物联控制器件
更新日志
2019-05-14,初稿更新本篇。