블로그 이미지

윈도우에서 ESP8266 개발환경 구축(Setup The ESP-8266 Development Environment in Windows)

2015. 12. 26. 14:52

안녕하세요. Luyin 입니다.

약 한달 간의 주말을 고스란히 반납하고 드디어 알게 된 

 'Windows 환경에서 ESP-8266 개발 환경을 구축' 방법에 대하여 Post를 작성하려고 합니다.

많은 관심 부탁드립니다. 오타 또는 잘 못 된 점이 있으시다면 기꺼이 댓글 부탁드립니다.



가. ESP-8266 개발 환경 준비물

1. Windows 7 64 bit PC

2. AD-USBISP(v03.6)

- PC에서 UART통신이 가능해주는 USB장치입니다. (PC에서 UART시리얼 통신이 지원해주는 모든장치 사용 가능합니다.)

- PC에서 빌드한 펌웨어를 ESP-8266에 굽을(Flash)때 사용합니다.


3. ESP-8266 모듈: ESP8266(ESP-12 ver.)

- WiFi 를 지원하는 저가형 SoC 입니다.

- ESP-12 Version 으로 3.3V 16 Pin을 가지고 있습니다.


나. 개발환경 구축 (하드웨어)

1. ESP-8266 선연결 (ESP-8266 Wiring)

ESP-8266 은 3가지의 부팅 모드를 지원하며 해당 부팅 모드에 맞게 선을 연결하여야 합니다.

3가지 모드 중 이글에서 사용할 2가지 모드에 대하여 설명합니다.

Programming 모드 : PC에서 빌드한 펌웨어를 굽을(Flash)때 사용합니다.

Normal 모드: 구워진 펌웨어로 부팅할 때 사용합니다.

 

 GPIO 0

 GPIO 2

 GPIO 15

 UART Download Mode (Programming)

0

 1

 0

 Flash Startup (Normal)

 1

 1

 0


2. 전체 연결도

(사진과 Pin 번호가 일치 하지 않을 수도 있습니다. 반드시 칩셋에 핀 번호를 확인하고 위의 표에 맞게 연결 하세요.)

VCC(3.3V) : CH_PD, Vcc, GPIO2, GPIO0

Ground : GND, GPIO15, GPIO0 

Tx(ESP-8266) Rx(PC)

Rx(ESP-8266): Tx(PC)



다. 개발환경 구축 (소프트웨어)

1. Cygwin 64비트 버전 및 gcc-core, make 모듈 설치

Cygwin 설치 과정 중 Select Packages 메뉴에서

All - Devel - make,

All - Devel - gcc-core

두 가지 항목의 Bin 열의 체크박스를 선택하여 설치해 준다.


2. 아래의 경로에 폴더를 생성한다.

C:\Projects\esp8266


3.  Toolchain 을 설치한다.

링크에 접속하여  xtensa-lx106-elf-141114.7z 을 다운받는다.


7zip을 이용하여 C:\Projects\esp8266\xtensa-lx106-elf 경로에 압축을 푼다.
(위의 Toolchain은 64bit용 윈도우 용으로 빌드 된 것입니다.)


4.  SDK를 설치한다.

링크에 접속하여 esp_iot_sdk_v0.9.2_14_10_24.zip을 다운받는다.


C:\Projects\esp8266\esp_iot_sdk_v0.9.2.\ 에 압축을 풀어준다.


5. 도움 파일(esp8266_stuff)을 설치한다.

링크에 접속하여 Download Zip 버튼을 누른다음 파일을 다운받는다.

esp8266_stuff


C:\Projects\esp8266\esp8266_stuff\ 에 압축을 풀어준다.


6. 누락된 도움 파일을 다운받는다.

libwinpthread-1.dll

위의 경로에서 파일을 다운받고 C:\Projects\esp8266\esp8266_stuff\ 경로에 넣어준다.


7. C:\Projects\esp8266\esp8266_stuff\espmake.sh 파일을 수정한다.

해당 파일은 리눅스 문서로 윈도우에서 열릴 경우 한 줄로만 보일 수 있다. Notepad ++ 로 수정할 것을 권장한다.

TOOLCHAIN=c:/Projects/esp8266/xtensa-lx106-elf/bin

SDK=c:/Projects/esp8266/esp_iot_sdk_v0.9.2/

INCDIR='-Iinclude'

ESPTOOL=/bin/esptool


위와 같이 TOOLCHAIN 과 SDK 의 경로를 3번, 4번 과정에서 설치한 폴더의 경로로 지정 해주자.

(TOOLCHAIN 경로는 3번에서 압축을 풀어 준 폴더의 하위 폴더 중 bin 폴더로 지정해야 한다.)


8. esptool  소스코드를 다운받아 윈도우 버전으로 빌드

esptool-0.0.3b

위의 경로에서 파일을 다운받은 다음 C:\Projects\esp8266\esptool-0.0.3b 에 압축을 풀어준다.

경로에 있는 Makefile을 Notepad++ 로 열어 TARGET_ARCH 값을 WINDOWS 로 수정해주자.

TARGET_ARCH = WINDOWS


Cygwin 프롬프트로 C:\Projects\esp8266\esptool-0.0.3b 으로 접근한다음

make 명령을 실행해주자. 

그러면 C:\Projects\esp8266\esptool-0.0.3b\esptool.exe 이라는 파일이 생성될것이다.


이 파일을 C:\cygwin64\bin 폴더에 복사 해주자. (Cygwin이 설치된 폴더 하위의 bin 폴더)


9. 도움파일의 환경 변수를 등록하자.

espmake 명령어를 전체 경로에서 실행 시킬 수 있게 시스템 변수 PATH에 경로를 등록해주자.

PATH 경로에 C:\Projects\esp8266\esp8266_stuff\ 를 등록해준다.


10. 컴파일 할 예제를 다운받는다.

AT_Example

위의 경로에 접속하여 최신 AT 예제 zip 파일을 다운받는다.

C:\Projects\esp8266\projects\at 폴더 하위에 압축을 풀어준다.


새로운 Makefile을 다운받아 C:\Projects\esp8266\projects\at 폴더에 있는 Makefile에 덮어 쓰기 한다.

Makefile


새롭게 받은 Makefile을 일부 수정 한다.

LIBS 값에 upgrade upgrade_ssl을 추가한다.

LIBS = c gcc hal phy net80211 lwip wpa main upgrade upgrade_ssl


위의 과정이 모두 마친 후의 폴더구조는 다음과 같을 것이다.


11. 예제 프로젝트를 빌드한다.

CMD를 실행한뒤 C:\Projects\esp8266\projects\at 폴더에 가서 espmake -B 를 입력한다.

아래와 같은 화면 결과가 출력되면 정상 빌드 된것 이다.

빌드 생성물은 C:\Projects\esp8266\projects\at\firmware\ 하위에 0x00000.bin 와 0x40000.bin으로 저장된다.


12. 빌드한 펌웨어를 굽는다. (Flash)

ESP-8266을 Programming 모드로 핀 배치 한다.


아래의 경로의 WIN64_Relase 폴더로 가서 파일을 다운받는다.

Github: Nodemcu Firmware Programmer


프로그램을 실행한뒤 Config 탭을 아래의 그림과 같이 설정한다.

첫번째 두번째 항목에는 빌드한 파일의 경로를 각각 지정해준다.


Operation 탭의 COM Port를 AD-USBISP 드라이버 에 맞게 지정해주고 Flash 버튼을 클릭한다.

COM Port 번호는 장치관리자에 가면 확인 할 수 있다.


   펌웨어 Flash가 끝나면 아래와 같이 화면이 뜬다.


13. 실행

ESP-8266 의 핀배치를 Normal 모드로 변경하고 전원을 차단후 다시 연결하여(재부팅) 

정상동작을 확인한다. (Terminal로 연결시 Ready 명령어가 수신되는 것을 확인 할 수 있다.)



참고 사이트

http://wiki.bhack.nl/ESP8266_Toolchain