사물인터넷(IoT)2016.03.14 14:21

이전 포스팅 [아두이노] 와이파이 모듈 ESP8266 펌웨어 업데이트 에서 ESP8266 펌웨어를 아두이노와 연결하여 소프트웨어 시리얼을 통하여 펌웨어를 업데이트 하는 방법을 알아보았다. 이번엔 AT 커맨드를 이용하여 ESP8266을 와이파이 공유기에 연결하는 방법을 알아보겠다. ESP8266 AT Command에 대해서는 다음의 URL을 참고하면 자세히 할 수 있다.


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


아두이노와의 연결은 펌웨어 업데이트 시와 동일하지만 펌웨어 업데이트 모드로 진입하기 위해서 연결했던 GPIO0에 연결했던 선은 뽑아주어야 아래의 실습을 할 수 있다. 결선도를 다시 그리자면 아래과 같다. 만약 펌웨어 업데이트가 되어있지 않다면 [아두이노] 와이파이 모듈 ESP8266 펌웨어 업데이트 글을 참고하여 펌웨어를 먼저 업데이트 하여야 한다.


Fritzing 파일: 

ESP8266_AT_Command.fzz


연결


Arduino  /   ESP8266

Tx  ------- Tx

Rx  ------- Rx

3.3V ------ CH_PD & 3.3V (VCC)


위와 같이 연결하고 아두이노를 PC와 연결한다. 아두이노 IDE를 실행하고 시리얼모니터를 열어 Baud Rate를 9600으로 설정하고 표시방식을 'Both NL & CR'로 설정한다.


1. 동작확인과 펌웨어 버전의 확인

- 'AT' 를 입력하여 OK 메시지가 리턴되면 정상적으로 동작하고 있다는 뜻이다.

- 'AT+GMR' 을 입력하면 ESP8266 의 현재 펌웨어 버전을 알려준다.





2. 와이파이 연결

ESP8266은 아래와 같이 3가지 모드를 지정해 줄 수 있다.

1번 : Station(Client)

2번 : AP(Host)

3번 : Station / AP  Dual 모드


AP는 집에 있는 와이파이 신호를 제공해 주는 공유기(라우터)를 생각하면 되고 Station은 와이파이 신호를 연결해서 사용하는 스마트폰을 생각하면 된다.


모드의 변경은 다음의 명령어로 전환한다.

'AT+CWMODE=1'  --->  Station Mode

'AT+CWMODE=2'  --->  AP Mode

'AT+CWMODE=3'  --->  Dual Mode


현재 모드의 확인은 다음의 명령어로 한다.

'AT+CWMODE?'



우선, ESP8266을 Station 모드로 와이파이 공유기에 접속을 하기 위해 ESP8266을 Station 모드로 전환한다.


모드를 Station으로 변경했으면 연결 가능한 와이파이를 찾는다. 와이파이를 찾는 명령어는 'AT+CWLAP' 명령어로 찾을 수 있다.


위와 같이 연결 가능한 AP 리스트가 뜨게 된다. 괄호 안의 값의 의미는 좌측부터 다음과 같다.


검색된 AP 중에서 집에 있는 공유기인 deneb2.4g 에 연결을 하려고 한다.

연결 명령어는 AT+CWJAP="SSID of AP","Password" 이다. 현재 연결된 AP를 보려면 'AT+CWJAP?' 을 입력하면 된다.


공유기에 제대로 연결되었는지 IP 확인을 해보자. 연결된 IP의 확인은 'AT+CIFSR' 명령어를 이용하면 된다.



ESP8266에 Ping 을 해 보았다.


한 번 설정된 접속정보는 ESP8266 메모리에 저장되어 전원을 껏다 켜도 자동으로 접속하게 된다.


AT 커맨트 요약정리 - 출처: https://nurdspace.nl/ESP8266



위와 같이 공유기에 잘 연결이 되어 IP도 뜨고 ESP8266에 Ping 도 된다. 이제는 어떻게 서버 또는 클라이언트와 연결해서 활용하는냐만 남은 것이다. 유튜브나 인터넷을 검색해보면 많은 이들이 벌써 원격지에서 집의 전등을 ON/OFF 한다거나 릴레이를 컨트롤 하여 여러가지 전자제품을 컨트롤 하는데 활용하고 있다.


예전에 본 미드 빅뱅이론의 한 장면이 생각난다. 공학도인 주인공들이 미국에서 지구반대편에 있는 전등을 인터넷을 통해서 켜고 끄면서 즐거워 하던 장면이다.  ESP8266을 잘 활용하면 이런 것이 가능한 것이다. IoT로 들어가는 첫단계 라고나 할까?


이제 와이파이 모듈이 어떻게 동작하고 연결되는지 기본적인 것은 익혔으니 다음 부터는 작은 프로젝트들을 실행해 볼까 한다.

Posted by 대네브 (deneb)