ESP8266 Arduino
来自Jack's Lab
(版本间的差异)
(→GPIO) |
(→管脚布局) |
||
(未显示1个用户的34个中间版本) | |||
第1行: | 第1行: | ||
== 概述 == | == 概述 == | ||
− | 开源项目主页:https://github.com/esp8266/ | + | 开源项目主页:https://github.com/icamgo/Noduino (为更易用,修改自 esp8266/Arduino) |
<br><br> | <br><br> | ||
第9行: | 第9行: | ||
设计考虑: | 设计考虑: | ||
− | === | + | === 管脚布局 === |
<pre> | <pre> | ||
D0 GPIO3 (U0RX) / URX during flash programming | D0 GPIO3 (U0RX) / URX during flash programming | ||
D1 GPIO1 (U0TX) / SPI_CS1 | D1 GPIO1 (U0TX) / SPI_CS1 | ||
− | D2 GPIO2* (U1TX) / UTX during flash programming | + | D2 GPIO2* (U1TX) / UTX during flash programming |
− | D3 | + | D3 GPIO15* (HSPI_CS) |
− | D4 | + | D4 GPIO13 (HSPI MOSI) |
− | D5 | + | D5 GPIO12 (HSPI MISO) |
+ | D6 GPIO14 (HSPI CLK) | ||
+ | D7 GPIO16 | ||
− | + | D8 GPIO4 (SDA) | |
− | D8 | + | D9 GPIO5 (SCL) |
− | + | D10 GPIO0* SPI_CS2 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | D10 | + | |
D11 GPIO8 (SD_D1 / SPI_MOSI) | D11 GPIO8 (SD_D1 / SPI_MOSI) | ||
D12 GPIO7 (SD_D0 / SPI MISO) | D12 GPIO7 (SD_D0 / SPI MISO) | ||
− | D13 | + | D13 GPIO6 (SD_CLK / SPI_CLK) |
− | |||
+ | A0 TOUT | ||
− | + | GPIO9 / SD_D2 ---> Used by flash HOLD- | |
+ | GPIO10 / SD_D3 ---> Used by flash WP- | ||
− | + | GPIO11* (SPI_CS0) ---> Used by flash | |
+ | EN | ||
+ | |||
+ | RST | ||
</pre> | </pre> | ||
第64行: | 第65行: | ||
<br><br> | <br><br> | ||
− | === | + | === USB 转串口 === |
+ | |||
+ | CP2102 / CP2104 / FT232RL | ||
+ | |||
+ | * USB_UART_RX ---> ESP8266_UTX0 | ||
+ | * USB_UART_TX ---> ESP8266_URX0 | ||
+ | * USB_UART_DTR ---> ESP8266_GPIO0 | ||
+ | * USB_UART_RTS ---> ESP8266_RST | ||
+ | |||
+ | |||
+ | 此设计刷写 flash 没有问题,但当打开串口时, USB_UART_RTS 和 USB_UART_DTR 会被设为 0,导致 esp8266 模块无法 boot | ||
+ | |||
+ | 还是应该在其间加两个 MOSFET 管,保证: | ||
+ | |||
+ | <pre> | ||
+ | DTR RTS RST GPIO0 | ||
+ | ------------------------- | ||
+ | 1 1 1 1 | ||
+ | 0 0 1 1 | ||
+ | 1 0 0 1 | ||
+ | 0 1 1 0 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | ;; 初始状态 FT232RL in Windows 和 OSX 一样: | ||
+ | |||
+ | DTR ---> 1 | ||
+ | RTS ---> 1 | ||
+ | RI ---> 1 | ||
+ | DCD ---> 1 | ||
+ | DSR ---> 1 | ||
+ | CTS ---> 1 | ||
+ | |||
+ | |||
+ | OSX 上只要打开一下串口,DTR 和 RTS 就变成 0,而且再改旧改不回 1 了,只能重新插拔。OS X 的默认驱动有问题,得卸载了,重新安装 FTDI 的官方驱动,用此脚本删去原系统驱动:https://cdn.sparkfun.com/assets/learn_tutorials/7/4/apple_vcp_unload.scpt | ||
+ | |||
+ | * OS X 10.9 (Mavericks) or above,安装新驱动:https://cdn.sparkfun.com/assets/learn_tutorials/7/4/FTDIUSBSerialDriver_v2_3.dmg | ||
+ | * OS X 10.8 (Mountain Lion) or lower,安装新驱动:https://cdn.sparkfun.com/assets/learn_tutorials/7/4/FTDIUSBSerialDriver_v2_2_18.dmg | ||
+ | |||
<br><br> | <br><br> | ||
第73行: | 第112行: | ||
* [[Getting Started with Noduino on Mac OS X]] (Arduino ESP8266 Extended) | * [[Getting Started with Noduino on Mac OS X]] (Arduino ESP8266 Extended) | ||
* [[Getting Started with Noduino on Linux]] (Arduino ESP8266 Extended) | * [[Getting Started with Noduino on Linux]] (Arduino ESP8266 Extended) | ||
+ | |||
+ | |||
+ | * https://learn.sparkfun.com/tutorials/how-to-install-ftdi-drivers/mac | ||
+ | * http://macappstore.org/libftdi/ | ||
<br><br> | <br><br> | ||
第81行: | 第124行: | ||
== 使用文档 == | == 使用文档 == | ||
+ | |||
+ | * [[Noduino Serial]] | ||
+ | * [[Noduino Digital IO]] | ||
+ | * [[Noduino Analog IO]] | ||
+ | * [[Noduino Timing and Delay]] | ||
<br><br> | <br><br> | ||
第87行: | 第135行: | ||
* [[ESP8266 Arduino windows 安装]] | * [[ESP8266 Arduino windows 安装]] | ||
+ | * [[ESP8266 Arduino Mac OS 编译]] | ||
<br><br> | <br><br> |
2015年12月9日 (三) 11:36的最后版本
目录 |
[编辑] 1 概述
开源项目主页:https://github.com/icamgo/Noduino (为更易用,修改自 esp8266/Arduino)
[编辑] 2 开发板
设计考虑:
[编辑] 2.1 管脚布局
D0 GPIO3 (U0RX) / URX during flash programming D1 GPIO1 (U0TX) / SPI_CS1 D2 GPIO2* (U1TX) / UTX during flash programming D3 GPIO15* (HSPI_CS) D4 GPIO13 (HSPI MOSI) D5 GPIO12 (HSPI MISO) D6 GPIO14 (HSPI CLK) D7 GPIO16 D8 GPIO4 (SDA) D9 GPIO5 (SCL) D10 GPIO0* SPI_CS2 D11 GPIO8 (SD_D1 / SPI_MOSI) D12 GPIO7 (SD_D0 / SPI MISO) D13 GPIO6 (SD_CLK / SPI_CLK) A0 TOUT GPIO9 / SD_D2 ---> Used by flash HOLD- GPIO10 / SD_D3 ---> Used by flash WP- GPIO11* (SPI_CS0) ---> Used by flash EN RST
GPIO2, GPIO0 和 GPIO3 (U0RXD) 用作 GPIO 要留意,外围电路,有可能影响其状态,造成正常启动失败。应避免使用 GPIO0, GPIO2, GPIO15
nodemcu v1.0:
D0 GPIO16 D1 GPIO5 D2 GPIO4 D3 GPIO0 D4 GPIO2 (U1TXD) D5 GPIO14 (SPI CLK) D6 GPIO12 (SPI MISO) D7 GPIO13 (SPI MOSI) D8 GPIO15 (SPI CS) D9 GPIO3 (UART RX) D10 GPIO1 (UART TX) D11 GPIO9 D12 GPIO10
[编辑] 2.2 USB 转串口
CP2102 / CP2104 / FT232RL
- USB_UART_RX ---> ESP8266_UTX0
- USB_UART_TX ---> ESP8266_URX0
- USB_UART_DTR ---> ESP8266_GPIO0
- USB_UART_RTS ---> ESP8266_RST
此设计刷写 flash 没有问题,但当打开串口时, USB_UART_RTS 和 USB_UART_DTR 会被设为 0,导致 esp8266 模块无法 boot
还是应该在其间加两个 MOSFET 管,保证:
DTR RTS RST GPIO0 ------------------------- 1 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0
- 初始状态 FT232RL in Windows 和 OSX 一样:
DTR ---> 1 RTS ---> 1 RI ---> 1 DCD ---> 1 DSR ---> 1 CTS ---> 1
OSX 上只要打开一下串口,DTR 和 RTS 就变成 0,而且再改旧改不回 1 了,只能重新插拔。OS X 的默认驱动有问题,得卸载了,重新安装 FTDI 的官方驱动,用此脚本删去原系统驱动:https://cdn.sparkfun.com/assets/learn_tutorials/7/4/apple_vcp_unload.scpt
- OS X 10.9 (Mavericks) or above,安装新驱动:https://cdn.sparkfun.com/assets/learn_tutorials/7/4/FTDIUSBSerialDriver_v2_3.dmg
- OS X 10.8 (Mountain Lion) or lower,安装新驱动:https://cdn.sparkfun.com/assets/learn_tutorials/7/4/FTDIUSBSerialDriver_v2_2_18.dmg
[编辑] 3 Quick Start
- Getting Started with Noduino on Windows (Arduino ESP8266 Extended)
- Getting Started with Noduino on Mac OS X (Arduino ESP8266 Extended)
- Getting Started with Noduino on Linux (Arduino ESP8266 Extended)
- https://learn.sparkfun.com/tutorials/how-to-install-ftdi-drivers/mac
- http://macappstore.org/libftdi/
[编辑] 4 示例
[编辑] 5 使用文档
[编辑] 6 资源