고급 예제

다양한 도구들을 가지고 마음껏 응용해보세요.

OTA(Over The Air)로 WiFi 펌웨어 업데이트하기

2016-08-25 14:02:45

OrangeBoard WiFi는 기존 OrangeBoard에 WiFi모듈을 장착하여 하나의 보드안에서 아두이노의 기능과 WiFi를 사용할 수 있게 하였습니다.

아두이노에 수많은 데이터를 웹에서 가져올 수 있는 WiFi모듈을 결합하였기 때문에 사용자들은 기존의 아두이노보다 한 단계 더 넓은 범위를 바라보고 사용할 수 있습니다.

 

 

 

개요

 

이번 글에서는 OrangeBoard WiFi의 모듈인 WizFi250의 펌웨어를 업데이트 하는 방법에 대해 알아보겠습니다.

 

사실 큰 기능의 추가가 있지 않고서는 펌웨어 업데이트가 없어도 대부분의 기능을 사용할 수 있습니다.

하지만 보드 사용시 오작동이나 잘못된 연결 등으로 인해 펌웨어가 날라가는 경우가 종종 있기 때문에 이때는 수동으로 펌웨어를 업로드 시켜주어야 합니다.

 

현재 펌웨어의 최신 버전은 1.0.5.2이며 이 버전부터 IoT에서 간편하게 사용가능한 프로토콜인 MQTT를 지원합니다.

 

<Firmware Release Note>

 

 

 

 

 

펌웨어 업데이트 하기

 

펌웨어를 업데이트 하기 위해서는 먼저 펌웨어 파일을 Wiznet홈페이지에서 받습니다.

정확한 주소는 아래 링크를 통해 접속할 수 있습니다.

 

펌웨어 페이지 - http://wizwiki.net/wiki/doku.php?id=products:wizfi250:wizfi250firmware:start

 

접속하면 아래와 같은 화면을 볼 수 있습니다. 현재 공식 버전은 1.0.3.3이지만 MQTT사용이 가능한 1.0.5.2버전을 설치하기 위해 1.0.5.2버전 파일을 받습니다.

 

 

 

 

펌웨어 파일을 받고 난 뒤, WiFi보드로 돌아와서 OTA모드로 진입하기 위해 WiFi보드의 Function키를 두번 클릭합니다.

 

 

 

 

혹은 예제(WizFi250)에서 OTA_Example을 실행하여 업로드 합니다.

 

 

 

 

 

OrangeBoard WiFi​는 OTA모드를 통해 무선으로 펌웨어 업데이트가 가능한데, 

OTA모드란 Over The Air의 줄인말로 직역하면 '공중으로 넘어오다' 라는 뜻으로 무선네트워크로 데이터를 송수신하는 기술을 말합니다.

 

OTA모드에 진입했는지 확인 여부는 아래 사진처럼 파란박스 안 LED에 불이 들어왔는지의 여부로 확인할 수 있습니다.

두 개의 LED에 모두 불이 들어왔다면 OTA모드에 접속한 것입니다

 

 

 

 

OTA모드에 진입했다면 이제 컴퓨터 WiFi목록에 아래 처럼 WIZFI_OTA_macAddress를 볼 수 있는데 이 WiFi에 접속합니다.

만약 OTA모드에 진입했는데 보이지 않는다면 기다렸다가 새로고침을 눌러보면 목록에 뜰 수 있는 것을 볼 수 있습니다.

 

 

 

 

 

OTA WiFi에접속하고 웹브라우저에서 wizfi250.wiznet.com에 접속하면 아래와 같은 페이지가 뜨는 것을 볼 수 있습니다.

만약 실패할 경우 다시 OTA모드 연결을 끊고 재시도 해보시길 바랍니다.

 

펌웨어 업데이트 단계는 총 3단계로 

Step 1 에서는 기존에 모듈에 있는 펌웨어를 삭제합니다.

Step 2 에서는 모듈에 업로드 시킬 펌웨어 파일을 선택합니다.

Step 3 에서는 모듈에 펌웨어를 업로드 시킵니다.

 

새 버전의 펌웨어 업데이트를 위해 Delete App버튼을 눌러 기존의 펌웨어를 삭제합니다.

 

 

 

 

모듈안의 펌웨어 삭제가 성공적으로 이루어졌다면 Step 1이 비활성화되면서 동시에 Step 2가 활성화 됩니다.

Step 2에서는 파일선택으로 모듈에 업로드 시킬 펌웨어를 선택합니다.

 

 

 

 

모듈에 업로드 시킬 파일의 이름은 APP.bin파일이며 이 파일의 경우 v1.0.5.2 파일의 경우 아래 경로에서 찾을 수 있습니다.

wizfi250_1.0.5.2\AppFWFile\1.0.5.2

 

 

 

 

성공적으로 업데이트를 마쳤다면 아래와 같은 메시지가 출력되며 OrangeBoard WiFi를 리셋 후 연결을 해제해주시면 펌웨어 업데이트는 끝납니다.

 

 

 

 

버전을 확인하기 위해 예제코드에서 코드 한줄을 추가하여 실행해 봅시다.

아래 코드는 현재 WiFi모듈의 펌웨어 버전을 시리얼 모니터로 출력하는 코드입니다.

Serial.println(WiFi.firmwareVersion());

 

 

 

 

파일 - 예제 - WizFi250 - WebClient를 실행시키고 setup()함수 내에 WiFi.init()아래에 코드를 작성합니다.

작성하고 나면 코드를 업로드 시킵니다.

 

 

 

 

업로드 완료 후 시리얼 모니터를 실행하면 정상적으로 펌웨어가 업데이트된 것을 WiFi모듈 버전 정보로 볼 수 있습니다.

 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

Arduino, OrangeBoard, WiFi, 와이파이, IoT, firmware, 펌웨어

hiesun 2020-06-13 01:57:59

펌웨어를 아무리 업데이트를 해보고 factory recovery도 다 해보고 했는데
time out에서 벗어나질 못합니다.. 기한 마감이 곧인데 어떻게해야할지모르겠네요..