ESP8266开发之arduino环境搭建
1.Arduino简介
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。
它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是通过 Arduino编程语言 (基于 Wiring)和Arduino开发环境(基于 Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。
2.arduino IDE软件安装
1.下载好相应的安装包,双击运行,然后按照提示点下一步即可。
2.搭建NODE MCU环境:打开arduino软件,点击菜单栏文件,首选项,附加开发板管理器网址:(用于加载esp8266库)http://arduino.esp8266.com/stable/package_esp8266com_index.json
3.添加NODE MCU开发板
4.搜索esp8266库,安装
5.安装完成后重启软件,开发板中有NodeMCU即安装成功。
3.ESP8266简介
ESP8266系列无线模块是一个经济高效的WIFI SOC模块,支持标准IEEE802.11b/g/n协议,内置完整的TCP/IP协议栈。 用户可以使用此系列模块向现有设备添加网络功能,也可以构建独立的网络控制器。
3.1 ESP8266特性
- 支持STA、AP、STA+AP动作模式;
- 体积非常小的802.11b/g/n WiFi SOC模块
- 内置10bit高精度ADC采用低功率32位CPU,兼作应用程序处理器
- 支持USART、GPIO、IIC、PWM、ADC、SPI等接口时钟频率最大为160MHz
- 支持smart config、AirKiss一键网络支持多个休眠模式,深休眠电流低到20uA
- 嵌入式LWIP协议栈
- 支持SDK二次开发
- 通用AT指令可以快速使用支持串行本地升级和远程固件升级( FOTA )
4.nodeMCU
NodeMCU,是一个IoT物联网硬件开发板。 它其实就是Wi-Fi模块加上一些附件,它使用Lua脚本语言编程该平台基于eLua开源项目,底层使用ESP8266 sdk 0.9.5版本。该平台使用了很多开源项目, 例如 lua-cjson, spiffs. NodeMCU包含了可以运行在esp8266Wi-FiSoC芯片之上的固件,以及基于ESP-12模组的硬件。
5.ESP8266开发板
ESP-12K 是由安信可科技开发的 Wi-Fi 模块,该模块核心处理器ESP32-S2是一款高集成度的低功耗 Wi-Fi 系统级芯片(SoC),专为物联网(IoT)、移动设备、可穿戴电子设备、智能家居等各种应用而设计。ESP32-S2 具有行业领先的低功耗性能和射频性能,支持 IEEE802.11b/g/n 协议,集成了 Wi-Fi MAC、Wi-Fi 射频和基带、射频开关、射频Balun、功率放大器、低噪声放大器等。
ESP32-S2 芯片搭载 Xtensa® 32 位 LX7 单核处理器,工作频率高达240 MHz。芯片支持二次开发,无需使用其它微控制器或处理器。该芯片内置320 KB SRAM,128KBROM,可通过 SPI/QSPI/OSPI 等接口外接 flash 和 RAM。ESP32-S2 支持多种低功耗工作状态,能够满足各种应用场景的功耗需求。芯片所特有的精细时钟门控功能、动态电压时钟频率调节功能、射频输出功率可调节功能等特性,可以实现通信距离、通信速率和功耗之间的最佳平衡。
ESP32-S2 提供丰富的外设接口,包括 SPI,I2S,UART,I2C,LED PWM,LCD接口,Camera 接口,ADC,DAC,触摸传感器,温度传感器和多达43 个GPIO。它支持芯片外围扩展 PSRAM,ESP-12K 模组可以选配 PSRAM。此外,它还包括一个全速USB On-The-Go(OTG)接口,可以支持使用 USB 通信。
5.1特性
- 完整的 802.11b/g/n Wi-Fi SoC 模块,数据速率高达 150Mbps
- 内置 ESP32-S2 芯片,Xtensa® 单核 32 位 LX7 微处理器,支持高达240 MHz的时钟频率,拥有 128KB ROM,320KB SRAM,16KB RTC SRAM
- 支持 UART/GPIO/ADC/PWM/SPI/I2C/LCD/I2S/Camera/IR/USB/DAC 接口,支持触摸传感器、温度传感器、脉冲计数器
- 采用 SMD-42 封装
- 集成 Wi-Fi MAC/ BB/RF/PA/LNA
- 支持多种休眠模式,深度睡眠电流小于 10uA
- 串口速率最高可达 4Mbps
- 内嵌 Lwip 协议栈
- 支持 STA/AP/STA+AP 工作模式
- 支持安卓、IOS 的 Smart Config(APP)/AirKiss(微信)一键配网
- 支持串口本地升级和远程固件升级(FOTA)
- 通用 AT 指令可快速上手
- 支持二次开发,集成了 Windows、Linux 开发环境
6.ESP8266开发板测试
我们这里选择采用arduino开发平台,在arduino平台中带有ESP8266开发板模块,操作简便。
打开arduino软件,选择开发板型号(见arduino IDE安装的第5步),选中开发板。在ESP8266软件包中自带了测试示例工程,接下来,我们可以以测试工程作为示例,测试一下我们硬件和软件是否搭建成功。
1.选择菜单中文件,找到示例,基础示例中的工程。
/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/Blink
*/
// the setup function runs once when you press reset or power the board当您按下复位键或给电路板通电时,设置功能运行一次
int led=LED_BUILTIN;//ESP-12上的LED指示灯
int led2=16;//GPIO16(D0)//NDDEMCU上LED,可以直接写16,或者写D0
/*硬件初始化*/
void setup() {
// initialize digital pin LED_BUILTIN as an output.初始化LED为输出模式
pinMode(led, OUTPUT);//引脚模式配置为输出模式
pinMode(led2, OUTPUT);
}
// the loop function runs over and over again forever主循环,和while(1)一样
void loop() {
digitalWrite(led, HIGH); // 引脚输出高电平
digitalWrite(led2, HIGH);
delay(1000); // wait for a second
digitalWrite(led, LOW); // 引脚输出低电平
digitalWrite(led2, LOW);
delay(1000); // wait for a second
}
7.将开发板与电脑连接,选择端口号
8.编译代码,下载示例程序
8.运行效果位NODEMCU开发板蓝灯1s闪烁一次