0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ESP8266开发教程-Arduino IDE安装、配置与使用以及Arduino编程

码农爱学习 来源:码农爱学习 作者:码农爱学习 2022-06-06 09:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ESP8266是一款价格十分亲民的wifi模块,在某宝上一块ESP8266开发板只要10几块钱!可以买来玩玩一些物联网相关的小项目。

pYYBAGKbeHKAXbBqAAMXM1kcY_E219.png

ESP8266的开发方式有多种,目前我了解到的有:

使用Arduino IDE开发,沿用Arduino的开发风格,简单易上手

使用ESP8266官方的SDK开发

使用MicroPython开发,沿用Python的编程风格,此方式需要先给板子烧写一个特殊的固件

因为我之前玩过Arduino,而且Arduino编程简单易操作,所以就选择先使用Arduino IDE来玩一玩ESP8266。

1 安装Arduino IDE

Arduino官网下载IDE:https://www.arduino.cc/en/software,我之前安装的版本是Arduino IDE 1.8.16,目前又有新版本的,可以安装最新的,不过基础功能相差不大。

根据自己使用的平台,点击右侧的下载。

poYBAGKbeHmAB67HAAI7JemclzQ239.png

我下载得到arduino-1.8.16-windows.exe安装文件,常规的“下一步”的安装方式安装即可。

安装完之后,打开,可以看到我的软件里已经有了Arduino AVR和ESP8266的开发环境(注:ESP8266的开发环境是我在旧版本的Arduino IDE中安装过,安装新版本IDE后,之前的配置也会自动加载进来),如果你之前没有配置过ESP8266,IDE中应该默认只有Arduino AVR这一项。

poYBAGKbeIGASQeGAAEn0HRBgPI876.png

2 卸载旧的ESP8266开发包(可选)

因为我之前安装过2.6.3版本的ESP8266,那我就先卸载掉,再安装一个更新版本(3.0.1)的ESP8266安装包

卸载旧的ESP8266安装包

在文件管理器地址栏输入 %LOCALAPPDATA%/Arduino15/packages,回车进入,然后删除掉其中的esp8266文件夹即可卸载

pYYBAGKbeIiAEK-MAAAxr0Gi-48893.png

3 安装ESP8266开发包

因为Arduino IDE默认是给Arduino开发板用的,默认只有Arduino开发板的相关开发资源。要想在在Arduino IDE中使用ESP8266,需要额外安装ESP8266的开发包。安装方式有两种,一种是在线安装,一种是使用离线包安装。

3.1 在线安装(不推荐)

在线方式需要连网下载安装包,对网络环境要求较高,不推荐这种,因为经常因网络原因安装失败。不过还是要简单介绍一下这种安装方式。

在Arduino IDE下载ESP8266开发包,首先是找到菜单里的:文件->首选项

poYBAGKbeJOALuCtAAAnFzEXJdQ809.png

然后在“附件开发板管理网址”中输入: http://arduino.esp8266.com/stable/package_esp8266com_index.json

pYYBAGKbeJmAbZkUAAB6Z_8599M280.png

接着在:工具->开发板->开发板管理器,点击开发板管理器

pYYBAGKbeKGAOh25AABZ13IA_Uo766.png

输入esp8266,查看esp8266搜索结果,在线安装。

在线安装会很慢,容易失败。

pYYBAGKbeKqAQTsiAABNirYPesA137.png

3.2 离线安装(推荐)

使用下载好的离线安装包(exe文件),一键安装,十分的方便

pYYBAGKbeLaAB_HvAABK2tPQofE383.png

注:我的离线包是从这里下载的:https://www.arduino.cn/thread-76029-1-1.html

安装后,就可以看到ESP8266的相关资源了。

pYYBAGKbeLyAXnfLAAFhH05puKw966.png

4 简单测试程序

编写一个简单的连网测试程序,测试一下ESP8266的基本功能。

4.1 Arduino编程快速上手

Arduino编程非常容易上手,它的基础框架就是一个初始和一个主循环:

//初始化
void setup()
{
  Serial.begin(9600);
  Serial.println("esp8266 test");
  initWiFi();
}

//主循环
void loop()
{
  Serial.println("hello esp8266");
  delay(1000);
}

