본문 바로가기

Arduino/Putty with ESP8266

Putty, Arduino, ESP8266 connection

PuTTY와 아두이노 그리고 ESP8266을 연결하여 AT명령 실행하기


아두이노와 ESP8266을 연결하여 아두이노에서 WiFi를 사용하기위해 설정하려면 아래와 같은 절차에 따르는 것이 일반적이다


1. 아두이노의 통신속도는 9600 이므로 ESP8266의 펌웨어를 업데이트하여 9600 통신속도를 지원하는 펌웨어로 변경해야 한다

2. ESP8266의 펌웨어를 업데이트한 후에는 아두이노와 ESP8266을 연결하고 아두이노를 개발용 PC의 USB에 연결한다

3. 아두이노 IDE를 이용하여 BareMininum 코드를 아두이노에 업로드한다(바디가 비어있는 setup(), loop()함수 )

4. 아두이노 IDE의 시리얼 모니터 하단에서 통신속도를 9600으로,  Both NL & CR으로 설정한다

5. 시리얼 데이터 입력란에 AT명령어를 입력하고 [전송] 버튼을 누른다


그런데 필자는 위의 방법을 시도했지만 처음 몇번의 AT 명령은 제대로 실행이 되었고 응답도 받을 수 있었다. 그러나 어떤 명령을 시도하면서 오류가 발생하고 그 후로는 다른 명령마저도 실행할 수 없었다. 그래서 PuTTY와 아두이노, ESP8266을 연결하여 AT 명령어를 전달하고 응답을 받아서 PuTTY화면에 출력할 수 있다는 것을 검색을 통해 알았고 바로 테스트해본 결과 만족할 만한 결과를 얻을 수 있었다

http://flower-platform.com/2015/12/16/esp8266-with-at-commands-connect-from-pc-with-putty/



아두이노와 ESP8266의 연결

ESP8266의 전원은 3.3V, 아두이노는 시리얼통신시 5V를 사용하지만 ESP8266은 3.3V를 사용하므로 아래 그림처럼 저항을 이용하여 전압을 분배하여 3.3V로 낮춰서 ESP8266에 전달되도록 해야 전기적으로 안전하다



PuTTY 시리얼통신 설정




PuTTY를 통한 AT 명령의 실행/응답

AT 명령어 뒤에 ENTER 키를 누르고 이어서 CTRL+J 를 누르면 명령이 실행된다

아래의 모든 명령어 뒤에 [엔터]와 [CTRL+J]를 입력하면 된다

AT : ESP8266에 연결되어 있는지 확인 - OK 가 나오면 성공

AT+GMR : 펌웨어 버전 확인

AT+CWMODE? : Station(Client)은 1, Host(AP)는 2, 양쪽 모드 둘다는 3

AT+CWMODE=1 : 모드를 Station으로 설정

AT+CWLAP : 접속가능한 WiFi 네트워크 리스트 출력

AT+CWJAP="네트워크 아이디", "네트워크 비번" : 특정 WiFi 네트워크에 연결

AT+CIFSR : 공유기가 ESP8266에 할당할 내부 IP주소 확인



실제 명령 및 응답


AT


OK

AT+GMR

0018000902


OK

AT+CWMODE?

+CWMODE:2


OK

AT+CWMODE=1


OK

AT+CWMODE?

+CWMODE:1


OK

AT+CWLAP

+CWLAP:(3,"201-1203-home-net",-69,"90:9f:33:cc:b0:6a",2)

+CWLAP:(0,"ollehWiFi ",-94,"02:07:89:4d:80:be",2)

+CWLAP:(3,"109-1102",-88,"00:22:1f:05:78:2e",6)

+CWLAP:(3,"109-1202",-91,"00:22:1f:05:79:90",6)

+CWLAP:(4,"YSH",-80,"00:26:66:56:c7:b2",9)

+CWLAP:(0,"dw-iptime",-92,"00:26:66:94:f4:a0",9)

+CWLAP:(3,"U+Net990C",-91,"08:5d:dd:6e:99:0b",11)

+CWLAP:(3,"▒▒▒▒▒",-62,"90:9f:33:8c:10:fe",13)


OK

AT+CWJAP="201-1203-home-net","네트워크_비밀번호"


OK

AT+CIFSR

192.168.0.12


OK