前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ESP8266开发环境搭建及项目演示

ESP8266开发环境搭建及项目演示

作者头像
zeruns
发布2020-05-19 21:00:17
3K0
发布2020-05-19 21:00:17
举报
文章被收录于专栏:Zeruns的博客

ESP8266 是一款由乐鑫 Espressif 公司制作的低成本的 Wi-Fi 芯片,具有完整的 TCP / IP 协议栈和微控制器功能。它专为移动设备、可穿戴电子产品和物联网应用设计,功耗很低且价格非常低廉。

ESP8266有多种开发环境可以选择,本文讲Arduino IDE的开发环境搭建。

本文所用到的开发板及其他模块,以及连接线购买地址在最下面。

我这里使用的 NodeMcu 开发板即搭载了这款芯片。

请根据自己的开发板所用的USB转TTL电平芯片下载安装对应的驱动,我的开发板用的是CH340

安装Arduino IDE

Arduino IDE 是由 Arduino 官方提供的支持 C 语言的集成开发环境,主要是针对 Arduino 系列的开发板进行编程。 通过简单的配置,可以在原本的编程环境里添加上对 ESP8266 开发板的支持。对于熟悉 Arduino 函数库和开发流程的用户,基本上没有任何使用上的区别。

Arduino IDE下载地址: Arduino官网:https://www.arduino.cc/en/Main/Software

添加 ESP8266 支持

打开Arduino IDE,点击左上角的文件,进入首选项(Preferences),找到附加开发板管理器地址(Additional Board Manager URLs),并在其后输入如下链接: http://arduino.esp8266.com/stable/package_esp8266com_index.json

然后点击工具 → 开发板 → 开发板管理器,进入开发板管理器界面:

搜索 esp8266 并安装:

安装完成后,重启 Arduino IDE 软件。在工具 → 开发板选项中即会看到 ESP8266 开发板的选项:

选择端口,先在设备管理器中查看端口,然后在arduino ide中选择对应端口。

项目演示

向串口发送Hello World

在 Arduino IDE 中新建项目并写入如下代码:

代码语言:c
复制
void setup() {    //初始化函数,这个函数内的代码只在启动时运行一次  
    Serial.begin(115200);    //设置串口波特率
}/*
https://blog.zeruns.tech
*/
void loop() {     //循环函数,这个函数内的代码会一直循环运行  
    Serial.println("Hello World"); //向串口打印Hello World
}

输入后点击上传键进行编译上传到开发板,然后打开串口监视器,选择波特率115200即可看到输出的Hello World。

LED闪烁

ESP8266模块上自带一个LED,这个LED接的是D4口。

注意:ESP8266有多种开发板,不同的开发板的GPIO口不一样。

代码语言:javascript
复制
void setup() {          //初始化函数,这个函数内的代码只在启动时运行一次  
    pinMode(D4,OUTPUT);  //设置GPIO口D4状态为输出模式
}

void loop() {             //循环函数,这个函数内的代码会一直循环运行  
    digitalWrite(D4,HIGH);  //设置GPIO口D0输出高电平,HIGH可以用1代替  
    delay(1000);            //延时1000毫秒  
    digitalWrite(D4,LOW);   //设置GPIO口D0输出低电平,LOW可以用0代替  
    delay(1000);            //https://blog.zeruns.tech
}

读取DHT11数据并显示出来

本例中使用 DHT11 温湿度传感器 测量温度和湿度,再把测量所得的结果输出至 0.96寸的OLED屏幕 中。

项目源码:

代码语言:c
复制
#include <Arduino.h>
#include <NTPClient.h>
#include <U8g2lib.h>
#include <DHT.h>
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
DHT dht(D3,DHT11, 15);
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ D1, /* data=*/ D2, /* reset=*/ U8X8_PIN_NONE);

void setup(){  
    u8g2.begin();  
    u8g2.enableUTF8Print();  
    dht.begin();
}

void loop() {  
    float h = dht.readHumidity();  
    float t = dht.readTemperature();  
    u8g2.clearBuffer();  
    u8g2.setFont(u8g2_font_unifont_t_chinese2);  
    u8g2.setFontDirection(0);  
    u8g2.setCursor(0, 15);  
    u8g2.print("Humidity:");   
    u8g2.setCursor(80, 15);  
    u8g2.print(h);    //https://blog.zeruns.tech  
    u8g2.setCursor(120, 15);  
    u8g2.print("%");  
    u8g2.setCursor(0, 40);  
    u8g2.print("Temperature:");   
    u8g2.setCursor(0, 55);   
    u8g2.print(t);  
    u8g2.setCursor(40, 55);  
    u8g2.print("C");  
    u8g2.sendBuffer();   
    delay(1000);
}

由于源代码中首行引入的 DHT库 和 U8g2库 并不是 Arduino IDE 内置的库文件,需要先点击项目 → 加载库 → 管理库进入库管理器,搜索安装如下三个依赖库(Adafruit Unified Sensor 和 DHT sensor library 和 U8g2):

线路连接

NodeMcu

DHT11

3V3

VCC

GND

GND

D3

DATA

NodeMcu

0.96寸OLED

3V3

VCC

GND

GND

D1

SCL

D2

SDA

WiFi连接

ESP8266 最大的特性就是其超低成本的 Wi-Fi 实现。 这里简单贴出其连接 Wi-Fi 的示例代码:

代码语言:javascript
复制
#include<ESP8266WiFi.h>
const char* ssid = "blog.zeruns.tech";          //wifi名
const char* passwd = "blog.zeruns.tech";    //wifi密码
void setup() {  
    Serial.begin(115200);     //设置串口波特率  
    WiFi.begin(ssid,passwd);  //连接wifi  
    while (WiFi.status() != WL_CONNECTED) //判断wifi连接状态  
    {    
        delay(500);    
        Serial.print(".");      //串口打印 .  
    }  
    Serial.println("");       //换行  
    Serial.println("WiFi cnnected");  
    Serial.println(WiFi.localIP());   //打印获取到的IP地址  
    Serial.println("https://blog.zeruns.tech");
}

void loop() {
}

购买地址

NodeMcu开发板(ESP8266):复制$Xbsf1nUlvhL$打开手机淘宝立即下单

DHT11温湿度传感器模块::复制$QC5L1nUN2i2$打开手机淘宝立即下单

杜邦线:复制$Ye1D1nUKbAT$打开手机淘宝立即下单

0.96寸OLED屏:复制$2Omg1nUrfci$打开手机淘宝立即下单

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Zeruns 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装Arduino IDE
  • 添加 ESP8266 支持
  • 项目演示
    • 向串口发送Hello World
      • LED闪烁
        • 读取DHT11数据并显示出来
          • WiFi连接
          • 购买地址
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档