电子/物联      Arduino和ESP8266-模块安装及代码上传   
文章目录  [隐藏]

硬件环境:Mac,ArduinoUNO,ESP8266-01模块
软件环境:arduino-1.8.12-macosx,python3

1.接线图

esp8266-01模块实物图:

实物接线照:

接线图:
ESP8266的RX接UNO板的TX、ESP8266的TX接UNO板的RX、ESP8266的VCC接UNO板的3.3V(下图有误,应该是3.3V)、ESP8266的GND接UNO板的GND,
ESP8266的EN接UNO板的3.3V、ESP8266的IO0接UNO板的GND。


2.在Arduino上安装ESP8266开发板模块

2.1.模块资源准备

有条件流畅访问国际网络的可以忽略这一步。
https://github.com/esp8266/Arduino/releases 找到目标版本,本例2.6.3。
先下载 https://github.com/esp8266/Arduino/releases/download/2.6.3/esp8266-2.6.3.zip
然后查看 assets中的package_esp8266com_index.json 文件,将其中带有“osx”、“apple”字样的zip链接全部下载:

esptool-0.4.5-osx.tar.gz
esptool-0.4.6-osx.tar.gz
esptool-0.4.8-osx.tar.gz
esptool-0.4.9-osx.tar.gz
esptool-0.4.12-osx.tar.gz
esptool-0.4.13-osx.tar.gz
mkspiffs-0.1.2-osx.tar.gz
mkspiffs-0.2.0-no_magic_length-osx.tar.gz
osx-xtensa-lx106-elf-gb404fb9-2.tar.gz
python-placeholder.tar.gz
python3-macosx-placeholder.tar.gz
x86_64-apple-darwin14-esptool-f80ae31.tar.gz
x86_64-apple-darwin14-mklittlefs-69bd9e6.tar.gz
x86_64-apple-darwin14-mkspiffs-7fefeac.tar.gz
x86_64-apple-darwin14.esptool-f80ae31.tar.gz
x86_64-apple-darwin14.mkspiffs-7fefeac.1563313032.tar.gz
x86_64-apple-darwin14.mkspiffs-7fefeac.tar.gz
x86_64-apple-darwin14.xtensa-lx106-elf-20ed2b9c.tar.gz
x86_64-apple-darwin14.xtensa-lx106-elf-59d892c8.tar.gz
x86_64-apple-darwin14.xtensa-lx106-elf-b40a506.1563313032.tar.gz
esp8266-2.6.3.zip

打开 /Users/用户名/Library/Arduino15/staging/packages ,将上面21个文件放入。


如果下载失败且没有梯子,可以试试从 https://d.serctl.com/ 获取替换下载链接。速度也不算快但绝对比0b/s好太多了。感谢不知名的网站作者。


备用下载 链接: https://download.csdn.net/download/Vigiles/12324349https://pan.baidu.com/s/1BkIYK8_EboYIo__oLUEadg 提取码: vx1v。

2.2.IDE准备

打开ArduinoIDE,Preferences/属性/首选项附加开发板管理器网站,输入:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
或针对特定版本的
https://github.com/esp8266/Arduino/releases/download/2.6.3/package_esp8266com_index.json

工具开发板开发板管理器,搜索 8266,找到 ESP8266 Community,选择版本2.6.3,安装。
成功后 /Users/moonmen/Library/Arduino15/packages 会出现8266的目录。
关闭开发板管理器后,在工具开发板中,会出现 Generic ESP8266 Module 等众多选项。

2.3.选做

有博文说可直接通过这一句完成以上2步。未尝试。


3.ESP8266上传操作

文件,示例,这里有很多esp8266的示例代码。本例就用一段空代码演示上传操作。

【1】程序编写好,
【2】确保工具开发板,选择的是Generic ESP8266 Module

【3】确保如上面连线图所示,A、B两条连线断开,即esp8266的EN、IO0针脚和UNO板子之间是断开的,
【4】点击IDE的 [上传] 按钮,开始通过UNO板子向esp8266烧写程序,
【5】当日志窗口出现 “Connecting........_____....._____....._____” 字样时,
【6.1】首先,将ESP8266的IO0和UNO板子的GND连接,
【6.2】接着,将ESP8266的EN和UNO的3.3V连接,
程序继续烧写,继而完成。

如果操作失误会出现如下情况:

esptool.py v2.8
Serial port /dev/cu.usbmodem14301
Connecting........_____....._____....._____....._____....._____....._____.....____Traceback (most recent call last):
File "/Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/upload.py", line 65, in
esptool.main(cmdline)
File "/Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool/esptool.py", line 2890, in main
esp.connect(args.before)
File "/Users/user/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/esptool/esptool.py", line 483, in connect
raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

烧写完成,提示“上传成功”,
【7.1】然后,断开8266的EN、IO0和板子的连接。如果不再需要和Arduino进行串口通信,TX、RX针脚也可以断开。
【7.2】再次将EN和3.3V连接,模块就进入工作模式了。


使用中这种烧录方式成功率不高。所以采用了专用的esp8266烧录器-下载器。
这个烧录器须要一个驱动 https://cn.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

直接通过雷电转usb接头插入Mac,在ArduinoIDE的端口做如下图选择,就可以上传。上传结束模块就启动了。



-end

承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设