ESP8266 D1-UNO-R3开发板的初步测试

简 介: 测试购买到的基于ESP8266的开发板,但是始终没有能够成功下载程序。问题尚待后期进行测试。

关键词 ESP8266Arduino

UNO R3开发板
文章目录
安装Arduino ESP8266开发板
ESP8266 Arduino Core
测试小结

 

§01 UNO R3开发板


  TB购买到的 UNO R3开发板ATmega328P单片机改进版ch340串口D1 WiFi ESP8266 。下面对于该模块进行测试。

1、关于D1的资料

(1)D1基本特性
  • 核心模块为:ESP-8266EX
  • Arduino兼容,使用Arduino IDE进行开发
  • 引脚IO:11条
  • ADC:1条,输入范围(0 - 3.3V)
  • 支持:OTA无线上传
  • 串行总线:SPI,I2C,1-Wire
(2)接入PC机

  使用MicroUSB 将电路板接入PC机USB,在已经安装完CH340的驱动之后,会在Windows的设备管理器中出现USB-SERIAL CH340(COM31)。
▲ 图1-1 接入PC之后出现的CH340虚拟串口

▲ 图1-1 接入PC之后出现的CH340虚拟串口

2、模块接口定义

(1)模块管脚功能定义

▲ 图1-2 管脚功能定义

▲ 图1-2 管脚功能定义

▲ 图1-2-1 ESP-12的管脚定义

▲ 图1-2-1 ESP-12的管脚定义

  在 ESP8266 ARDUINO D1 WIFI模块应用时引脚序号说明(与UNO对比异同)2.5.0版本开发板库 中定义了Arduino D1WiFI 模块的管脚定义。

▲ 图1-2-2 ESP8266的管脚功能定义

▲ 图1-2-2 ESP8266的管脚功能定义

▲ 图1-2-3 正面与反面对应的ESP8266的管脚定义

▲ 图1-2-3 正面与反面对应的ESP8266的管脚定义

  • 所有IO工作电平为3.3V,可以瞬时承受5V。
  • 除了D2之外,所有的I/O都支持中断, PWM, I2C以及1-wire
(2)D8是GPIO0

  将D8(GPIO0)接地,然后启动之后便可以进入下载模式。

▲ 图1-2-1 将D8与地连接模块模块将会进入下载模式

▲ 图1-2-1 将D8与地连接模块模块将会进入下载模式

3、Arduino IDE硬件包

  下载上面的硬件包,可以获得文件:

D:\Temp\arduino-1.6.5-ESP8266-2.0.rar

  安装硬件包后,直接用Arduino IDE 开发,跟Arduino UNO 一样操作最便宜的WiFi Arduino 板。

 

§02 装Arduino ESP8266开发板


  How to Use Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE Compatible Board by Using Blynk : 10 Steps - Instructables 中介绍配置Arduino IDE中 ESP8266的开发板的过程。

  在 Programming the ESP8266 WeMos-D1R2 Using Arduino Software/IDE 给出了更加详细的安装WeMOS D1开发板的过程。

  https://www.instructables.com/Arduino-WeMos-D1-WiFi-UNO-ESP-8266-IoT-IDE-Compati/

1、加入ESP8266开发板

(1)设置File-Preferences

  在Arduino IDE中的File菜单中,Perferences设置Additional Boards Manager URL:https://arduino-esp8266.readthedocs.io/en/3.0.0/installing.html

▲ 图1-1 设置File-Preferences

▲ 图1-1 设置File-Preferences

(2)设置开发板管理器

▲ 图2-2 设置开发板管理器

▲ 图2-2 设置开发板管理器

  在开发板管理器中通过搜索ESP8266选择esp8266开发信息。选择最新的信息进行安装。

▲ 图2-3 选择ESP8266安装包

▲ 图2-3 选择ESP8266安装包

▲ 图2-3 下载ESP8266的安装包

▲ 图2-3 下载ESP8266的安装包

2、测试程序

(1)测试程序
/*
**==============================================================================
** TEST1.C:             -- by Dr. ZhuoQing, 2021-06-04
**
**==============================================================================
*/
#define ON(pin)                 digitalWrite(pin, HIGH)
#define OFF(pin)                digitalWrite(pin, LOW)
#define VAL(pin)                digitalRead(pin)
#define IN(pin)                 pinMode(pin, INPUT)
#define OUT(pin)                pinMode(pin, OUTPUT)
const int LED_PIN = 13;
//------------------------------------------------------------------------------
void setup(void) {
    pinMode(LED_PIN, OUTPUT);
}
//------------------------------------------------------------------------------
void loop(void) {
    ON(LED_PIN);
    delay(100);
    OFF(LED_PIN);
    delay(100);
}
//==============================================================================
//                END OF FILE : TEST1.C
//------------------------------------------------------------------------------

  整个编译过程非常慢,不知道为什么Arduino的编译过程如此缓慢?

