OTA (Over the Air) 프로그래밍은 ESP32 및 ESP8266과 같은 WiFi 지원 마이크로 컨트롤러의 기능으로, 이러한 장치는 물리적 액세스없이 무선으로 펌웨어 또는 소프트웨어를 업그레이드 할 수 있습니다. 이 기능은 지붕이나 케이블 연결이 어려운 기타 장소에 고정 된 장치를 다시 프로그래밍하는 데 사용할 수 있습니다. OTA를 사용하면 동일한 네트워크에있는 여러 마이크로 컨트롤러 또는 장치에 업데이트를 보낼 수 있습니다. 예를 들어,이 기능은 버그를 해결하고 일부 기능을 여러 마이크로 컨트롤러, 휴대폰, 컴퓨터, 셋톱 박스 등에 추가하기위한 업데이트를 보내는 데 사용할 수 있습니다. OTA 업데이트도 IoT에서 중요한 역할을합니다. 새로운 설정, 소프트웨어 및 펌웨어로 인터넷에 연결된 장치를 원격으로 업데이트하는 데 사용됩니다.
이전에 OTA를 사용하여 ESP8266 NodeMCU를 프로그래밍하는 방법을 배웠습니다. 이 튜토리얼에서는 Arduino IDE에서 OTA Web Updater를 사용하여 ESP32로 OTA (Over-the-Air) 프로그래밍을 사용할 것입니다.
필요한 구성 요소
- ESP32
- Arduino IDE
OTA 프로그래밍은 어떻게 작동합니까?
OTA (Over the Air) 프로그래밍 기능을 사용하려면 먼저 직렬 포트를 통해 스케치를 업로드해야합니다. 이 스케치에는 나중에 브라우저를 사용하여 코드를 업로드 할 수 있도록 OTA Web Updater를 만드는 HTML 코드가 포함되어 있습니다. 코드가 직렬 포트를 통해 업로드되면 웹 브라우저를 통해 새 스케치를 선택하고 업로드 할 수있는 웹 서버가 생성됩니다.
첫 번째 코드를 업로드하려면 ESP32를 노트북에 연결하고 Arduino IDE를 열고 보드 유형을 ESP32 Dev Kit로 선택한 다음 올바른 직렬 포트를 선택합니다.
그런 다음 File> Examples> ArduinoOTA> OTAWebUpdater로 이동하십시오.
원래 코드에서 Wi-Fi 이름과 비밀번호를 변경합니다.
const char * ssid = "WiFi 이름"; const char * password = "비밀번호";
ESP32 보드에 코드를 업로드합니다. 코드를 성공적으로 업로드 한 후 직렬 모니터를 엽니 다. 시리얼 모니터에서 115200의 Baud Rate를 변경하고 ESP32에서 Reset 버튼을 누르면 ESP32 IP 주소가 인쇄됩니다.
이제 기본 브라우저를 열고 ESP32 IP 주소를 붙여 넣습니다. 아래 이미지와 같이 Over the Air 프로그래밍을위한 웹 서버가 열립니다.
기본 사용자 이름과 암호는 admin입니다.
그런 다음 사용자 이름과 비밀번호를 입력하고 로그인 페이지를 클릭하면 새 탭이 열립니다. 여기에서 코드를 업로드 할 수 있습니다.
여기에서 간단한 LED 깜박임 코드 를 업로드하겠습니다. 무선으로 업로드하는 모든 코드에는 OTA 코드가 있어야합니다. 따라서 원래 OTA 코드에 깜박임 부분을 추가하십시오. 전체 코드는 페이지 끝에 제공됩니다.
void loop (void) {server.handleClient (); 지연 (1); digitalWrite (led, HIGH); 지연 (600); digitalWrite (led, LOW); 지연 (600); }
새 이름으로 코드를 저장 한 다음 S ketch> 컴파일 된 바이너리 내보내기 로 이동합니다 . 그러면 스케치 폴더에 새 .bin 파일 이 생성됩니다.
이제 OTA 웹 페이지로 이동 한 다음 ' 파일 선택' 버튼을 클릭하고 .bin 파일을 선택 합니다. 그런 다음 '업데이트' 버튼을 클릭하여 스케치를 업로드합니다.
이것이 직렬 통신을 사용하지 않고 OTA 를 사용 하여 ESP32를 프로그래밍 할 수있는 방법 입니다.