> 文章列表 > Esp8266学习6. ArduinoOTA的使用

Esp8266学习6. ArduinoOTA的使用

Esp8266学习6. ArduinoOTA的使用

Esp8266学习6. ArduinoOTA的使用

  • 一、 OTA功能简介
  • 二、引用库与代码编写
    • 1. 安装ArduinoOTA库
    • 2. 使用AruduinoOTA
    • 3. 连接WIFI
    • 4. 给OTA设置密码
    • 5. 烧录程序
  • 三、使用OTA

Esp8266学习6. ArduinoOTA的使用

一、 OTA功能简介

ESP8266 提供了 OTA(Over-The-Air)升级功能,可以通过 Wi-Fi 网络升级设备,而无需连接 USB 线进行编程。

ESP8266使用的是ArduinoOTA库,开源地址:
https://github.com/jandrassy/ArduinoOTA

使用ArduinoOTA会有一定局限:

  • 占用更多的存储空间;
  • 升级需要使用IDE,且电脑要和开发板在同一个网络内;
  • 使用的网络端口不能充当普通串口用来查看日志等作用。

但由于它对OTA功能进行了高度的封装,使用起来极为简单,升级时省去了物理连线的麻烦。

二、引用库与代码编写

1. 安装ArduinoOTA库

在Library中搜索 ArduinoOTA并安装。
在这里插入图片描述

2. 使用AruduinoOTA

ArduinoOTA库已经进行了高度封装,使用只需要下面2步操作:

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>void setup() {// other setup codeArduinoOTA.begin();
}void loop() {// other loop codeArduinoOTA.handle();
}

3. 连接WIFI

const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";void setup() {Serial.begin(9600);WiFi.mode(WIFI_STA);WiFi.begin(ssid, password);while (WiFi.status() != WL_CONNECTED) {delay(1000);Serial.print(".");}Serial.println("");Serial.println("WiFi Connected!");Serial.print("IP address:\\t");            Serial.println(WiFi.localIP());   // OTA codeArduinoOTA.begin();Serial.println("OTA ready");
}void loop() {// other loop code// OTA codeArduinoOTA.handle();
}

4. 给OTA设置密码

在启动OTA前,可以设置密码:

  // OTA设置并启动ArduinoOTA.setHostname("ESP8266");ArduinoOTA.setPassword("12345678");ArduinoOTA.begin();

5. 烧录程序

启动开发板,可以看到日志输出:
在这里插入图片描述

三、使用OTA

1. 连接网络串口

确保 Arduino IDE和开发板在同一个网络内,在Arduino的菜单 Tools-Port: "串口号"菜单下,可以看到多了网络串口:

在这里插入图片描述
点击连接此网络串口。

2. 更新程序

后面对代码可以略做修改,点击Upload,程序就会通过网络上传到开发板。

光彪游戏网