Bootstrap

ESP8266开发之arduino环境搭建

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闪烁一次
在这里插入图片描述

;