필자가 취미생활을 위해서 이것저것 하고 있는데... 이번에는 필요에 의해서 ESP32 를 이용해서 스터디를 진행하게 되어야만했다. 그래서 우선 알리익스프레스와 디바이스마트에서 각각 ESP32-WROOM-1UE와 ESP32-S3-DEVKIT-1U를 구매하혔다. 스펙차이와 성능을 확인하기 위함이며, 사실상 일반적인 ESP32의 개발환경을 이용해서 간단한 하드웨어 제어 및 MCU 레벨에서 특정기능을 구성하는 것이 목적이다. 

     

    --- contents ---

    1. [ESP32] VS Code 개발환경 구성 : https://makeutil.tistory.com/303

    2. [ESP32] 첫 프로젝트 생성하기 : https://makeutil.tistory.com/304

    3. [ESP32] 멀티 테스크 예제 (2 Task) : https://makeutil.tistory.com/305

    4. [ESP32] Task간 데이터 공유 (Queue, Mutex) : https://makeutil.tistory.com/306

    5. [ESP32] 개발보드 별 형상 및 I/O (ESP32/ESP32-S3) : https://makeutil.tistory.com/307

     

    A1. [ESP32] Arduino IDE 개발환경 구성 : 현재 글

    A2. [ESP32] 오류 - Fatal Error : No such file or directory : https://makeutil.tistory.com/308

    ------------------

     

    2. 빌드 및 실행결과 확인

      물론, 필자는 Arduino IDE를 이용해서 개발을 진행하진 않는다. 다만, 구매한 보드를 가장 빠르게 확인할 수 있는 방법을 찾다보니, Arduino IDE를 사용하는것이 가장 빠르게 보드를 테스트 해볼수 있을 것 같아서이다. 필자는 오래전 STM32F4 초기에 개발한 이후로 MCU를 스터디 하는 것은 10여년이 훌쩍넘은 상태라... 요즘엔 뭘로 개발을 하는지 조차도 모른다. 

     

    1. 개발환경 설치

    1.1. Arduino IDE 설치

      아두이노로 개발을 하려면 통합개발환경인 Arduino IDE를 설치하는 것으로 개발 준비가 완료된다. 

    1.1.1. 다운로드

      현재 작성일자를 기준으로 아래의 경로에서 다운로드 받을 수 있다. 

      - 공식 홈페이지 : https:/www.arduino.cc

      - 다운로드 링크 : https://downloads.arduino.cc/arduino-ide/arduino-ide_2.3.4_Windows_64bit.exe

     

    1.1.2. Arduino IDE 설치

      아두이노 IDE의 보편적인 설치방법을 설명한다. 

    사용권 계약에서 설치위치 지정

     

     

    설치완료

      설치 도중에 네트워크 관련 다이얼로그가 뜨면 허용을 눌러 주어야 한다. 그리고 가능하면 개발 중 에는 네트워크 환경은 외부환경(공항 및 공공장소)도 포함하는 것이 조금 더 유리하다.

     

    드라이버 설치

      IDE가 설치되면 몇몇 드라이버를 설치하게 되는데 모두 설치 해주면 된다.

     

     

    1.1.3. Arduino IDE 장치 설정

      설치가 완료되면, 구매한 ESP32 장치에 대해서 설정을 해주어야 한다.

    아두이노 IDE 실행

      장치 리스트를 설치하기 위해서, 상단 메뉴의 File > Preference (설정)으로 이동 후 Additional boards manager URLs에 보드정보가 있는 json 파일을 지정하면된다.

     

     

      다음은 보드 정보를 다운로드 하여 설치한다. 보드 정보가 있는 링크는 아래의 링크 중 선택해서 사용할 수 있다. 해당 URL까지 입력이 완료되면 OK버튼을 클릭한다.

     

    - espressif의 공식 패키지(보드) 리스트

       https://dl.espressif.com/dl/package_esp32_index.json

     

    - 공식 패키지 이외 서드 파티(비공식 보드) 패키지 리스트

      https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

     

    보드 리스트 확인

      ESP32 보드 리스트가 업데이트 되면, 해당 보드를 사용할 수 있도록 지정하여야 한다. 아두이노 IDE의 메뉴에서 Tools > boards > esp32 > 보유한 보드 모델 선택

     

      정품을 구매했다면, 해당 정품의 모델명을 입력하면 되고, 알리등에서 속아서 구매했다면 서드파티 일 경우가 많으므로, 어떤 ESP32 칩을 썼는지 확인 후 적당한 장비를 선택하면 된다. 필자는 Node32s로 진행하였다. Node32s의 기본 스펙은 베이스 칩(ESP32-D0WDQ6)동일하다. 가능하면 정식 제품을 구입하는 것을 추천한다.

     

    재원확인 및 추가 설정

      - Core Debug Level : 디버그 코드의 단계를 지정할 수 있다.

      - Erase All Flash Before Sketch Upload : 펌웨어 업로드전 플래시 삭제 여부 설정

        플래시 영역의 기존 사용공간이 큰 경우는 전체 삭제를 진행하는 것이 유익할 수 있다.

      - Flash Frequency : 플래시 메모리 속도

      - Partition Scheme : 플래시 메모리 파티션 설정

      - Upload Speed : 업로드 속도, 느리더라도 안정성 있는 속도를 선택하는 것이 좋다.

     

     

    1.2. 개발보드 테스트 

    1.2.1. 샘플 실행

      우선 구매한 보드가 정상적으로 동작되는지 확인하기 위해서 샘플 코드를 컴파일하여 보드에 업로드 한다.

      메뉴에서 File > Examples > WebServer > HelloServer를 선택한다.

     

    1.2.2. 소스 수정

      소스가 열리면 해당 윈도우에서 몇 가지 항목을 수정하고 진행하도록 하자.

     

    ① 네트워크 항목

    테스트 결과로는 PSK2등 보안 옵션에 대해서 고려하지 않아도 정상적으로 연결됨을 확인하였다.

    - ssid : 사용하는 공유기의 ESSID 이름을 입력.

    - password : 해당 공유기에 접속 할 수 있는 패스워드를 입력.

     

    ② 시리얼포트

      통신포트의 경우 기본 속도가 빠르게 나와있지만 대부분의 개발보드가 CP2102등 저렴한 인터페이스를 통해서 보드가 구성되어있으므로, 본인이 사용하고자 하는 시리얼포트(디버그 메시지용) 속도를 적당히 설정하면 된다. 115200정도로 소스코드를 수정하고 진행하자.

     

     

    2. 빌드 및 실행결과 확인

    2.1. 소스 빌드

      우선 테스트 보드를 연결하고 정상적으로 인식되면 Tools 메뉴에 항목이 추가된다. 해당 장치에 대한 시리얼 포트를 지정해주고, 시리얼 모니터를 열고 빌드 및 다운로드를 진행한다.

    통신포트 지정

    장치를 호스트 PC에 연결하고, 포트를 아래와 같이 설정한다. 필자의 경우 COM3에 연결되었음을 확인할 수 있다

     

    시리얼 모니터

      시리얼 모니터가 열려있으면, ESP32 보드에서 출력되는 메시지를 확인할 수 있다. 따라서 동작 확인을 위해서 시리얼 모니터를 열어둔다.

      메뉴 > Tools > Serial Monitor

     

      기능이 활성화 되면 아래와 같이 시리얼모니터 탭이 생성됨을 알수 있다. 앞서 소스코드에서 지정한 통신속도에 맞춰서 속도만 설정해주면 된다.

     

     

     

     

    2.2. 실행결과 확인

    시리얼 메시지 확인

      연결된 무선장비와 할당받은 네트워크 정보가 출력됨을 알수있다.

     

     

    2.3. 브라우저 동작을 통한 결과 확인

      앞서 ESP32에서 HTTP server started가 됨을 확인했다면, 호스트의 PC의 웹브라우저에서 알려준 IP를 통해서 무선으로 웹서버에 연결할 수 있다. 동작 결과는 아래와 같다. 

     

     

    관련하여 소스는 언급하지 않겠다. 이유는, 필자는 ESP-IDF를 Visual Studio의 플러그인으로 설치하여 사용할 예정이기 때문이다.  위의 결과를 통해 간단하게, 구매한 장비가 정상적으로 동작되는지 확인해볼수 있다. 추가적으로 GPIO나 이런 부분들은 ESP-IDF에서 충분히 확인할 예정이다.

    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기