아두이노 프로젝트 – ESP8266 WIFI 모듈 성공 체험기

 

ESP-01

 

1)  Firmware  flashing 을 하지 않으면  “AT” 로 시작되는 명령이 먹히지 않음으로 Firmware flashing을 해야합니다…

2) Firmware flashing을 하는 실행기는 인터넷에서 쉽게 내려받을 수 있습니다. 이름은 “esp8266_flasher.exe”

3) Firmaware 는 인터넷에 여러 버젼이 떠 있는데…  버젼에 따라서…
– 아예 flashing 작업이 안되거나
– ESP8266 모듈을 불안전하게 하여 컴퓨터를 다운시키기도하고
– 보드레이트를 115200으로 고정하여 목적하는 9600 보드레이트를 얻기 어렵게도하고…
– 모든 기능을 정상 작돟하게 하고 보드레이트를 9600 으로 만드는 단하나의 Firmware 화일을 여기 올립니다….

v0922ATFirmware   —  9600 보드레이트 전용

esp8266_flasher

4) UART 소자 (USB –> SERIAL)  또는 FTDI  (프로그램 로더) 를 필요로 합니다

아두이노의 SERIAL 단자에 ESP를 연결하고 FLASHING을 시도하면 되지 않습니다…  FLASHING DATA가 아두이노를 거쳐 ESP 모듈에 전달되지 않기 때문입니다.

다수개의 SERIAL PORT를 가지고 있는 아두이노에서 아두이노의  SERIAL PORT를 사용하고자 하는 경우는 115200 속도로 FIRMWAR를 설정하는 FIRMWARE FILE을 설치하면 될 것입니다. …

그래서 직접 PC에서 ESP 모듈로  DATA를 전송하고 수신하는 UART 소자를 필요로 합니다. (FTDI 또는 TTL)

4) 핀간 선 연결

ESP-012

 

RXD와 TXD는 UART (USD->SERIAL ) 에 있는 연결핀에 연결합니다… RXD–>TXD, TXD–>RXD

동 기물은 3.3V에서 작동 하는 것으로 되어 있으나 사용해보면 4V 가까운 전압이 걸려야 정상적으로 작동하는 것을 알 수 있습니다.

UART 모듈의 전원을 ESP의 전원으로 사용하고자 하면 5V 단자에  1.5옴  직렬로 연결하면 4V 가 ESP 공급되면서 플래싱이 잘 됩니다.

RST(reset)는 노말 ON 상태인  PUSH BUTTON  스위치를 연결합니다….  노말 ON과 OFF 가 있는 마이크로 스위치를 사용하거나 노말 OFF 상태인 택트 스위치는 아래와 같이 노말 ON 상태의 회로를 만들어 사용합니다.  Flashing 시작과 종료 과정에서 Reset 이 필요합니다.

GND 와 GIO0(IO0)은 UART의 GND에 연결합니다.  GIO0은 프래싱 모드와 정상 사용 모드를 결정하는 핀입니다.  GND에 연결되면 프래싱 모드가 되고  연결되지 않으면 정상 사용 모드가 됩니다.

정리하면…

ESP8266                                                      UART
TXD ————————————RXD
RXD ————————————TXD
VCC ————– 1.5 옴————— 5 V
‘                                                                                       |
EN    ——————————————-
‘                                                                                       |RESET ————- 노말 ON BUTTON —-

GND   ——————————— GND
GIO0  (+) ——— 스위치 ———- GND
..

Normal Off 버튼으로 Normal on 제작방법
GND———— | Normal Off|—1K 옴 저항—–< input 4V
–                                |    button       |———————->   RESET 핀

누름스위치회로

평상시에 는   전력이 들어와 모듈로 들어갑니다.

스위치가 눌러지면 입력선에 GND가 연결되고 저항이 없는 GND가 모듈로 연결됩니다.

(주의 요망)

