ESP8266-NodeMCU物联网开发之Arduino环境搭建

Arduino教程传送门🧭🏔🌋🛤🏞🏜

1. ESP8266-NodeMCU

  • ESP8266-NodeMCU是一个开源硬件开发板,由于它支持WIFI功能,所以在物联网(IOT)领域,Arduino开发板最大的对手之一就是ESP8266-NodeMCU开发板。
  • ESP8266-NodeMCU尺寸与Nano类似,他并不是Arduino团队开发的,但是我们也可以使用Arduino IDE对他进行开发。而且他还有一颗地道的“中国芯”—ESP8266模块。

在这里插入图片描述

目前流行的ESP8266-NodeMCU有两块,他们只是串口烧写芯片有所不同,因此在开发之前需要安装对应板子的串口驱动,分别是CH340和CP2102驱动,然后直接用安卓数据线连接电脑。

1.1 主要技术参数

这里我们参考乐鑫公司技术参数

项目Value
核心模块ESP8266
工作电压(VIN)5V
输入电压(推荐)5V
输入电压(极限)4.5 ~ 10 V
数字输入输出引脚10个(全部可以作为PWM引脚)
PWM引脚10个
模拟输入引脚1个
WIFI标准802.11 b / g / n
工作模式STA / AP / STA + AP
重量7g

1.2 NodeMCU引脚功能

在这里插入图片描述
就是使用上图左边的引脚,不使用右边的引脚

可用引脚:
  ESP8266芯片有17个GPIO引脚(GPIO0~GPIO16)。这些引脚中的GPIO6~GPIO 11被用于连接开发板的闪存(Flash Memory)。如果在实验电路中使用GPIO6~GPIO11,NodeMCU开发板将无法正常工作。因此建议您不要使用GPIO6~GPIO 11。

1.3 特殊引脚情况说明

  • GPIO 2 引脚 在NodeMCU开发板启动时是不能连接低电平的。
  • GPIO 15 引脚在开发板运行中一直保持低电平状态。因此请不要使用GPIO15引脚来读取开关状态或进行I²C通讯。
  • GPIO 0 引脚在开发板运行中需要一直保持高电平状态。否则ESP8266将进入程序上传工作模式也就无法正常工作了。您无需对GPIO 0 引脚进行额外操作,因为NodeMCU的内置电路可以确保GPIO 0 引脚在工作时连接高电平而在上传程序时连接低电平。

1.4 串行端口

ESP8266有2个硬件串行端口(UART):

  • 串行端口0(UART0)使用GPIO1和GPIO3引脚。其中GPIO1引脚是TX0,GPIO3是RX0。
  • 串行端口1(UART1)使用GPIO2和GPIO8引脚。其中GPIO2引脚是TX1,GPIO8是RX1。请注意,由于GPIO8被用于连接闪存芯片,串行端口1只能使用GPIO2来向外发送串行数据。

2. arduino开发环境

首先我们需要安装Arduino IDE
开发环境:

  win10家庭版(无需关注,本人记录而已)
  arduino版本: 1.8.15
  esp8266固件: 2.4.2  
  硬件:ESP8266-NodeMCU   
  • 第一步打开arduino,找到文件→首选项。在附加开发板管理中添加下面网址。
    在这里插入图片描述
http://arduino.esp8266.com/stable/package_esp8266com_index.json

在这里插入图片描述

  • 搜索esp8266 进行下载
    在这里插入图片描述
    方法二:首先关掉Arduino IDE,直接下载8266_package安装包,直接安装exe即可。

3. 配置测试

移植代码,然后编译下载,验证实验效果!

3.1 移植代码

  • 新建项目,然后复制以下代码,也可以打开示例选择ESP8266WiFi中的案例blinker点灯
  • 本代码实现one_wifi自动配网,在statin模式下,创建一个连接到可接入wifi热点,方便以后直接接入网络,连接成功后下次自动连接并且打印IP地址,板载灯会交替闪烁。

/**
 * The blue LED on the ESP-01 module is connected to GPIO2(D4)
   one_wifi自动配网:
      statin模式下,创建一个连接到可接入wifi热点,方便以后直接接入网络,连接成功后下次自动连接并且打印IP地址,板载灯会交替闪烁
   @author 234vor参考单片机菜鸟
   @date 2021/10/30
*/
#include <ESP8266WiFi.h>

#define AP_SSID "J09 502" //这里改成你的wifi名字
#define AP_PSW  "qwertyuiop111"//这里改成你的wifi密码


void setup()
{
  //设置串口波特率,以便打印信息
  Serial.begin(115200);
  //延时2s 为了演示效果
  delay(2000);
  Serial.println("Setup start");
  //启动STA模式,并连接到wifi网络
  WiFi.begin(AP_SSID, AP_PSW);

  Serial.print(String("Connecting to ") + AP_SSID);
  //判断网络状态是否连接上,没连接上就延时200ms,并且打出一个点,模拟连接过程
  while (WiFi.status() != WL_CONNECTED) {
    delay(200);
    Serial.print(".");
  }
  Serial.println("");

  Serial.print("Connected, IP address: ");
  //输出station IP地址,这里的IP地址由DHCP分配
  Serial.println(WiFi.localIP());
  Serial.println("Setup End");
  pinMode(D4, OUTPUT);   // 初始化D4引脚为输出引脚
}

void loop()
{
  digitalWrite(D4, LOW); // 亮灯
  delay(1000); // 延时1s
  digitalWrite(D4, HIGH);// 灭灯
  delay(1000); // 延时1s
}

