개발/ESP8266

우분투에 ESP8266 공식 개발환경 구축하기 - 1편

캡스락 2020. 1. 5. 14:53

 

Espressif ESP8266EX

우분투 리눅스에 TTL 와이파이 모듈로 익숙한 ESP8266의 개발환경을 구축해 보겠습니다.

보통 검색하면 아두이노 IDE에 붙여 쓰는 방법을 소개하는데, 본 글은 제조사 공식 SDK를 이용한 방법입니다.

아트멜 스튜디오같이 설치 프로그램 한번만 실행해주면 알아서 되는 게 아니고 툴킷을 받아 이클립스에 붙여주는 것이라 다소 복잡하더라고요.

제조사 공식 원문(링크)을 기반으로 설명합니다.

 

ESP8266 소개

ESP8266 마이크로 컨트롤러는 Tensilica L106 32비트 RISC 프로세서를 탑재하고 있으며 최고 160MHz 클럭 속도와 초저전력 구동이 가능합니다. 실시간 운영 체제 (RTOS)와 Wi-Fi 스택은 약 80%의 프로세싱 파워를 유저 애플리케이션과 개발에 사용할 수 있습니다.

Espressif는 기본적인 하드웨어와 소프트웨어 자원을 제공함으로, 개발자가 ESP8266EX 시리즈 하드웨어를 이용하여 자신의 아이디어를 구현할 수 있도록 합니다. Espressif의 소프트웨어 개발 프레임워크는 Wi-Fi, 전원 관리 등 몇 가지 시스템 기능을 사용한 사물 인터넷 (IoT) 장치 개발을 빠르게 할 수 있도록 도와줍니다.

준비물 (다운로드 해 주세요)

  • Windows, Linux 또는 macOS 가 설치된 컴퓨터
  • ESP8266 코드 컴파일을 위한 툴체인 -> 64비트 리눅스용 다운로드
  • 기본 API와 툴체인 구동을 위한 스크립트가 포함된 ESP8266_RTOS_SDK
ESP8266_RTOS_SDK 다운로드
cd ~/esp
git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
  • 다음 패키지 설치 gcc git wget make libncurses-dev flex bison gperf python python-serial
  • 프로그램 작성을 위한 코드 에디터 -> [Eclipse IDE] 64비트 리눅스용 다운로드

추가로 이클립스 다운로드 후, JDK를 설치해 주셔야 합니다.

sudo apt-get install openjdk-8-jdk

# 이클립스에서 gcc를 찾지 못해 컴파일이 되지 않는 문제가 발생하여, make 명령어로 컴파일하는 방법만 작성합니다

Develoment of applications for ESP8266EX

환경변수 지정

홈에 받아둔 ESP8266_RTOS_SDK 디렉터리와 툴체인 프로그램이 들어있는 xtensa-lx106-elf /bin 디렉토리도 PATH에 추가해 주겠습니다. 두 디렉터리 모두 홈에 받아두었다고 전제 하에 진행하니 다른 디렉터리인 경우 수정하셔야 합니다.

~/. bash 의 맨 밑줄에 

export IDF_PATH=/home/유저 이름/ESP8266_RTOS_SDK

라고 덧붙여 주시고 바로 그 밑줄에는 아랫줄도 덧붙입니다.

export PATH="$PATH:$HOME/xtensa-lx106-elf/bin"

재부팅 없이 변경사항을 반영하기 위해 source ~/.bashrc 명령을 사용합니다.

궁금해 찾아보니 source 는 스크립트를 실행하는 "bash 쉘의 내부 명령어"라고 합니다.

그럼 ./ 이나 bash 와의 차이점은.. 잘 모르겠습니다. 찾아봐야겠네요.

파이썬 패키지 설치하기

SDK에 필요한 파이썬 패키지는 $IDF_PATH/requirements.txt 파일에 기록되어 있습니다.

python -m pip install --user -r $IDF_PATH/requirements.txt

위 명령을 이용하여 필요한 모든 패키지를 설치해 줍니다.

 

이클립스 준비

이제 이클립스에 C/C++ 개발툴을 설치하겠습니다.

이클립스에서 Help > Eclipse Marketplace 에서 CDT(C/C++ Development Tools)을 검색하시면 바로 찾을 수 있습니다.

세번째 The Complete Eclipse C/C++ IDE 를 선택하시면 됩니다.

 

이로써 개발환경 준비는 끝났습니다.

2편에서는 예제 Hello World 를 이클립스에서 빌드하고, 플래시 메모리에 플래싱까지 해 보겠습니다.

감사합니다.

'개발 > ESP8266' 카테고리의 다른 글

우분투에 ESP8266 공식 개발환경 구축하기 - 2편  (0) 2020.01.07