0. 업데이트에 앞서서..
- ESP8266는 3.3V를 사용하나 아두이노 보드의 TX, RX는 5V
- 따라서, ESP8266이 고장날 수 있으나 진행결과 3개의 모듈 정상작동(운이 좋았을지도)
- 가장 좋은 방법은 저항을 통해 5V → 3.3V로 만들어서 진행하는 방법.
- 하지만 저는 그냥 진행.
1. 왜 업데이트를 해야 할까?
- 아두이노와 연결해서 사용하기 위해 필요한 SoftwareSerial이 지원하는 최대 보드레이트: 19200
- ESP8266의 기본 보드레이트: 115500
- 사용하기 위해서는 ESP8266의 보드레이트를 낮춰야 함. 이를 위한 펌웨어를 업데이트.
- 여기 설명하는 방법대로 업데이트를 완료 하면 9600 보드레이트로 변경.
2. ESP8266 설명 및 ESP8266과 아두이노 연결.
- ESP8266 각 핀의 역할
- ESP8266, 아두이노 연결
ESP8266 |
아두이노 |
RX |
RX |
TX |
TX |
VCC |
3.3V |
CH_PD(Chip Power Down) |
3.3V |
GND |
GND |
CPIO0(펌웨어 업데이트 시 사용) |
GND |
GPIO2 |
|
RST |
<연결 완료>
3. 필요한 파일 다운로드
- esptool 다운로드 후 원하는 위치에 압축풀기
- 업데이트에 필요한 bin 파일(첨부파일) 다운 후 esptool-master 폴더에 저장
<파일 다운로드 후 esptool-master 폴더에 저장>
4. 펌웨어 업데이트 실행
- 포트 확인: 아두이노 IDE의 메뉴 → 포트
<USB 포트 확인(/dev/cu.usbmodem1431)>
- bin파일 확인: (3)에서 다운받은 bin파일(첨부파일)
- 터미널에서 esptool-master 폴더로 이동 후 명령어 실행
① pyserial 설치 명령어
sudo easy_install pip
sudo pip install pyserial
② esptool을 사용하여 펌웨어 업데이트 실행하는 명령어 sudo ./esptool.py --port 포트 write_flash 0x00000 bin파일.bin - 명령어 실행 중 Connecting 상태만 지속될 경우(인식문제로 인한 timeout 발생)
① RX, TX, GPIO0 연결 확인. ② 아두이노 코드를 최초 코드로 초기화하여 업로드(setup이랑 loop만 있는 코드로) ③ 보조전원 연결(연결했는데 계속 Connecting 상태면 빼보고 반복하다보니 됌..) ④ 공급 전원 3.3V, 5V 변경(계속 안되길래 바꾸다보니 인식 됌..) ⑤ USB포트를 뺐다가 다시 연결(반복하다보니 됌..)
<펌웨어 업데이트 완료>
5. 관련링크
- [아두이노] 와이파이 모듈 ESP8266 펌웨어 업데이트
-
- Using esptool on a Mac to flash firmware update on ESP8266
'프로그래밍 > Arduino' 카테고리의 다른 글
Wifi모듈(ESP8266) 사용법(3) - arduino-ESP8266 라이브러리를 사용하여 연결 (1) | 2017.07.06 |
---|---|
Wifi모듈(ESP8266) 사용법(2) - AT커맨드 사용하여 와이파이에 접근 (0) | 2017.07.05 |
가변저항으로 servo모터 움직이기 (0) | 2017.04.20 |
servo모터 자동으로 움직이기 (0) | 2017.04.20 |
버튼스위치로 숫자 변경하기 (0) | 2017.04.20 |