初次尝试ESP8266带CH340串口开发板踩过的坑


前言

偶然机会听到ESP系列物联网模板,从淘宝淘了块12.5的ESP8266开发板玩玩,记录一下从无处下手到第一个程序运行成功的一些踩过的坑,打算写成一个系列文章,记录个人成长,同时若能对后来人有所启发的话就更有价值了。

从淘宝再三比价决定入手一款不知名厂家了出的开发板,ESP8266开发板,带CH340串口通讯。店家没有全套资料,详细参数也不全,都是用的乐鑫和安信可的网站链接作为自己的产品介绍……


踩坑记录

1.CH340驱动安装失败原因竟在microUSB数据线

最先接触的教程是B站上的一个视频,拿到开发板倒腾的第一天就卡在驱动上.。
故障现象:开发板用数据线连在电脑上在串口表里看不到串口号。
解决过程:尝试换了店家给的和官网的驱动仍然看不到串口,然后开始怀疑买到假货或者是瑕疵品,但看了店家销量有好几百个,应该没这么好运气吧,一周后的周六4/9突发其想换了根数据线,听到台式机电脑叮咚一声,心想有门儿,果然打开设备管理器看到串口号COM6。可以确认是microusb数据线是不能传数据功能的那种,顺路把手头的几根数据都检查了一遍,果然发现各只有三根数据可用。CH340驱动下载地址:https://sparks.gogo.co.nz/ch340.html
串口在这里插入图片描述

2.microPython固件刷写闹笑话

根据网上教程想用python操作开发板,得刷micropython固件,相应地还得有一款得心应手的刷写工具。固件从官网可以可下载,http://micropython.org/download/esp8266/
下面是各版本实测踩过的一些坑:

esp8266-1m-20210902-v1.17.bin,不能正常启动,一直报乱码。
esp8266-1m-20220117-v1.18.bin,与1.17相同问题。

esp8266-20210418-v1.15.bin,01studio提供的百度网盘固件可以用。
esp8266-20220117-v1.18.bin,从本文指示的官网地址下载的可以用。

在这里插入图片描述

下面讲一下刷写工具实测踩过的坑:

flash_download_tool_3.9.2,此版下载工具不能正确刷,灯一直闪且报乱码。
nodemcu_flasher32bit,试了也不行。

flash_download_tool_v3.8.5,可以正常刷固件,40MHz,DIO,32M。下载速度波特率可以调到最大。
FlashDownloadTool_v3.4.1,也可以正常刷固件。
thonny,解释器中也可刷固件,但不可控制速度。

固件和刷写工具配合尝试了N次才发现两者其一有问题均不能正确写入固件,要么刷写工具显示刷成功,要么就是刷成功后开发板上电就闪个不停。刷写工具的可行设置如下:

固件路径增加后,记得前面打勾。最开始试的时候就是没有打勾,导致刷写瞬间完成,但当时第一次用工具不知道咋回事,太尴尬了……
SPI SPEED = 40MHz。
SPI MODE = DIO或者DOUT均可,其他的没有试过。
FLASH SIZE = 32Mbit,记得要用有这个设置的刷写工具,试过的一个工具就是少这项设置刷写不成功。
BAUD波特率表示刷写下载数据的速率,可以设大一点。
其他的看网上教程就行。

在这里插入图片描述

3.Python版本与windows开发环境的秘密

从网上搜的通过Python操作ESP8266的教程说是得用esptool.py这个工具进行清除原有固件程序、更新固件等配置操作。发现一个秘密是,原来Python支持的版本跟windows的版本有关。

python-3.4.4, pip安装有问题。
python-3.8.6-amd64,esptool不能用。
python3.9及以上不能装在win7上。

在这里插入图片描述

4.毫无用处的配置工具esptool.py

最开始是根据esptool.py模块的操作说明在windows下的CMD窗口中进行操作,但以失败告终:回车后提示程序文件行里有错误,无法打开串口或者缺少python模块。即使尝试重新安装serial和pyserial也无济于事。

esptool.py v2.3.1
Traceback (most recent call last):
 File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35-32\Scripts\esptool.py-script.py", line 11, in
   load_entry_point('esptool==2.3.1', 'console_scripts', 'esptool.py')()
 File "c:\users\administrator\appdata\local\programs\python\python35-32\lib\site-packages\esptool.py", line 2630, in _main
   main()
 File "c:\users\administrator\appdata\local\programs\python\python35-32\lib\site-packages\esptool.py", line 2349, in main
   esp = ESPLoader.detect_chip(args.port, initial_baud, args.before, args.trace)
 File "c:\users\administrator\appdata\local\programs\python\python35-32\lib\site-packages\esptool.py", line 222, in detect_chip
   detect_port = ESPLoader(port, baud, trace_enabled=trace_enabled)
 File "c:\users\administrator\appdata\local\programs\python\python35-32\lib\site-packages\esptool.py", line 193, in __init__
   self._port = serial.serial_for_url(port)
 File "c:\users\administrator\appdata\local\programs\python\python35-32\lib\site-packages\serial\__init__.py", line 88, in serial_for_url
   instance.open()
 File "c:\users\administrator\appdata\local\programs\python\python35-32\lib\site-packages\serial\serialwin32.py", line 62, in open
   raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM6': PermissionError(13, '拒绝访问。', None, 5)

在已经找到正确的固件及工具后,用此种方式尝试用esptool.py配置仍失败,已经放弃查找具体原因。可能跟是在windows开发环境下有关,但没有用Linux环境去尝试过,计划在移植到树莓派上时再试Linux环境的调试方式方法。

5.TBD

暂时想到这些,也不想再盯屏幕看,2022年4月11日 21:34:25。


总结

1、没有人指导,加上自己摸索的方法及过程中的不仔细,导致走了一些弯路。具体表现在事后想想是很白痴的操作失误上,如果过程中仔细一点也许就不会走那么多弯路。
2、得养成像做科学试验那样的过程记录,把用的什么开发环境、什么固件、什么刷写工具等记录下来,同时记录好故障现象,把已确认是错误的软件及时删除,但需要记录版本号及来源或下载地址,方便追溯。
3、发现一个奇怪的现象,不会玩的时候网上搜不到想要的教程,但玩会后居然发现已经有前人写得很详细很有指导意义的文章。搜索技巧的问题还是其他原因还没找到根源。
4、人过中年是应该沉淀一些思想,有点后悔年轻时没能写点东西,没有记好人生的流水帐,希望从现在开始做好记录,做好个人的知识体系化构造。
5、分享在倒腾过程中找到的几个经典的文章和论坛:

零一科技翻译自官网的ESP8266手册,对应官方原文:
https://docs.01studio.cc/esp8266/quickref.html
http://docs.micropython.org/en/latest/esp8266/quickref.html#installing-micropython

知乎上的系列文章:
https://www.zhihu.com/column/c_1324016827353862144

micropython官网论坛:
https://forum.micropython.org/index.php?sid=4ab4b14160b6890ed29e2c57ad37d03a
注册帐号时会让去看论坛首页背景图片的针脚叫什么,最开始没看注意到这个背景图片

  • 13
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值