ESP32에서 Hello world! - Ubuntu (Windows Subsystem for Linux)

소개



ESP32는 Bluetooth와 Wi-Fi를 표준 장비하고 있으며, 다양한 개발 보드와 소형 제품에 탑재되어 있습니다. 이 절에서는 ESP32에서 공식 프로그래밍 가이드 Hello world!의 절차를 Windows Subsystem for Linux의 Ubuntu에서 설명합니다 (64 비트 버전 사용).



자세한 내용은 Get Started - ESP Programming Guide을 참조하십시오.

우분투 설치



Windows 10에서는 Windows Subsystem for Linux로 Ubuntu를 사용할 수 있습니다. 상점에서 Ubuntu를 선택하여 설치합니다. 설치가 완료되면 다음 명령으로 update 합니다.
sudo apt-get -y update

개발 환경 준비



개발 환경으로 다음과 같은 도구를 준비합니다.
  • Toolchain - ESP32 응용 프로그램을 빌드합니다
  • ESP-IDF - ESP32 라이브러리와 소스 코드, Toolchain 연합 스크립트를 포함합니다.
  • Python 관련 패키지 - 개발에 필요한 패키지입니다.

  • Toolchain 설정



    ToolChain에 필요한 패키지를 설치합니다.
    sudo apt-get -y install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools
    

    Toolchain(64bit판)을 다운로드해, ​​전개합니다.
    mkdir -p ~/Downloads
    cd ~/Downloads
    wget https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-amd64.tar.gz
    mkdir -p ~/esp
    cd ~/esp
    tar -xzf ~/Downloads/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-amd64.tar.gz
    

    Toolchain이 ~/esp/xtensa-esp32-elf/디렉토리에 확장되었다고 생각하므로 PATH와 alias 설명을 ~/.profile 파일에 추가합니다.
    export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH"
    alias get_esp32='export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH"'
    

    ~/.profile 파일을 저장하면 일단 Ubuntu를 종료하고(exit) 다시 시작합니다.
    다음 명령으로 PATH가 설정되어 있는지 확인할 수 있습니다.
    printenv PATH
    

    Toolchain의 최신 버전은 여기을 참조하십시오.

    ESP-IDF 얻기



    GitHub에서 최신 ESP-IDF를 가져옵니다.
    cd ~/esp
    git clone --recursive https://github.com/espressif/esp-idf.git
    

    IDF_PATH 설명을 ~/.profile 파일에 추가합니다.
    export IDF_PATH=~/esp/esp-idf
    

    ~/.profile 파일을 저장하면 일단 Ubuntu를 종료하고(exit) 다시 시작합니다.
    다음 명령을 사용하여 IDF_PATH가 설정되어 있는지 확인할 수 있습니다.
    printenv IDF_PATH
    

    Python 관련 패키지 설치



    Python 관련 패키지를 설치합니다.
    python -m pip install --user -r $IDF_PATH/requirements.txt
    

    USB 직렬 포트 설정



    ESP32는 USB 직렬 포트에서 통신하지만 예를 들어/dev/ttyS1(COM1)에 액세스하려고 하면 오류가 발생할 수 있습니다.
    다음과 같이 dialout 그룹에 사용자를 추가해야 합니다.
    sudo usermod -a -G dialout $USER
    

    Hello world! 프로젝트



    프로젝트 복사



    get-started/hello_world 프로젝트를 ~/esp 디렉토리에 복사하십시오.
    cd ~/esp
    cp -r $IDF_PATH/examples/get-started/hello_world .
    

    ESP32 연결



    ESP32를 USB 케이블로 컴퓨터에 연결하고 장치 관리자에서 포트를 확인합니다.
    예를 들어, Windows10에서 COM14로 인식되는 경우 Ubuntu는/dev/ttyS14로 인식합니다.


    ls /dev/tty*
    

    프로젝트 설정



    menuconfig라는 프로젝트 설정 도구를 시작하고 직렬 포트를 구성합니다.
    cd ~/esp/hello_world
    make menuconfig
    



    [Serial flasher config] → [Default serial port]에서 이전에 확인한 직렬 포트를 설정합니다(예:/dev/ttyS14).
    설정 후 로 저장하고 로 종료합니다.

    빌드 및 쓰기



    다음 명령을 실행하면 빌드 및 쓰기가 수행됩니다.
    make flash
    

    모니터



    다음 명령을 사용하여 hello_world가 실행 중인지 확인할 수 있습니다. monitor를 중단하려면 Ctrl+] 키를 누릅니다.
    make monitor
    

    결론



    ESP32는, 다양한 개발 보드나 소형 제품에 탑재되고 있으므로, 여기서 소개한 개발 환경에서, 한층 더, 그 성능을 활용해 주실 수 있다고 생각합니다.

    좋은 웹페이지 즐겨찾기