3.2 编译上传

先选择NodeMCU 1.0开发板,然后点击对号√编译
在这里插入图片描述
然后选择端口上传

在这里插入图片描述

3.3 验证效果

可以打开串口监视器,会有debug打印,出现“Setup End”就实现了自动联网,板载蓝色LED交替闪烁。

在这里插入图片描述

4. 小结

  • 通过以上内容我们对ESP8266-NodeMCU模块有了初步了解。最终实现了自动联网,板载蓝色LED交替闪烁
  • 在以后的博文中我们将学会用NodeMCU和arduino物联网交互使用从而实现对外部世界进行感知,充分认识这个有机与无机的环境,科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力

参考文献:

<think>好的,我需要回答用户关于ESP8266 NodeMCU开发板使用教程和技术规格的问题。首先,我得回顾用户提供的引用内容,确保信息准确。 用户提到了引用[2]中关于NodeMcu开发板的描述,包括两种常见的版本,分别使用CP2102和CH340芯片,需要安装不同的驱动程序。同时,引用[3]解释了ESP8266和ESP-12F的关系,说明NodeMCU是基于ESP-12F模块的。此外,引用[4]提到了实验教程和传感器应用,这可能对使用教程有帮助。 接下来,我需要整理技术规格部分。根据引用[3],ESP8266芯片的参数包括处理器类型、时钟速度、内存和Wi-Fi标准等。NodeMCU开发板的硬件参数应包括模块型号、USB转串口芯片、输入电压、GPIO数量等。 使用教程部分,用户可能需要从环境搭建到基础实验的步骤。引用[2]提到需要安装Arduino IDE和ESP8266支持包,配置开发板参数,编写代码示例。引用[4]中的实验案例可以作为示例,比如LED控制、Wi-Fi连接等。 此外,用户可能关心的购买和资源链接也需要包含。引用[1]和[2]提供了相关学习链接,如太极创客和NodeMcu的入门教程,应正确引用这些资源。 最后,生成相关问题,确保覆盖用户可能的后续疑问,如驱动安装、GPIO使用、固件烧录、物联网应用和常见问题解决。需要检查引用内容是否有遗漏,确保信息全面且符合用户需求。</think>### ESP8266 NodeMCU 开发板技术规格与使用教程 #### **一、技术规格** 1. **核心芯片与模块** - **ESP8266芯片**:集成Tensilica L106 32位RISC处理器,时钟频率80/160MHz[^3] - **Wi-Fi支持**:802.11 b/g/n标准,支持STA(客户端)和AP(热点)模式[^3] - **内存**:内置64KB指令RAM + 96KB数据RAM,外接4MB Flash存储[^3] - **ESP-12F模块**:集成陶瓷天线、金属屏蔽罩,提供17个GPIO引脚(部分复用)[^3] 2. **开发板硬件参数** - **USB转串口芯片**:CP2102或CH340(需安装对应驱动)[^2] - **输入电压**:5V(Micro USB供电) - **GPIO数量**:11个可编程引脚(D0-D10),支持PWM、I2C、SPI、UART等协议[^2] - **其他接口**:1个ADC引脚(10位精度)、1个复位按钮、1个Flash按钮 3. **典型性能** - **工作电流**:平均80mA(Wi-Fi连接时) - **通信距离**:室内约50米(视环境干扰) - **编程语言支持**:Lua脚本(原生固件)、Arduino C/C++、MicroPython #### **二、使用教程** ##### **1. 开发环境搭建** **步骤1:驱动安装** - 根据开发板型号安装驱动: - **CP2102**:下载[Silicon Labs驱动](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers) - **CH340**:下载[WCH驱动](http://www.wch.cn/products/CH340.html) **步骤2:Arduino IDE配置** 1. 安装Arduino IDE(1.8.x以上版本) 2. 添加ESP8266支持包: - 文件 → 首选项 → 附加开发板管理器网址填入:`http://arduino.esp8266.com/stable/package_esp8266com_index.json` 3. 工具 → 开发板开发板管理器 → 搜索安装“ESP8266” 4. 选择开发板:**NodeMCU 1.0 (ESP-12E Module)**(兼容ESP-12F)[^2] ##### **2. 基础实验示例** **示例1:点亮板载LED(GPIO2)** ```cpp void setup() { pinMode(2, OUTPUT); // GPIO2对应板载LED } void loop() { digitalWrite(2, LOW); // NodeMCU LED为低电平点亮 delay(1000); digitalWrite(2, HIGH); delay(1000); } ``` **示例2:连接Wi-Fi网络** ```cpp #include <ESP8266WiFi.h> const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("\nConnected, IP: " + WiFi.localIP()); } void loop() {} ``` ##### **3. 进阶应用** - **物联网数据上传**:使用MQTT协议连接阿里云/腾讯云平台 - **传感器集成**:通过DHT11(温湿度)、BH1750(光强)等模块采集数据[^4] - **OTA升级**:无需USB线,通过Wi-Fi无线更新固件 #### **三、购买与资源** - **推荐购买渠道**:淘宝/京东搜索“NodeMCU V3 CH340”或“CP2102版本” - **学习资源**: - [太极创客ESP8266教程](http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/) - [NodeMCU官方文档](https://nodemcu.readthedocs.io/) - [Arduino Core for ESP8266 GitHub](https://github.com/esp8266/Arduino) ---
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

2345VOR

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

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

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

打赏作者

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

抵扣说明:

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

余额充值