인터넷에 있는 여러 방법으로 해도 안되는 것을 해결하였다.
사용한 esp8266 시리얼 WiFi 모듈 : ESP-01 (DIP) [SZH-EK051]
디바이스마트 제품번호 1279338
제품 외형(AI-Cloud inside라고 마킹되어 있다.)
1. 펌웨어 업데이트
esp8266의 기본 펌웨어는 보드레이트가 115000으로 설정되어있지만 아두이노의 소프트웨어 시리얼의 보드레이트는 9600이기 때문에 원활한 시리얼 통신을 위해선 9600으로 설정된 펌웨어가 필요하다.
아두이노 우노의 기본 전압은 5V라서 3.3V인 esp8266에 아두이노를 바로 달면 esp8266이 저세상으로 갑니다, 따라서 5v가 아닌 3.3v 구멍으로 esp8266을 연결해야된다.
연결도입니다.
위 그림과 같이 연결 후, 아래 파일을 다운로드 한다.
외부링크 : https://drive.google.com/file/d/1O-TNzwU03JyjUYwylpsjXIzxRgfcGWdi/view
esp8266 핀 정의도는 아래와 같니다.
CH_PD와 3.3V는 아두이노의 3.3V 구멍에 연결하였고,
GND와 GPIO0은 아두이노의 GND 구멍에 연결하였다, (GPIO0는 펌웨어 업그레이드시에만 사용합니다.)
나머지 Tx와 Rx는 그대로 연결한다.
제대로 연결을 하면 위 사진처럼 esp8266에 빨간 led가 표시된다. 그럼 이제 펌웨어 업데이트 차례다.
파일을 다운로드후 압축을 해제하면 아래와 같은 파일이 보인다.
필요한 파일은 esp8266_flasher.exe와 AI-v0.9.5 AT Firmware.bin 이다.
esp8266_flasher.exe 파일은 관리자권한으로 실행해야 작동한다.(그렇게 해야함)
bin 파일은 AI-v0.9.5 AT Firmware.bin을 선택한다.
COM1은 아두이노 IDE의 새로만들기를 한것으로 한다.
포트는 툴을 클릭하면 보이는 포트를 입력한다.(필자의 컴에서는 22번 포트)
선택한 결과는 아래 그림과 같다.
다운로드 버튼이 작동하지 않는다면 아두이노 시리얼창이 열려있기 떄문이다. 닫아주자.
"Failed to connect"가 나온다면 아두이노 연결 USB를 뺐다 다시 연결한다.
완료되면 아래와 같은 화면이 나온다.
Leaving...
Failed to leave Flash mode 메시지는 무시한다.
그리고 반드시 창을 닫는다.
아두이노 시리얼모니터를 연다.
그리고, AT 명령어를 입력해서 OK 가 나오면 성공한 것이다.
반드시 확인할 사항은 Both NL & CR과 9600보트레이트이다.
AT 명령어 간단 정리
20:53:49.169 -> AT //Test AT startup
20:53:49.169 ->
20:53:49.203 -> OK
20:54:08.214 -> AT+GMR //View version info
20:54:08.248 -> 00200.9.5(b1)
20:54:08.248 -> compiled @ Dec 25 2014 21:40:28
20:54:08.282 -> AI-THINKER Dec 25 2014
20:54:08.316 ->
20:54:08.316 -> OK
20:54:47.905 -> AT+CWMODE? // Mode check
20:54:47.905 -> +CWMODE:2
20:54:47.905 ->
20:54:47.905 -> OK
20:55:02.117 -> AT+CWMODE=? // Mode value check
20:55:02.151 -> +CWMODE:(1-3)
20:55:02.151 ->
20:55:02.151 -> OK
20:55:14.708 -> AT+CWMODE=3 // Mode 3 setting(1 = station, 2 = AP, 3 = station+AP)
20:55:14.777 ->
20:55:14.777 -> OK
AT+CWJAP - Connect to AP
AT+CWJAP?
AT+CWJAP=ssid,pwd
AT+CWLAP - Lists available APs
More http://room-15.github.io/blog/2015/03/26/esp8266-at-command-reference/#AT
다른사림이 시연한 동영상입니다.
트러블슈팅
펌웨어 업데이트시 failed to connect 오류가 뜬다
아두이노와 esp8266이 제대로 연결됬는지 확인해보고, 제대로 연결되었으면 재연결해보거나 10초정도 기다린후에 다시 시도하면 됨
펌웨어 업데이트시 invalid head of packet error 라는 오류가 뜬다
아두이노에 이미 다른 스케치가 올라와 있어 그런 현상이 발생하는것임. 위 사진처럼 예제에서 Blink를 불러와 아두이노에 업로드 시킨후 다시 시도.
출처 : https://m.blog.naver.com/ssplas/220813696810