소개
이 게시물의 목적은 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 다시 시작
'ESP32' 카테고리의 다른 글
ESP32 Arduino: Temperature, humidity and CO2 concentration web server (0) | 2021.08.16 |
---|---|
ESP32 / ESP8266 Arduino: Using structs (0) | 2021.08.16 |
ESP32 Arduino: HTTPS GET Request (0) | 2021.08.16 |
ESP32 / ESP8366 Arduino: Creating a simple class (0) | 2021.08.16 |
ESP32 Arduino: External interrupts (0) | 2021.08.16 |