ESP를 프래싱후 아두이노에 연결하여 사용할 때는  ESP8266-01의 입출력 핀을 아두이노의 시리얼 핀(RX, TX)이나 DIGITAL 핀에 직접 연결하여 사용합니다.   아두이노의 디지탈 핀에서 나오는 전압은 실제로는 5V가 안나오고 약 4V 정도 나옴으로 3.3V로 작동하는 ESP  단자에서 수용합니다.  아두이노의 5V 전원을 사용하여  1.5옴의 저항을 직렬로 연결하여 사용하면 적절한 전압이 걸립니다.

레벨 쉬프터(LEVEL SHIFTER) 를 사용은 권유하지 않습니다.  3.3V 단자에서 4V 이상 나오는  품질 불량인 경우가 많습니다.  또한 핀을 납땜하는 과정에서 회로가 손상되기 쉬움으로 확인과 주의를 필요로 합니다.

5) FLASHING  절차

Bin 표식을 눌하여 프래싱 화일을선택합니다.
Download 우측 첫 장에 “COM3″ 이렇게  사용되는 PORT 번호를 기입합니다…  COM 포트 번호를 알기 위해서는 아두이노의 IDE 를 사용합니다.

1) GPIO 0 핀에 GND 선을 연결하고…
2) 리셋 버튼을 길게 눌렀다가 뗍니다.
2) ESP 표면에 파란 불이 잠깐 들어옵니다.
3) FLASHER 실행기의 Download 표식을 눌 합니다.

ESP8266_FLASHING

주의) ” Failed to leave Flash mode!”  —-  그냥 넘어가나 아래 종료 절차를 실행해야합니다…

다음의 종료 절차는 매우 중요합니다… 업로드된 FIRMWARE 가 SAVE 되지 않을 수 있습니다…

4) GIO0 선을 차단합니다… (핀을 뽑거나 스위치를 off 상태로 합니다.
5) Reset 버튼을 눌렀다가 놓아서 reset 시킵니다… 이떼 파란 불이 밝에 반짝반짝 들어오면 초기화에 성공한 것입니다.
6) UART 의 USB 잭을 뽑아서 ESP8266 모듈에 할당된 USB PORT를 제거합니다.
7) 잠시 후 UART의 USB 잭을 꽂아서 모듈에 USB PORT를 할당하고 전원이 들어오게 합니다.

8) Serial Monitor 로” AT” 명령어 수용 상태 확인

상당히 효과적인 Serial Monitor 실행기로 ” ESP8266 Config” 라는 실행기가 있습니다… 인터넷에서 검색후 내려받기 할 수 있습니다.ESP8266 Config 화면

거의 모든 기능의 AT 명령어를 사용할 수 있습니다.
보드레이트를 9600으로 맞추고 사용합니다.

9) 보드레이트를 9600으로 하는 이유

HARDWARE SERIAL을 사용할 수 없는 아두이노 보드에서는 ESP8266 모듈과 아두이노 보드간 통신하기 위해서 softwareSerial 함수를 사용해야합니다… 이 softwareSerial 함수의 최대 전송 속도가 19200 보드레이트이기 때문입니다…

8) 프래싱은 완료되었으나 실행기 연결하여 작동 상태를 확인 할 때 전혀 작동이 안되면서 리세 버튼을 눌 하면 깨진 글자가 나오는 경우는 공급되는 전압이 낮아서 이고
9) 자꾸 스스로 리셋이 되는 경우는 전압이 높아서 입니다…

FLASHER MODULEFLASHING을 편하게 하고 FLASHING 된 ESP8266의 AT 명령어 응답 상태를 확인할 수 있는 모듈 입니다.  사용법은 아래와 같습니다.

FTDI 를 사용하면 FTDI 꽂이에 TTL을 사용하면 TTL 꽂이에 꽂습니다.  FTDI는 GND 핀이 꽂이의 GND 표식에 꽂아 지도록 방향을 잡습니다.  FTDI의 상단 발은 꽂이가 없으며 자유상태가 됩니다.

ESP8266은 파란색 화살표 방향으로 꽂이에 꽂습니다.

FLASH MODE 스위치는 코가 빨간 표식 위치에 있으면 GPIO 0이 연결된 상태로 플래싱 모드가 됩니다…

 

 

 

 

댓글 남기기

이메일은 공개되지 않습니다.

다음의 HTML 태그와 속성을 사용할 수 있습니다: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>