初始化就是setup函数,我们可以在这里进行一些基础的初始化,比如串口初始化就是调用:

Serial.begin(9600);

指定波特率9600,这个串口也是板子的供电口和程序下载口,通过Arduino IDE自带的串口监视器即可查看串口输出信息,不用再打开其它的串口助手之类的软件,用起来十分的方便。

此外,还可以将自己写的一些初始化函数放到setup函数中,用于程序开机时初始化,比如我们自己写的WIFI初始化函数:initWiFi()。

主循环就是loop函数,类似于单片机开发中的main函数里的while(1){},我们可以在这里进行程序逻辑代码的编写,比如每隔1秒循环打印一些信息:

Serial.println("hello esp8266");
delay(1000);

这个delay函数也是Arduino自带的,单位是毫秒。

4.2 WIFI连网测试程序

Arduino的编程语言,其实就是C++,当然也支持包含头文件以及类的操作。

比如要使用WIFI功能,需要先包含ESP8266WiFi.h这个头文件。

ESP8266WiFi这个库的内部已经帮我们实现了各种WIFI操作的各种功能函数,我们只需要实例化一个WiFiClient对象,就可以操作实现各种功能了:

#include 

const char ssid[] = "xxxxx";      //WiFi名
const char pass[] = "xxxxx";       //WiFi密码

WiFiClient client;

WIFI初始化的流程也很简单,主要有3步:

配置WIFI为Station模式,即我们的ESP8266作为一个WIFI使用设备

关于WIFI的工作模式(STA模式AP模式,可参考我之前的文章:)

传入WIFI热点的ssid和密码,使得ESP8266连接到热点

读取WIFI连接状态,等待连接成功

//初始化WIFI
void initWiFi()
{
  Serial.print("Connecting WiFi...");
  WiFi.mode(WIFI_STA); //配置WIFI为Station模式
  WiFi.begin(ssid, pass); //传入WIFI热点的ssid和密码
  while (WiFi.status() != WL_CONNECTED) //等待连接成功
  {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP()); //打印自己的IP地址
}

4.3 测试效果

Arduino的操作界面也十分的简洁,最左边的编译,第二个是编译+烧录,最右边那个放大镜图标是串口监视器,可以直接查看板子的串口输出。比如运行我们的测试程序后,就可以看到如下的串口打印信息了:

poYBAGKbeMmAMHSTAAGMK71MVRM590.png

另外,注意在编译和下载时,要选对开发板的型号和串口号:

poYBAGKbeNKAUAlPAAH0wYS8tgg951.png

5 总结

