Windows 10에서 ESP-IDF 환경 만들기

ESP32-WROOM-32 ?


기술 합격 획득이 완료된 WiFi와 BLE를 탑재한 SoC의 개발 키트는 1480엔
ESP32-DevKitC ESP-WROOM-32 개발판
이런 믿을 수 없는 제품은 Windows에서 사용 환경을 향상시켰다.

ESP-IDF 환경 설정


ESP-WROOM32도 ArduinoIDE에서 사용할 수 있지만 BLE 주변에는 아직 대응하지 않은 것 같아서 본 기사의 내용은 개발자가 제공한 환경 ESP-IDF를 설정하는 것입니다.
기본적으로 Get Started대로 하면 될 것 같아서 숙제를 했는데 왠지 빠져서 그걸 중심으로 썼어요.

ToolChain 다운로드


zip을 확장하여 C:\msys32에 놓습니다.
C:\msys32\msys2_shell.cmd를 두 번 클릭합니다.
git에서 ESD-IDF 환경을 가져옵니다.
$ mkdir esp
$ cd ~/esp
$ git clone --recursive https://github.com/espressif/esp-idf.git
바로, 샘플의 hello_세계를 구축합시다.그 전에git로 얻었어요.
esp-idf 경로를 통과하세요.bashrc에 다음 내용을 추가합니다.
export IDF_PATH="C:/msys32/home/shin/work/esp/esp-idf"
설정을 업데이트합니다.
$source ~/.bashrc
그럼 다시 hello_세계를 구축하다.
$ cd ~/esp
$ cp -r $IDF_PATH/examples/get-started/hello_world .
$ make menuconfig
$ make
생성에 실패했습니다.python을 설치하지 않았다면 욕을 먹었을 것이다.
...中略
AR libmain.a
LD bootloader.elf
/bin/sh: python: コマンドが見つかりません
make[1]: *** [/home/shin/work/esp/esp-idf/components/esptool_py/Makefile.projbuild:49: /home/shin/work/esp/hello_world/build/bootloader/bootloader.bin] エラー 127
make: *** [/home/shin/work/esp/esp-idf/components/bootloader/Makefile.projbuild:31: /home/shin/work/esp/hello_world/build/bootloader/bootloader.bin] エラー 2

python 설치

$ which python
which: no python in (/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/opt/xtensa-esp32-elf/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
설치하지 않은 것이 사실이기 때문에python2를 설치합니다.pacman은 포장 매니저인 것 같습니다.
$ pacman -S python2
$ which python2
/usr/bin/python2
명령명이python2라서 징그럽기 때문에 기호 링크를 붙입니다.
$ ln -s /usr/bin/python2 /usr/bin/python
재생성.
$ make
Traceback (most recent call last):
  File "/home/shin/work/esp/esp-idf/components/esptool_py/esptool/esptool.py", line 25, in <module>
    import serial
ImportError: No module named serial
make[1]: *** [/home/shin/work/esp/esp-idf/components/esptool_py/Makefile.projbuild:49: /home/shin/work/esp/hello_world/build/bootloader/bootloader.bin] エラー 1
make: *** [/home/shin/work/esp/esp-idf/components/bootloader/Makefile.projbuild:31: /home/shin/work/esp/hello_world/build/bootloader/bootloader.bin] エラー 2
이번에는python의 직렬 통신 라이브러리 시리즈가 없으면 욕을 먹을 것이다.
동적 입력 프롬프트에서 클릭
pip로pyserial을 설치합니다.
ESP32 Windows Setup Guide - Correction #200
$ wget https://bootstrap.pypa.io/get-pip.py
$ pip install pyserial
재생성.통과했어.
$ make
...中略
To flash all build output, run 'make flash' or:
python /home/shin/work/esp/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 /home/shin/work/esp/hello_world/build/bootloader/bootloader.bin 0x10000 /home/shin/work/esp/hello_world/build/hello-world.bin 0x8000 /home/shin/work/esp/hello_world/build/partitions_singleapp.bin

쓰기 Serial 포트 설정


플래시에 ESP-WROOM-32를 기록합니다.실패하다.
$ make flash
Flashing binaries to serial port /dev/ttyUSB0 (app at offset 0x10000)...
esptool.py v2.0-beta3
Traceback (most recent call last):
  File "/home/shin/work/esp/esp-idf/components/esptool_py/esptool/esptool.py", l               ine 2349, in <module>
    _main()
  File "/home/shin/work/esp/esp-idf/components/esptool_py/esptool/esptool.py", l               ine 2342, in _main
    main()
  File "/home/shin/work/esp/esp-idf/components/esptool_py/esptool/esptool.py", l               ine 2072, in main
    esp = chip_class(args.port, initial_baud)
  File "/home/shin/work/esp/esp-idf/components/esptool_py/esptool/esptool.py", l               ine 166, in __init__
    self._port = serial.serial_for_url(port)
  File "/usr/lib/python2.7/site-packages/serial/__init__.py", line 88, in serial               _for_url
    instance.open()
  File "/usr/lib/python2.7/site-packages/serial/serialposix.py", line 268, in op               en
    raise SerialException(msg.errno, "could not open port {}: {}".format(self._p               ort, msg))
serial.serialutil.SerialException: [Errno 2] could not open port /dev/ttyUSB0: [               Errno 2] No such file or directory: '/dev/ttyUSB0'
make: *** [/home/shin/work/esp/esp-idf/components/esptool_py/Makefile.projbuild:               53: flash] エラー 1
Serial 포트 설정이 올바르지 않으므로 수정합니다.
Establish Serial Connection with ESP32에 적혀있는 것 같은데 안 적혀있나?
ESP-WROOM-32의 연결 대상이 장치 관리자에서 확인되었습니다.자신의 상황은 COM3이다.
잘 모르겠다면 ESP-WROOM-32에서 USB 케이블을 다시 꽂은 후 변경된 장치입니다.

make menuconfig를 사용하여 직렬 포트를 설정합니다.
장치 관리자에서 "COM3"포트가 확인되면 "/dev/ttyS2"를 설정합니다."ttyS3"가 아니라 "ttyS2"입니다.
$ make menuconfig
Serial flasher config ---> (/dev/ttyUSB0) Default serial port

인식된 직렬 포트는 아래에서도 확인할 수 있습니다.
$ ls /dev/tty*
/dev/tty  /dev/ttyS0  /dev/ttyS13  /dev/ttyS2  /dev/ttyS7

번쩍이다


플래시에 구워졌어요.
$ make flash
...中略
LD hello-world.elf
esptool.py v2.0-beta3
Flashing binaries to serial port /dev/ttyS2 (app at offset 0x10000)...
esptool.py v2.0-beta3
Connecting........_
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0220
Compressed 15792 bytes to 9198...
Wrote 15792 bytes (9198 compressed) at 0x00001000 in 0.8 seconds (effective 152.9 kbit/s)...
Hash of data verified.
Compressed 355216 bytes to 167647...
Wrote 355216 bytes (167647 compressed) at 0x00010000 in 14.9 seconds (effective 190.8 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 82...
Wrote 3072 bytes (82 compressed) at 0x00008000 in 0.0 seconds (effective 1486.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting...

Hello world!


Putty와 같은 직렬 콘솔을 연결해 보십시오.
Hello world!

좋은 웹페이지 즐겨찾기