3、选择开发板

▲ 图1-4 选择WeMOS D1 D2Mini

▲ 图1-4 选择WeMOS D1 D2Mini

  设置设置配置串口波特率:115200.

▲ 图1-5 设置配置串口波特率

▲ 图1-5 设置配置串口波特率

  配置下载的虚拟串口:COM31

4、下载错误!

(1)下载错误

  这次测试之前发现下载程序出现错误

▲ 图1-6 下载出错信息

▲ 图1-6 下载出错信息

(2)问题的解决

  解决这个问题需要将D8(GPIO0)进入下载模式

  根据 D1 WIFI UNO开发板基础资料 ,需要在下载之前对开发板进行复位,使其进入下载模式。

▲ 图1-7 下载程序

▲ 图1-7 下载程序

为了便于对模块设置进入下载模式和普通的复位,在GPIO0安装了一个设置按钮,同时按动RESET与GPIO0按钮,首先是否RESET,这样可以使得D1进入下载模式。

▲ 图1-8 在GND与GPIO0安装一个按钮

▲ 图1-8 在GND与GPIO0安装一个按钮

 

§03 ESP8266 Arduino Core


  照网站: ESP8266 Arduino Core 中关于ESP8266相关的内容。

  这部分的内容在之后的应用中进行测试。

 

试小结 ※


▲ 选择下载安装ESP8266软件包

▲ 选择下载安装ESP8266软件包

  • 设置开发对应的开发板下载波特率下载串口

▲ 设置TOOLS关于开发板、下载速率以及下载端口

▲ 设置TOOLS关于开发板、下载速率以及下载端口

  • 在下载之前需要手动将开发板设置进入下载状态。也就是同时按动GPIO0按钮以及RESET,先释放RESET,然后在释放GPIO0。

Arduino IDE在下载完程序之后,程序自动进入运行状态了。


■ 相关文献链接:

● 相关图表链接:

  • 8
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是将ESP8266 NodeMCU开发板连接到Arduino Uno板并传输数据的示例代码: 在NodeMCU上运行的代码: ``` #include <ESP8266WiFi.h> const char* ssid = "your_SSID"; // 你的WiFi名称 const char* password = "your_PASSWORD"; // 你的WiFi密码 WiFiServer server(80); // 设置一个本地服务器 void setup() { Serial.begin(9600); // 与串口通信 delay(10); // 连接到WiFi网络 Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // 开启服务器 server.begin(); Serial.println("Server started"); } void loop() { // 等待客户端连接 WiFiClient client = server.available(); if (!client) { return; } // 读取客户端发送的数据 Serial.println("new client"); while(!client.available()){ delay(1); } String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); // 发送数据到Arduino Uno Serial.println("Sending data to Arduino..."); Serial1.println(request); delay(100); // 发送响应到客户端 client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); // 空行必须添加 client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.println("<body>"); client.println("<h1>ESP8266 NodeMCU</h1>"); client.println("<p>Data sent to Arduino Uno: " + request + "</p>"); client.println("</body>"); client.println("</html>"); delay(1); Serial.println("Client disconnected"); Serial.println(""); } ``` 在Arduino Uno上运行的代码: ``` void setup() { Serial.begin(9600); // 与串口通信 Serial1.begin(9600); // 与NodeMCU通信 } void loop() { // 读取NodeMCU发送的数据 if (Serial1.available()) { String data = Serial1.readStringUntil('\r'); Serial.println("Data received: " + data); } } ``` 这个例子中,NodeMCU运行一个本地服务器,等待客户端连接并发送数据。当有客户端连接时,NodeMCU会读取客户端发送的数据并将其发送到Arduino Uno。然后,NodeMCU会向客户端发送一个HTML响应,其中包含已发送到Arduino Uno的数据。Arduino Uno只是读取NodeMCU发送的数据并将其打印到串口监视器中。 注意:确保将NodeMCU与Arduino Uno正确连接。将NodeMCU的TX引脚连接到Arduino Uno的RX引脚,将NodeMCU的RX引脚连接到Arduino Uno的TX引脚。如果您使用的是NodeMCU V1.0板,您需要将板上的开关设置为“UART”模式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

卓晴

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值