本篇介绍了Arduino IDE的安装、ESP8266开发包的安装以及Arduino编程的快速入门来测试ESP8266的连网功能。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20143

    浏览量

    328648
  • IDE
    IDE
    +关注

    关注

    0

    文章

    363

    浏览量

    48726
  • Arduino
    +关注

    关注

    190

    文章

    6514

    浏览量

    195904
  • ESP8266
    +关注

    关注

    51

    文章

    966

    浏览量

    48992
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    大神们,想知道你们都用什么ide编程调试器? Arduino IDE?还是 e2studio ?还有其他吗?哪个好用呢

    大神们,想知道你们都用什么ide编程调试器? Arduino IDE? 还是 e2studio ? 还有其他吗? 哪个IDE好用呢? 求指点
    发表于 11-30 12:05

    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) ESP8285/ESP8266芯片案例

    【应用】国产26MHz频率晶振应用于物联网WIFI物联网模块(串口转WiFi模块),Espressif(乐鑫)ESP8285/ESP8266芯片匹配测试OKESP8285其实是ESP8266的升级版
    的头像 发表于 11-21 15:37 4042次阅读
    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    ESP8266ESP32开发板常见的2种下载方式

    ESP32和ESP8266是性价比很高而且使用较为广泛的的Wi-Fi模块,在物联网(IoT)领域的DIY项目中可以首先考虑这2款产品。 两款芯片都属于32位处理器。ESP32是低功耗双核80MHz
    的头像 发表于 11-10 20:30 309次阅读
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32<b class='flag-5'>开发</b>板常见的2种下载方式

    ESP8266ESP32开发板常见的2种下载方式

    : https://dl.espressif.com/dl/package_esp32_index.json. 2.打开arduino ide里的开发板管理器,搜索
    发表于 10-24 18:04

    使用 LinkBoy 将程序导出为 C 语言代码并烧录至 Arduino ESP32 开发

    以下是使用 LinkBoy 将程序导出为 C 语言代码并烧录至 Arduino ESP32 开发板的详细步骤指南: 一、准备工作 ✅ 硬件需求: 项目 要求 开发
    发表于 10-16 12:41

    如何在 NuMaker-IoT-M467 板上使用 Arduino IDE 控制 Wi-Fi 模块?

    在NuMaker开发板上,有一个ESP-12F Wi-Fi模块;但是,Arduino IDE 中的 NuMaker UNO 包不提供该模块的相关控制。如果您希望在
    发表于 09-04 08:28

    如何用Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录引导程序bootlaoder

    本文介绍了如何用能够Arduino IDE下载的Arduino Nano/UNO R3开发板给另一个Arduino
    的头像 发表于 08-08 20:16 3053次阅读
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>开发</b>板给另一个<b class='flag-5'>Arduino</b> <b class='flag-5'>IDE</b>不能下载的<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>开发</b>板重新烧录引导程序bootlaoder

    【Milk-V Duo S 开发板免费体验】Milk-V DuoS之使用Arduino开发小核

    的 Linux 系统也是正常运行的。 另外,Duo 系列开发板已经支持可视化编程软件 VISUINO 安装配置Arduino
    发表于 07-17 21:01

    STM32+esp8266连接机智云,上传温湿度数据并控制继电器开关(平台配置、代码生成、代码移植)

    本教程将详细介绍如何将STM32微控制器与ESP8266Wi-Fi模块连接到机智云平台,实现温湿度数据的上传与继电器的远程控制。通过此过程,您将学会如何配置机智云平台,烧录ESP8266固件,移植
    的头像 发表于 07-15 18:54 740次阅读
    STM32+<b class='flag-5'>esp8266</b>连接机智云,上传温湿度数据并控制继电器开关(平台<b class='flag-5'>配置</b>、代码生成、代码移植)

    如何在树莓派上安装并运行 Arduino 集成开发环境!

    使用树莓派单板计算机,你可以运行各种应用程序,包括广受欢迎的Arduino集成开发环境(IDE)。这意味着你可以用它轻松地为通过USB连接到树莓派计算机的微控制器编程,以创建交互式电子
    的头像 发表于 07-01 17:41 4033次阅读
    如何在树莓派上<b class='flag-5'>安装</b>并运行 <b class='flag-5'>Arduino</b> 集成<b class='flag-5'>开发</b>环境!

    Arduino与LabVIEW联合编程指南

    Arduino编程并与LabVIEW上位机结合实现设备的远程控制与数据采集。
    发表于 06-19 15:54 1次下载

    ESP8266烧录与机智云一键配网教程

    ESP8266模块因其低成本和高性能,广泛应用于智能家居和工业自动化等领域。机智云平台提供了一键配网功能,简化了设备的联网过程。本教程将详细介绍如何使用ESP8266进行烧录,并通过机智云实现一键配
    的头像 发表于 05-24 11:04 1545次阅读
    <b class='flag-5'>ESP8266</b>烧录与机智云一键配网教程

    ESP32-CAM带OV2640摄像头视频显示

    本文介绍了如何在Arduino IDE开发实现ESP32-CAM模块获取实时图像视频
    的头像 发表于 05-23 10:47 1270次阅读
    <b class='flag-5'>ESP</b>32-CAM带OV2640摄像头视频显示

    ESP32S3 Arduino开发指南》第二章 Arduino基础知识

    Arduino提供了一个开放易学,进入门槛相对较低的开发平台,让电子爱好者对于开源硬件的广泛使用变成了可能。 广泛来说,Arduino指的是一个生态,这里就包括Arduino
    发表于 05-13 09:28

    STM32开发板一般都会配置arduino接口,是不是基本上也都会支持arduino

    STM32开发板一般都会配置arduino接口,是不是基本上也都会支持arduino?这个在哪里可以查询开发板是否支持
    发表于 03-07 06:33