기본 콘텐츠로 건너뛰기

ESP8266 Arduino 정식지원 - 설치 및 Compile

https://github.com/esp8266/Arduino

드디어 ESP8266에서도 Arduino를 정식지원한다.

윈도우즈에서도 잘 동작하는 걸 확인하고 포스팅.

1. ESP 하드웨어를 설정하고
2. 드라이버를 잡고
3. Arduino를 사용하여 업로드

하는 것 까지 살펴보겠다.

먼저 지난 글에서 처럼 ESP8266 핀설정을 확인하고 Serial Driver를 설정하는 것부터 되짚어 보자.

0 [*] GPIO16 8 GPIO15
1 GPIO5 9 GPIO3
2 GPIO4 10 GPIO1
3 GPIO0 11 GPIO9
4 GPIO2 12 GPIO10
5 GPIO14
6 GPIO12
7 GPIO13
실제 사용하는 매핑표는 이렇다.
ESP-01 Pinouts

ESP-12 Pinouts
REST는 RESET과 같음
Pin0~pin10까지는 무시하자. servo 관련 게시물에서 잘못 퍼왔다.
REST TXD 
ADC RXD
CH_PD GPIO4 - 2
GPIO16 - 0[*] GPIO5 - 1
GPIO14 - 5 GPIO0 - 3
GPIO12 - 6 GPIO1 - 10
GPIO13 - 7 GPIO15 - 8
VCC GND

실제 핀 배열은 이렇다. 
GPIO16은 R/W전용이다. 즉, 인터럽트/pwm/i2c/ow 다 안된다는 소리.

ESP-01과 ESP-12는 핀수가 다른데 공통으로 CH_PD를 VCC로 연결하고
ESP-12는 추가로 GPIO15번 핀을 GND에 연결한다.

한가지 알아두어야 할 것은 ESP시리즈는 Flash 모드와 일반모드 두가지가 있는데 실제로 업로드를 할때엔 Flash모드로 해놓아야된다.

GPIO0 핀을 GND로 연결하고 RESET 해준다. RESET은 RESET/REST핀을 GND에 연결했다가 끊으면 된다. 스위치가 있으면 확실히 편하지만 없어도 점퍼로 하자.

ESP8266은 별도의 USB 포트가 없으므로 PL2303같은 도구를 사용하자.

설치를 하고 난 다음엔 다시 뺏다 꽂아서 인식을 확인하고 Arduino를 설치해보자.

간단한 방법은 https://github.com/esp8266/Arduino#downloads 에서 항에서 각자 맞는 버전을 받자.

현재 Arduino 1.6.1 버전을 받을 수 있다.

하지만 내 경우엔 여러개의 버전이 있는 것이 싫어서 1.6.3 정식을 받고 별도로 보드를 추가하는 방식을 택했다. Arduino 1.6.2버전부터는 Third-party 보드를 지원한다!

1.6.3 설치 후 https://github.com/sandeepmistry/esp8266-Arduino 에서 다운 받고 압축해제 후  ~/Documents/Arduino/hardware (windows에서 내문서/Documents/Arduino/hardware) 아래에 esp8266com 이란 폴더를 복사해 넣자.

한방에 잘 된다면 다행인데 몇가지 점검해볼 내용이 있다.

1. 업로드 포트와 프로그래머를 잘 못찾을 경우가 있다. 디폴트로 해도 되게끔 Programmer 부분을 비워놓았는데 사용자 홈/Documents/Arduino/hardware/esp8266com/esp8266/programmers.txt가 텅텅 비어다면 아래의 내용을 추가하자.

esptool.name=esptool
esptool.communication=serial
esptool.protocol=esp
esptool.program.protocol=esp
esptool.program.tool=esptool
esptool.program.extra_params=

2. 윈도우의 경우 libiconv-2.dll 파일이 없어서 컴파일이 안될 수도 있는데 https://github.com/igrr/Arduino/releases/download/1.6.1-esp8266-1/arduino-1.6.1-p1-windows.zip 에 있는 내용을 찾아서 Arduino.exe 가 있는 경로에 해당파일을 복사하면 된다.

