一板网电子技术论坛

风筝
发表于: 2020-11-30 10:08:05 | 显示全部楼层

以下ESP8266教程为您提供了ESP8266微控制器基础知识的入门。

首先,我们将向您展示在性价比方面ESP8266是市场上最好的微控制器。接着在我们比较了ESP8266的优缺点之后,将分步介绍如何创建第一个项目。


什么是ESP8266?

ESP8266是一款功能强大的32位微控制器,具有集成的Wi-Fi和完整的TCP / IP栈,可用于互联网连接。该芯片由上海的Espressif Systems生产,与Arduino开发板相比价格低廉。ESP8266有不同的模块。这些模块有不同数量的GPIO,以将微控制器与其他设备(例如传感器或执行器)连接。


ESP8266的技术规格

●    Tensilica的L106 Diamond系列32位处理器,带片上SRAM

●    电源:2.5V – 3.6V

●    电流消耗:15µA – 400mA(平均:80 mA)。在深度睡眠模式下,仅0.5µA

●    工作温度范围:-40°C – 125°C

●    外部闪存:最大支持16 MB(通常512 kB至4 MB)

●    接口

     ●    UART / SDIO / SPI / I2C / I2S / IR遥控器

     ●    11或13个可编程I / O引脚,最大电流为12 mA

     ●    1个模拟输入引脚0V至1V,分辨率为10位

     ●    所有输入最高可承受3.6V电压

●    网络

     ●    支持WPA/WPA2 PSK的WiFi 802.11 b/g/n  2.4 GHz

     ●    Arduino Core 2.5.0的ipv4和ipv6

     ●    UDP和TCP最多同时连接5个

     ●    带宽:150 kByte/s至300 kByte/s

     ●    延迟:<10ms


使用ESP8266的模组

ESP8266有不同的模块。这些模块在编程方式上并没有很大的不同。如果可以对其中一个模块进行编程,则基本上可以对所有模块进行编程。主要区别是提供的端口(GPIO)的数量和类型以及可用的内存大小。例如,ESP-01模块具有512 KB闪存,而ESP-12E模块具有4 MB闪存。


ESP8266与Arduino和Raspberry Pi的比较

优势:

●    不需要专门的操作系统,因此程序不依赖于操作系统。

●    软件被烧录到微控制器。因此,电路板上电后开始执行脚本。

●    与Arduino开发板相比,ESP8266速度非常快且成本非常便宜。

缺点

●    使用专门的操作系统将更加灵活,并且诸如安全摄像机之类的用例可以更快地实现。


ESP8266的第一个项目

在接下来的章节中,我们仅考虑使用NodeMCU开发板板,该开发板板基本上是一个ESP-12微控制器,并带有有稳压器和USB转UART接口,可通过Arduino IDE和micro USB电缆烧录程序代码。此外,NodeMCU可以安装在面包板上,从而无需焊接即可轻松快速地构建原型。


下面列出了我用于本文的所有组件。

●    NodeMCU开发板

●    排线(公对公)

●    面包板

●    LED指示灯


现在让我们进入ESP8266教程的实验部分。我们将制作第一个项目。请按照以下5个步骤进行操作:


1)首先,您必须购买ESP8266开发板

要开始本ESP8266教程的实验部分,您需要有一个ESP8266开发板。NodeMCU开发板相当便宜,如果您将来要进行更多项目,则可以直接购买4连包的方式节省一些钱。另外,如果您没有必需的组件,则可以购买入门套件。


2)安装和配置Arduino IDE

我们计划使用Arduino IDE作为开发平台来编写程序并将其上传到开发板板上。您可以从官方网站下载Arduino IDE。

我建议使用最新版本的Arduino IDE。您可以下载并解压缩该zip文件。无需安装,只需单击arduino.exe打开Arduino IDE。 Arduino IDE支持各种不同的Arduino开发板。由于我们不想使用Arduino板,而是要使用NodeMCU开发板,因此我们必须将NodeMCU板导入到IDE。这很容易。只需单击File → Preferences。在Additional Board Manager URLs插入以下URL:http://arduino.esp8266.com/stable/package_esp8266com_index.json

