[아두이노#372] (OTA#3) ESP8266보드 여러대에 개별적인 코드를 OTA로 매니지먼트 하는 전략구상!(노드레드/node-red/버전관리)(녹칸다/포로리야공대가자)
프로그래밍/ESP8266 & OTA 2021. 11. 2. 23:09
(OTA#3) ESP8266보드 여러대에 개별적인 코드를 OTA로 매니지먼트 하는 전략구상!(노드레드/node-red/버전관리)
-녹칸다의 ESP8266 OTA를 위한 시리즈이다!
-OTA(Over-the-air programming)란 무선으로 사물인터넷 보드의 코드를 업데이트 할 수 있는 방법이다!
-녹칸다가 사용하는 wemos d1r1(ESP8266)보드는 OTA가 사용 가능하다!
-사물인터넷보드가 코드를 어딘가에서 다운받기 위해서는 파일을 제공할 파일서버가 필요하다!
-정석대로 하자면 웹서버를 하나 열어야겠지만 녹칸다의 아두이노 예제에 노드레드(node-red)라는 툴을 적극적으로 활용하고 있으므로 노드레드를 OTA 파일 서버로 활용한다!(이것도 전략중에 하나이다)
-아래와 같은 목차로 OTA 를 진행해보도록 하자!
1.이번에는 IoT보드에 업로드해야하는 데이터가 제각각임을 가정하자!
2.IoT보드가 부팅될때 자신의 시리얼번호와 현재 버전을 파일서버로 전송하고 파일서버는 해당 내용과 업데이트 상황을 비교해서 업데이트를 할지 말지 결정을 하면 될 것 같다! 3.어떤 보드가 어떤 버전을 가지는지 확인하려면 파일서버쪽에서 버전관리를 위한 DB가 있어야 할 것이다! 구동가능한 DB은 MYSQL을 이용해서 각 보드의 버전에 따라 소프트웨어 업데이트를 수행하고 현재 보드가 가지고 있는 버전을 DB에 기록할 수 있도록 해보자! (이건 쬐끔 어려울 수도 있음) 4.(3)예제는 DB를 구축해야한다는 어려움이 있을 수 있으니 상황에 따라 로컬 스토리지에 JSON파일 형태로 버전관리를 간단하게 할 수 도 있을 것 같다!(스트리밍 하면서 3과 4중에 녹칸다 판단하에 하나로 결정한다)
(업데이트 전 코드)
(업데이트 후 코드)