3. OS X의 경우 esptool이라는 업로딩 툴이 문제를 일으키는 경우가 있다.
OS X용 플래싱툴인 https://github.com/themadinventor/esptool 를 사용하여 임시로 올리자.
패치가 시급한 녀석이다.

갓나온지 얼마 안되어서 firmata, servo 등 주요 라이브러리등 작동하지 않는 것들도 몇몇 있지만 가능성 만큼은 최고인 ESP이다.
두려워 말고 당장 사용하자!





댓글

이 블로그의 인기 게시물

cURL로 cookie를 다루는 법

http://stackoverflow.com/questions/22252226/passport-local-strategy-and-curl 레거시 소스를 보다보면 인증 관련해서 cookie를 사용하는 경우가 있는데 가령 REST 서버인 경우 curl -H "Content-Type: application/json" -X POST -d '{"email": "aaa@bbb.com", "pw": "cccc"}' "http://localhost/login" 이렇게 로그인이 성공이 했더라도 curl -H "Content-Type: application/json" -X GET -d '' "http://localhost/accounts/" 이런 식으로 했을 때 쿠키를 사용한다면 당연히 인증 오류가 날 것이다. curl의 --cookie-jar 와 --cookie 옵션을 사용해서 cookie를 저장하고 꺼내쓰자. 각각 옵션 뒤엔 저장하고 꺼내쓸 파일이름을 임의로 지정하면 된다. 위의 과정을 다시 수정해서 적용하면 curl -H --cookie-jar jarfile "Content-Type: application/json" -X POST -d '{"email": "aaa@bbb.com", "pw": "cccc"}' "http://localhost/login" curl -H --cookie jarfile "Content-Type: application/json" -X GET -d '' "http://localhost/accounts/" 이렇게 사용하면

MQTT Broker Mosquitto 설치 후 설정

우분투 기준 $ sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa $ sudo apt-get update 하고 $ sudo apt-get install mosquitto 으로 설치하면 서비스까지 착실하게 올라간다. 설치는 간단한데 사용자를 만들어야한다. /etc/mosquitto/mosquitto.conf 파일에서 권한 설정을 변경하자. allow_anonymous false 를 추가해서 아무나 못들어오게 하자. $ service mosquitto restart 서비스를 재시작. 이제 사용자를 추가하자. mosquitto_passwd <암호파일 경로명> <사용자명> 하면 쉽게 만들 수 있다. # mosquitto_passwd /etc/mosquitto/passwd admin Password:  Reenter password:  암호 넣어준다. 두번 넣어준다. 이제 MQTT 약을 열심히 팔아서 Broker 사글세방 임대업을 하자.

OS X 터미널에서 tmux 사용시 pane 크기 조절

http://superuser.com/a/660072  글 참조. OS X 에서 tmux 사용시 나눠놓은 pane 크기 조정할 때 원래는 ctrl+b, ctrl+↑←→↓ 로 사이즈를 조정하는데 기본 터미널 키 입력이 조금 문제가 있다. 키 매핑을 다시 하자 Preferences(cmd+,) > Profile >  변경하고자 하는 Theme 선택 > Keyboards 로 들어가서 \033[1;5A \033[1;5B \033[1;5C \033[1;5D 를 순서대로 ↑↓→←순으로 매핑이 되도록 하면 된다. +를 누르고 Key에 해당 화살표키와 Modifier에 ctrl 선택 한 후 <esc>, [, 1, ;, 5 까지 한키 한키 입력 후 A,B,C,D를 써준다. 잘못 입력했을 땐 당황하지 말고 Delete on character 버튼을 눌러 수정하도록 하자. 그리고 다시 tmux에서 ctrl+b, ctrl+↑←→↓로 사이즈를 조절해보자. 잘 된다.