설명에 앞서, 여기서 사용된 환경은 MacOS Monterey로, 다른 운영체제에서는 약간 해결법이 다를 수 있다.
우선, 아두이노 IDE에서 esp32-s3 보드를 사용하기 위해서는 최신 버전 esp32 보드 매니저가 있어야 한다.
Preferences 탭을 연 뒤, Additional board manager's URL에다가 다음 url을 추가해야 한다.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
추가로, 컴파일 및 업로드 시에 자세한 정보를 얻기 위해 compile과 upload에 둘 다 가능하면 체크를 하는 것이 좋다.
보드 매니저 추가 후, 보드 설치 안내가 나오면 install all을 누르면 esp32 보드가 설치가 된다.
다음으로, Tools>board 에서 esp32>ESP32S3 Dev Module을 선택한 뒤, 아무 예제 코드나 컴파일 및 업로드를 해 보면 된다. 이 때 발생하는 주된 에러로는 아래 3가지가 경우가 있다.
1) esptool 실행을 위해 esptool.py 대신 바이너리 파일을 실행해서 생기는 이슈
2) eseptool.py 실행을 위한 파이썬 환경이 뭔가 잘못된 경우
3) esptool.py 실행 중 pyserial 등 필요한 파이썬 모듈이 설치가 안 되어 있어서 생기는 이슈
만약 발생한 에러가 다음과 같다면 esptool 바이너리의 flashing 관련 에러이다.
이 경우, 기존 esptool을 esptool.py로 다음과 같이 변경을 하면 해결이 된다.
cd /Users/USER_NAME/Library/Arduino15/packages/esp32/hardware/esp32/2.0.5
cp tools/esptool.py /Users/USER_NAME/Library/Arduino15/packages/esp32/tools/esptool_py/4.2.1
그 후, python --version을 실행시켰을 때 버전이 python3.6 이상이 아니라면 실행 오류가 발생할 수 있다. 만약 python --version의 결과가 python2.7 등이라면 python3.6이나 그 이상 버전을 설치한 뒤, python 기본 버전을 설치한 python3가 되도록 심볼릭 링크를 수정해 주어야 한다.
# 설치된 모든 파이썬의 위치 확인
ls -l /usr/local/bin/python*
# python3.9가 설치되었다는 가정하에, 기본 파이썬으로 파이썬 3.9를 사용하도록 심볼릭 링크 변경
ln -s -f /usr/local/bin/python3.9 /usr/local/bin/python
이에 대한 자세한 내용은 다음 링크를 참조하길 바란다.
그 후, pyserial이 설치되었는지 확인하기 위해 pyserial을 다시 설치하도록 하자.
python -m pip install pyserial --user
위의 코드를 실행했을 때 "Already installed"가 나오면 이미 설치가 되어 있는 것이고, 그렇지 않다면 pyserial 모듈을 설치하게 된다.
설치가 완료되면 다시 업로드를 실행해보면 정상적으로 업로드가 될 것이다.
'IoT' 카테고리의 다른 글
esp32 - xtaskcreatepinnedtocore 사용 시 나오는 stack canary watchpoint triggered 에러가 나올 때 (1) | 2020.04.24 |
---|---|
ESP32 블루투스 모듈 사용 시 컴파일 오류 (0) | 2019.06.30 |
라즈베리 파이 ip 주소 찾기 (0) | 2018.07.09 |