중급 예제

약간은 익숙하시거나 익숙해지셨나요? 그렇다면 조금더 깊이 다뤄볼까요?

esp8266-wifi 연결하기

2016-05-02 19:03:54

개요 

 

<esp-1>

 

 

 

esp 모듈들의 장점은 저렴한 가격으로 wifi 통신을 기능을 사용할 수 있다는 점이 아닐까 싶습니다. 

다른 와이파이 쉴드와 비교해 8000원이란 가격은 엄청난 경쟁력이라고 할 수 있겠죠?

esp 모듈은 총 12가지 모델이 있는데 이번 글에서 사용할 모듈은 esp-1 모델입니다. 

 

가격이 싼 것은 장점이지만, 이 녀석을 쓰는 것은 꽤나 번거롭습니다.

여러 자료들을 찾아본 결과, esp8266은 전력 소비가 심하며, 에러에 대한 레퍼런스가 있기는 하지만 딱히 확실한 해결 방법을 구하기는 꽤 어렵습니다.

하지만 시작하기도 전에 겁을 먹을 필요는 없겠죠?

코코아팹과 함께 차근 차근 esp8266을 정복해나가기로 하죠! 

 

이전 튜토리얼에서 FTDI 모듈을 사용해 esp8266 모듈에 펌웨어를 업로드하는 방법에 대해 살펴보았습니다. 

이번 튜토리얼에서는 esp8266에 대한 AT command를 살펴보고, esp8266으로 wifi에 연결해보도록 하겠습니다. 

 

 

 

관련 튜토리얼

esp8266의 AT command 제어를 위해서는 esp8266에 펌웨어 설치가 선행되어야 합니다. 

아래 링크를 통해 esp8266에 펌웨어를 올리는 방법을 숙지하세요!

 - (1) ESP8266

 

 

 

필요한 부품 목록

NO 부품명 수량 상세설명
1 오렌지보드 1 Arduino UNO
2 esp8266 1 WiFi 통신 모듈
3 점퍼케이블  4  
부품명 오렌지보드 esp8266 점퍼케이블
파트

 

 

 

하드웨어 making

연결 방법은 아래와 같습니다. 

  - esp8266의 TXD를 오렌지보드의 D1에 연결해줍니다.

  - esp8266의 RXD를 오렌지보드의 D0에 연결해줍니다. 

  - esp8266의 GND를 오렌지보드의 GND에 연결해줍니다. 

  - esp8266의 VCC와 CH_PD를 연결해줍니다. 

  - esp8266의 VCC와 오렌지보드의 3.3V out을 연결해줍니다. 

 

주의 사항은 아래와 같습니다. 

   - esp8266의 VCC는 꼭 오렌지보드의 3.3V out에 연결해주셔야 합니다.(5V에 연결 시 모듈 고장을 초래할 수 있습니다!)

 

 

브레드보드 레이아웃

 

 

회로도(스케메틱)

 

 

 

 

 

esp8266 AT command를 통해 테스트 하기

 

 

esp8266에 AT command를 전송해 esp8266이 잘 동작하는지 확인해보고, 공유기와 연결해보도록 하겠습니다. 

이번 튜토리얼에서는 공유기 대신 스마트폰 Hotspot에 연결해보았습니다.

 

1. 오렌지보드에 기본 소스코드 업로드 하기

 

우선 Arduino IDE를 띄우면 나오는 기본 소스 코드를 업로드 시켜줘야 합니다. 

업로드 시에는 오렌지보드에 연결된 0번, 1번핀을 빼고 업로드를 진행해주셔야합니다.

업로드 완료 후 다시 0번과 1번에 esp 8266을 연결해주세요!

 

 

 

 

2. 시리얼 모니터 띄우기

 

아래 그림에 표시된 버튼을 눌러 시리얼 모니터 창을 띄워줍니다.

 

아래 그림과 같이 우측 하단의 설정에서 라인 엔딩을 Both NL & CR, 보레이트를 9600으로 설정해줍니다. 

보레이트를 9600으로 설정해주는 이유는 esp8266에 업로드한 펌웨어에서 통신 속도를 9600으로 설정해주었기 때문입니다. 

 

 

 

 

3. AT command 입력하기

 

이제 시리얼 모니터에 AT command를 입력해 esp 8266이 잘 동작하는지 확인해보고, 사용되는 AT command에 대해 간단히 알아보도록 하겠습니다. 

 

 

위 그림에서 사용된 AT command는 아래와 같습니다. 

  - AT : AT command 전송이 원할하게 이뤄지는지 확인합니다. 

  - AT+GMR : esp8266의 현재 펌웨어 버전을 출력합니다. 

  - AT+CWMODE? : esp8266의 모드를 출력합니다. 

  - AT+CWMODE='mode num' : esp8266의 모드를 설정합니다. esp8266의 mode는 총 3가지입니다. 사용하고자 하는 모드에 따라 mode num을 넣어주시면 됩니다. 

    이번 튜토리얼에서는 client로 사용할 것이기 때문에 1을 넣어주었습니다. 

            1. Station : client 모드

            2. AP : host 모드

            3. Dual : client, host 모드

   - AT+CWLAP : 주변에 존재하는 와이파이 신호 목록들을 출력합니다. 

   - AT+CWJAP="SSID","Password" : SSID에 맞는 password를 가진 와이파이 공유기에 접속합니다. 

   - AT+CWJAP? : 현재 esp8266에 연결된 와이파이 공유기를 출력합니다. 

 

이외의 AT command는 아래 링크에 자세히 소개되어 있습니다. 

http://room-15.github.io/blog/2015/03/26/esp8266-at-command-reference/#AT

 

필자의 경우 스마트폰 hotspot에 접속을 시도하였고, 아래 그림과 같이 esp8266이 문제 없어 연결된 것을 확인할 수 있습니다. 

 

 

다음 튜토리얼에서는 esp8266을 client로 사용해 일정 웹 사이트에서 데이터를 받아오는 방법에 대해 소개하도록하겠습니다.(필자도 공부하는 중입니다!^^)

 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

esp8266, 아두이노, 오렌지보드

penguin 2017-01-26 01:26:26

회로도에서 CH_PD와 VCC를 3.3V 2개를 연결시켜주려면 납땜으로만 해야하나요? 테이프 같은 것으로 붙여 접촉시키는 것은 안되는지 궁금합니다(인두기가 없어서 ㅠ)

김병주 2017-04-10 11:26:54

펌웨어 업로드 후 시리얼 모니터창을 띄우고 명령어 입력시 반응이 없습니다.

시리얼 통신 시 ESP8266 칩의 파란불이 깜빡여야 하는 것으로 알고있는데

이또한 반응이 없습니다. 무슨 문제인가요?...

Ashtarte 2017-07-09 01:59:30

파란불이 계속해서 켜져있는 이유는 무엇입니까? 해결방법은 어떻게 됩니까?

홍승우 2017-09-04 12:58:07

소스 업로드 하고 시리얼 모니터창을 띄우고 AT Command 를 입력하였는데 아무런 반응이 없습니다.
무슨 원인이 있을까요?

psubway 2018-01-06 22:50:29

115200, RX-TX 를 메인보드<->WIFI보드를 TX-TX, RX-RX로 맞추니 되네요. 안되시는 분들 참고하시면 좋을것 같네요.

동준 2018-05-30 19:08:04

esp8266를 클라이언트로 지정하는 방법이 궁금합니다.

vividhdndidhdndi 2018-08-22 01:32:35

우와! 감사합니다~