ESP32

ESP32 Arduino: Software reset

기하 2021. 8. 16. 04:17

소개

이 게시물의 목적은 Arduino 코어를 사용하여 ESP32에서 소프트웨어 재설정을 수행하는 방법을 설명하는 것입니다.

이 ESP32 튜토리얼의 테스트  는 ESP32 FireBeetle 보드에 통합된 DFRobot의 ESP-WROOM-32 장치를 사용하여 수행  되었습니다  .

이 튜토리얼의 비디오 버전을 선호하는 경우 아래 내 YouTube 채널을 확인하십시오.

 

아두이노 코드

직렬 연결을 열어 설정 기능 코드를 시작하여 프로그램이 시작되었음을 나타내는 메시지를 출력할 수 있습니다.

1 Serial.begin(115200);

그런 다음 언급된 메시지를 직렬 포트에 인쇄하여 ESP32가 언제 다시 시작되고 처음부터 다시 실행되는지 알 수 있습니다.

1 Serial.println("Restarting in 10 seconds");

그런 다음 실제로 장치를 다시 시작하기 전에 10초 동안 약간의 지연을 수행합니다. 그렇게 하려면 대기할 마이크로초 수를 입력으로 받는 지연 함수 를 호출 하기만 하면 됩니다.

1 delay(10000);

마지막으로 ESP 개체  restart 메서드를 호출하여 ESP32를 다시 시작 합니다. 이 메서드는 매개변수를 받지 않고 void를 반환합니다.

이  ESP 객체는 여기 에 정의된 EspClass 클래스의 외부 변수입니다  . 이전 링크에서 이 개체에 의해 노출된 다른 흥미로운 시스템 기능을 확인할 수 있습니다.

기본적으로 사용 가능한 이 개체에 액세스하기 위해 라이브러리 포함을 수행할 필요가 없습니다.

1 ESP.restart();

최종 전체 Arduino 코드는 아래에서 볼 수 있습니다.

1
2

4
5
6
7
8
9
10
11
void setup() {
  Serial.begin(115200);
  Serial.println("Restarting in 10 seconds");


  delay(10000);


  ESP.restart();


}


void loop() {}

코드 테스트

코드를 테스트하려면 간단히 컴파일하고 ESP32 보드에 업로드하십시오. 그런 다음 Arduino IDE 직렬 모니터를 엽니다.

프로그램의 초기 직렬 인쇄를 여러 번 보여주는 그림 1과 유사한 출력이 표시되어야 합니다. 이는 ESP32가 실제로 재설정되고 프로그램이 처음부터 다시 실행되고 있음을 의미합니다.

그림 1 - 소프트웨어를 통해 ESP32 다시 시작