以下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
3)编写第一个脚本 我们的第一个脚本是闪烁LED,只需几行代码即可轻松编程。编程语言是基于C的。ESP8266也可以使用LUA作为编程语言,但是我更喜欢用C编写脚本。每个Arduino脚本基本上都分为3部分: 在第一部分中,定义了变量和常量。在示例中,我们定义了连接到LED正极的GPIO引脚。 第二部分是setup函数。ESP8266上电后,此函数仅运行一次。在ESP8266脚本中,我们将定义的GPIO引脚定义为输出。 脚本的最后一部分是loop函数,它将作为微控制器的循环运行。在示例中,我们使用函数digitalWrite(ledPin,HIGH)点亮LED并等待定义的时间段。然后,使用相同函数将命令从HIGH更改为LOW来熄灭LED,并再次等待延时时间。 以下部分是完成的脚本代码。 - const int ledPin = D8;
- void setup()
- {
- pinMode(ledPin, OUTPUT);
- }
-
- void loop()
- {
- digitalWrite(ledPin,HIGH);
- delay(200);
- digitalWrite(ledPin,LOW);
- delay(200);
- }
复制代码
4)连接面包板上的所有零件 连接所有零件很容易,因为我们只有一个LED组件。我们定义LED由GPIO引脚D8供电,因为我们必须为LED选择一个数字输出。如果要更改GPIO引脚,您需要使用D1至D8数字输出之一。如果更改GPIO引脚,请确保更改对应的脚本代码。现在连接所有零件:
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。
现在搜索NodeMCU,您会发现ESP8266社区的esp8266。安装最新版本的开发板。安装后,您可以选择正确的设置开发板。
在Arduino了解到ESP8266开发板之后,请确保您对开发板的设置与下表相同 开发板 | NodeMCU 1.0 (ESP-12E Module) | 上传速率 | 115200 | CPU主频 | 80 MHz | 闪存大小 | 4M(1M SPIFFS) | 调试端口 | 已禁用 | 调试级别 | 无 | IwIP Variant | V2 Lower Memory | 擦除Flash | Only Sketch | 端口 | 您的端口号取决于您的USB端口 |
现在我们终于可以将脚本上传到ESP8266。单击Arduino IDE工具栏顶部的箭头图标。在IDE的底部,您将看到上传过程。如果上传过程成功完成,您将看到有一个闪烁的LED。
总结 在本文中,您了解了ESP8266微控制器的基础知识。 您知道了ESP8266开发板、Arduino开发板和Raspberry Pi之间的技术规格以及差异。 我也希望您喜欢创建第一个项目。
您如何看待ESP8266? 您喜欢这个微控制器还是喜欢Arduino或Raspberry Pi? 我也想知道您使用ESP8266将制作哪些项目,欢迎在本帖下面进行分享。 |