ESP8266开发板使用MicroPython,开发板刷固件

  • A+
所属分类:micropython系列

什么是Micropython

Micropython的由来,这得益于Damien George这位伟大的计算机工程师,Damien George每天都会使用Python工作,他有一天冒出一个大胆的想法:能否用Python来控制单片机,从而有了Micropython

 
 

准备一块开发板,消耗一包烟钱

获得一块支持MicroPython固件的单片机开发板,我们可以去官网进行查询。

http://micropython.org/download/ 从网站上我们可以看到支持的硬件

Pyboard 是Micripython 赞助公司自己出的一款产品,

STM32 是应用最广泛的一个单片机

我手上主要是ESP8266系列的单片机开发板,为什么选择这个了,就两个字便宜,某宝10几元还包邮。找找部分店家还带OLED显示屏

090620 0756 ESP8266M1 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

 
 

看看ESP8266庐山真面目

这次以ESP8266单片机开发板做演示,这里注意了,单片机模块和单片开发板有一点点区别,

ESP8266单片机模块是核心运行地方,单独使用单片机模块电路信息需要自己动手做,比如烧录程序的电路,开发板的价格都白菜价格了,没必要自己去折腾电路了,如果真的遇到空间问题等需要自己使用模块的时候,估计你已经是个大神了,ESP8266提供Wifi的支持,是我们学习入门智能家居的不二选择。缺点是引脚还是有点少,不能连接太多的设备,前期我们使用已经足够。

关于ESP芯片相关信息可以参考乐鑫官网 https://www.espressif.com/zh-hans/

 
 

小提示:某宝的10几块包邮的多数都不是乐鑫原厂的,但是香就行了,放张图片,各大作坊大同小异

090620 0756 ESP8266M2 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

 
 

 
 

由图上可知,我们需要准备一根MicroUsb数据线,前两年的安卓机数据线,注意需要质量特别好,不然会导致不识别芯片。

 
 

然后我们还需要确认自己开发版本使用的USB串口芯片是那个。上图中的蜈蚣,是CH340芯片,这个开发板另外一种芯片CP2102的四方形的。

 
 

如果不知道就问问店家,顺便让店家提供驱动。

 
 

驱动单片机开发的USB转串口

 
 

我这板子是CH340,首先下载驱动,https://sparks.gogo.co.nz/ch340.html

下载后直接双击运行安装即可,然后把MicroUsb接上开发板,另外一头接电脑上的USB接口上2.0和3.0都可以。

090620 0756 ESP8266M3 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

如果正常的情况的话我们在设备管理器中应该就可以看到一个串口设备。

打开设备管理器,我们可以在开始运行里面输入devmgmt.msc,即可打开

090620 0756 ESP8266M4 - ESP8266开发板使用MicroPython,开发板刷固件

名字是里面包含CH340,括号里面的编号我们要记住后期用。这个叫端口号,COM接口号

如果没有,重启电脑,换根数据线。尝试,如果插入USB模块上的灯会闪,然后你手机搜索无线,发现有新的名字无线设备,确定就是你线的问题。

090620 0756 ESP8266M5 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

 
 

 
 

准备MicroPython固件

下面准备开始刷MicroPython固件,首先我们下载相应固件,注意对找到自己的芯片型号。

http://micropython.org/download/esp8266/

 
 

下载最新的稳定版本就行,下面有每天的版本,还有注意我们下载我们板子能承受得大小,找买家要相关资料。

090620 0756 ESP8266M6 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

 
 

准备Python执行环境,运行刷固件工具,以及后续开发需要

由于我们是要基于python去开发首先我们安装Python语言,注意需要pyhton3.6 以上版本,windos安装程序,安装过程不做多说

下载地址:https://www.python.org/downloads/release/python-385/

090620 0756 ESP8266M7 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

安装的时候把pip选择上,然后为所有用户安装。

090620 0756 ESP8266M8 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

 
 

 
 

安装完成,我们在cmd命令行中输入。python -V ,如果不报错证明我们安装完成。

如果显示没有识别,我么可以手动加入,在CMD输入PATH=PATH;python的安装目录

 
 

090620 0756 ESP8266M9 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

准备esptool 刷固件的程序

然后我们安装MicroPython提供的刷固件程序esptool

注意CMD程序,邮件要使用管理员运行,不然,后期,无法直接使用命令。

执行 pip install esptool,如果没有这个命令可能是你上一步没有选择pip或者环境变量没有设置

090620 0756 ESP8266M10 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

 
 

确认所有操作是否已经就绪

 
 

基础环境已经准备完成,我们再次回归确认下

硬件

1、ESP8266开发主板

2、MicroUsb线

软件

1、CH340串口驱动程序,安装并且得到COM端口

2、python语言程序文件

3、python管理包esptool

4、esp8266 micronpython固件文件

090620 0756 ESP8266M11 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

开始刷micronpython固件

保证开发板和电脑正常连接

首先我们要开启cmd窗口,路径切换到固件的目录,首先先清除开发板上现在的内容,相当于格式化

如果是linux 环境指定COM端口设备文件即可

esptool.py --port COM端口 erase_flash

090620 0756 ESP8266M12 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

然后写入MicroPython的固件

esptool.py --port COM3端口--baud 460800 write_flash --flash_size=detect -fm dio 0 镜像.bin

090620 0756 ESP8266M13 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

等进度条走完,这时候已经OK了,记住需要断电重启,拔掉USB在接上。

 
 

开始登陆我们的开发板

我们准备一个支持COM连接工具有很多,这里用最简单的putty,以下是下载地址

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

打开软件我们首先选择Serial,手写我们的COM端口,速率一点设置115200,然后点击Open,就可以链接上我们开发板了,

090620 0756 ESP8266M14 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

如果像下面这样按任何按键没反应就是你没有重启开发板

090620 0756 ESP8266M15 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

 
 

开始我们的编程之路第一个程序hello Word

让我们写一个简单的程序hello word

090620 0756 ESP8266M16 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

 
 

后记,由于写程序测试的时候,经常会让开发板异常,会经常遇到需要重新刷固件,我们可以把命令直接放到BAT中,双击即可升级

@echo off

echo "开始清除主板上数据"

esptool.py --port COM3 erase_flash

echo "开始写入新的镜像数据"

esptool.py --port COM3 --baud 460800 write_flash --flash_size=detect -fm dio 0 esp8266-20191220-v1.12.bin

 
 

pause

 
 

090620 0756 ESP8266M17 - ESP8266开发板使用MicroPython,开发板刷固件

 
 

本文档中所有用到的软件

链接:https://pan.baidu.com/s/1JzbPwTtpu6G7AplqjdRa2A

提取码:8ukw

 
 

下篇文章 : 在windows上安装micropython开发环境

 
 

 
 

头像

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: