안녕하세요. 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 버튼을 누른다음 파일을 다운받는다.
C:\Projects\esp8266\esp8266_stuff\ 에 압축을 풀어준다.
6. 누락된 도움 파일을 다운받는다.
위의 경로에서 파일을 다운받고 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 소스코드를 다운받아 윈도우 버전으로 빌드
위의 경로에서 파일을 다운받은 다음 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 예제 zip 파일을 다운받는다.
C:\Projects\esp8266\projects\at 폴더 하위에 압축을 풀어준다.
새로운 Makefile을 다운받아 C:\Projects\esp8266\projects\at 폴더에 있는 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
'컴퓨터' 카테고리의 다른 글
[ESP8266][Windows] NodeMCU 펌웨어 올리기 (Firmware Download) (0) | 2016.03.01 |
---|---|
[Linux][Ubuntu] Taiga.io 설치하기 (0) | 2016.02.28 |
Grunt란? (0) | 2015.09.07 |
[9][라즈베리파이 홈서버 구축] 원격 토렌트 머신 transmission (0) | 2015.07.19 |
[8][라즈베리파이 홈서버 구축] FTP 서버 vsftpd (3) | 2015.07.19 |