IoT——Micropython之迅速上手

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已经安装成功。

esptool

擦除Flash 数据

首先我们需要找到连接到ESP8266小开发板上的COM 口,可以在设备管理器里查看,因为刚才开启了cmd,所以也可以在cmd中输入命令行进行查看:

C:\Users\Administrator>mode

之后会有如下图所示的画面,显然COM3就是我们连接上的端口,记住这个端口号:

mode

直接在命令行中打出 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

等待板子上的灯闪烁两下后,表示固件烧录成功,结果显示如下:

Dowmload

通过串口调试助手进入解释器

默认的固件是可以通过串口进行数据传输的,也就说,用普通的串口助手都可以实现与解释器的对话.上电复位,串口就会打印相关信息,在这里,我们推荐这款工具 MicroPython File Uploader.exe .用起来还可以吧,界面有点不友好,功能是能够满足了,效果显示如下图:

helper

选择COM3口就不用多说了,这个工具还可以帮助我们往ESP8266开发板上的Flash里存储 和 查看文件,最重要的是支持解释器的操作,可以通过python的解释器进行操作。

比如简单的计算及打印功能:

example

After

至此,已经讲述了,如何对ESP8266进行Flash擦除和烧录,并且利用串口调试助手进行简单的解释器操作,其实接下来完全可以进行根据官方给的手册进行学习了。

如果觉得学习起来比较乏味,我后面也会陆续更新相关的教程。

快速引导

这里留一下课程安排:

  1. 快速上手之控制板载灯
  2. 驱动12864 OLED显示屏
  3. 3D正方体框架显示
  4. 长字符串显示的方式
  5. ESP8266连接到网络
  6. ESP8266接入贝壳物联
  7. ESP8266接入贝壳物联控制器件

更新日志

2019-05-14,初稿更新本篇。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShareWow丶

前人栽树,分享知识,传播快乐。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值