Preference.png


3)编写第一个脚本

我们的第一个脚本是闪烁LED,只需几行代码即可轻松编程。编程语言是基于C的。ESP8266也可以使用LUA作为编程语言,但是我更喜欢用C编写脚本。每个Arduino脚本基本上都分为3部分:

在第一部分中,定义了变量和常量。在示例中,我们定义了连接到LED正极的GPIO引脚。

第二部分是setup函数。ESP8266上电后,此函数仅运行一次。在ESP8266脚本中,我们将定义的GPIO引脚定义为输出。

脚本的最后一部分是loop函数,它将作为微控制器的循环运行。在示例中,我们使用函数digitalWrite(ledPin,HIGH)点亮LED并等待定义的时间段。然后,使用相同函数将命令从HIGH更改为LOW来熄灭LED,并再次等待延时时间。

以下部分是完成的脚本代码。

  1. const int ledPin = D8;

  2. void setup()
  3. {
  4.   pinMode(ledPin, OUTPUT);
  5. }

  6. void loop()
  7. {
  8.   digitalWrite(ledPin,HIGH);
  9.   delay(200);
  10.   digitalWrite(ledPin,LOW);
  11.   delay(200);
  12. }
复制代码

4)连接面包板上的所有零件

连接所有零件很容易,因为我们只有一个LED组件。我们定义LED由GPIO引脚D8供电,因为我们必须为LED选择一个数字输出。如果要更改GPIO引脚,您需要使用D1至D8数字输出之一。如果更改GPIO引脚,请确保更改对应的脚本代码。现在连接所有零件:

esp8266_led_blinker.png

1.  将NodeMCU放在面包板上,并确保有一条线可以连接LED。

2.  将LED的正极(长脚)与ESP8266的D8相连。

3.  将LED的负极(短脚)与ESP8266的地线(GND)连接。

注意:通常,LED的正向电压在1.8至3.3伏之间,ESP8266的工作电压为3.3V。因此,我们不需要在LED上串联一个电阻。如果您使用的是Arduino开发板,则工作电压为5V,您将需要一个220欧姆的电阻。


5)上传脚本并运行到ESP8266开发板

现在是时候将该脚本上传到ESP8266了。但首先我们必须确保上传的所有设置都适合ESP8266。

您可以通过Micro USB将NodeMCU连接到PC或笔记本电脑来检查设置。


在Arduino IDE中单击Tools菜单,并确保您的设置如下。要选择Node MCU Board,Ardiuno IDE必须从Board Manager下载Board信息:单击Tools→Board→Board Manager

Board Manager.png

现在搜索NodeMCU,您会发现ESP8266社区的esp8266。安装最新版本的开发板。安装后,您可以选择正确的设置开发板。

Install.png

在Arduino了解到ESP8266开发板之后,请确保您对开发板的设置与下表相同

开发板
NodeMCU 1.0 (ESP-12E Module)
上传速率
115200
CPU主频
80 MHz
闪存大小
4M(1M SPIFFS)
调试端口
已禁用
调试级别
IwIP Variant
V2 Lower Memory
擦除Flash
Only Sketch
端口
您的端口号取决于您的USB端口

COM.png


现在我们终于可以将脚本上传到ESP8266。单击Arduino IDE工具栏顶部的箭头图标。在IDE的底部,您将看到上传过程。如果上传过程成功完成,您将看到有一个闪烁的LED。

Compile.png


总结

在本文中,您了解了ESP8266微控制器的基础知识。 您知道了ESP8266开发板、Arduino开发板和Raspberry Pi之间的技术规格以及差异。 我也希望您喜欢创建第一个项目。


您如何看待ESP8266? 您喜欢这个微控制器还是喜欢Arduino或Raspberry Pi? 我也想知道您使用ESP8266将制作哪些项目,欢迎在本帖下面进行分享。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 22 | 回复: 29



手机版|

GMT+8, 2021-2-28 11:04 , Processed in 0.084955 second(s), 32 queries . Powered by Discuz! X3.4

YiBoard一板网 © 2015-2020 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表