ESP32에 OTA (Over The Air) 를 적용시켜 USB 선을 연결하지 않고
펌웨어를 업데이트 하는 방식이다.
ESP32 는 Bluetooth 와 WiFi를 선택가능하기 때문에
원격으로 데이터 전송을 할 수 있는 것이다.
이것 저것 해봤는데 Arduino 로 했을 경우
ArduinoOTA 라이브러리
AsyncElegantOTA 라이브러리
가 대표적이다.
둘 다 WiFi에 접속하여 서버로서 작동하면서 .Bin 파일을 전달하는 식이다.
게다가 Web Server로써 쉬운 접근성을 가진다.
하지만 Debugging 과 보안성에 문제를 가지고 있다.
ESP32 가 어느 네트워크에서든 적응가능 한다.
학교, 기관 같이 네트워크가 제한되어있는 경우에도 가능
장소에 영향을 받지 않고 WiFi 또는 Bluetooth 로 업데이트 가능
1번의 경우 MQTT를 사용하여 해결
2번의 경우 휴대폰처럼 WiFi를 초기화 하거나 Bluetooth로 전환하는 UI 또는 버튼이 필요
아두이노 개발 -> WiFiManager + PubSubClient(MQTT) + Bluetooth
ESP-idf 개발 -> 연구 요구
PCB 기판을 제작할 예정이라서 Development Board 가 아니라 칩 모듈 (안테나포함) 로 개발할 예정
Arduino OTA와
ElegantOTA 둘 다 사용해본 결과
Arduino OTA 는 포트가 사라지는 상황이 생겨서
ElegantOTA 를 사용하기로 했다.
WiFi 연결과
Espressif의 독자적 통신 방식인 ESP-NOW 가
동시에 작동하는 것이 가능하므로 메쉬 네트워크 구성을 할 예정
<작성중>