[아두이노#373] (OTA#4) ESP8266보드에 AP모드로 유저의 설정을 입력 받은다음 OTA로 자동 업데이트 하는 전략 구상!(녹칸다/포로리야공대가자)
프로그래밍/ESP8266 & OTA 2021. 11. 3. 23:09
(OTA#4) ESP8266보드에 AP모드로 유저의 설정을 입력 받은다음 OTA로 자동 업데이트 하는 전략 구상!
-녹칸다의 ESP8266 OTA를 위한 시리즈이다!
-OTA(Over-the-air programming)란 무선으로 사물인터넷 보드의 코드를 업데이트 할 수 있는 방법이다!
-녹칸다가 사용하는 wemos d1r1(ESP8266)보드는 OTA가 사용 가능하다!
-사물인터넷보드가 코드를 어딘가에서 다운받기 위해서는 파일을 제공할 파일서버가 필요하다!
-정석대로 하자면 웹서버를 하나 열어야겠지만 녹칸다의 아두이노 예제에 노드레드(node-red)라는 툴을 적극적으로 활용하고 있으므로 노드레드를 OTA 파일 서버로 활용한다!(이것도 전략중에 하나이다)
-아래와 같은 목차로 OTA 를 진행해보도록 하자!
1.이번편은 (주)녹칸다 산업에서 출시한 제품을 유저에게 제공했을때 어떻게 하면 OTA를 적용할 수 있을까?에 대한 녹칸다의 시나리오 이다!
2.어쨋든 시연용으로 사용하는 사물인터넷보드(wemos d1r1)는 유저의 무선인터넷공유기에 연결되어야한다!
3.하지만 녹칸다 산업에서는 각 유저의 인터넷공유기 정보를 모른채 제품을 판매하게 되었다!
4.그렇다면 초기 업로드하는 코드를 어떻게 형성하면 좋겠는가? (유저에게 자신의 공유기정보를 직접 입력해서 코드를 업로드 하라고 할 수는 없을 것 같다!)
5.일단 초기 제품은 AP모드로 동작하고 유저의 스마트폰으로 접속해서 웹서버로 동작하도록 한다!(1:1 웹서버임)
6.유저는 자기 자신의 무선인터넷 공유기 정보와 해당제품의 시리얼번호를 직접 입력하도록 한다!
7.보드는 해당정보를 보드의 SPIFFS영역에 파일로 기록하고 유저가 입력한 정보를 기반으로 무선인터넷에 접속을 시도한다!
(이부분은 OTA#1 내용을 참조)
8.접속에 성공했다면 파일서버에 요청해서 해당 시리얼번호가 가져야할 최신 버전의 코드를 자동적으로 다운받도록 한다!
단, 유저가 공유기 정보가 변경되었다거나 파일서버의 IP주소가 변경되는 것은 전혀 고려하지 않는다!
(이미지base64인코딩)
https://www.base64-image.de/
(AP메인페이지)