아두이노 우노와 ESP8266 연동: 단계별 가이드
부품 및 소모품
| 부품 | 수량 |
| SparkFun ESP8266 | 1 |
| 아두이노 우노 (Arduino UNO) | 1 |
| SparkFun 로직 레벨 컨버터 (양방향) | 1 |
| 브레드보드 (Generic) | 1 |
| 점퍼 와이어 (Generic) | 1 |
앱 및 온라인 서비스
- 아두이노 IDE
- circuito.io
- Firmware.ino
- Software Serial
프로젝트 소개
목표는 소프트웨어 시리얼에서 잘 작동하는 ESP8266 AT 명령 라이브러리(ITEAD 라이브러리 기반)를 만드는 것이었습니다. AT 명령에 응답하는 펌웨어가 있는 대부분의 ESP8266 장치에서 작동합니다(보통 제조사 기본 펌웨어).
테스트용으로 이 예비 라이브러리를 배포하며, 깃허브 저장소를 통해 피드백과 개선 사항을 환영합니다.
1. 필요한 것들
- 아두이노 우노 (아두이노 IDE 설치됨)
- ESP8266
- 로직 레벨 컨버터
2. 배선
아래 배선도대로 ESP8266을 로직 컨버터를 통해 아두이노 우노의 소프트웨어 시리얼에 연결하세요.
3. 홈 와이파이 연결 설정
깃허브의 Firmware.ino 라이브러리를 열고 본인의 와이파이 SSID와 비밀번호를 입력하세요:
const char *SSID = "WIFI-SSID";
const char *PASSWORD = "WIFI-PASSWORD";
4. 아두이노에 스케치 업로드
아두이노를 컴퓨터에 연결하고 스케치를 업로드하세요.
5. 아두이노 IDE 시리얼 모니터 열기
아두이노 IDE 우상단의 시리얼 모니터 버튼을 클릭하세요. 모든 게 정상이면 다음과 같은 출력이 나타납니다.
(시리얼 모니터 출력 이미지 참조)
6. 문제 해결
응답이 없으면 아래 펌웨어로 ESP 펌웨어를 업데이트해 보세요. 3.3V FTDI 보드 필요.
- ESP를 FTDI에 연결
- ESP8266Flasher 다운로드
- 1.1.1.1 펌웨어 다운로드
- ESP 플래싱
소프트웨어 시리얼 사용 시 ESP8266으로부터 부분적 응답만 받으면:
C:\Program Files(x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.h 파일에서 42번째 줄:
#define _SS_MAX_RX_BUFF 64 // RX buffer size
를 다음으로 변경:
#define _SS_MAX_RX_BUFF 256 // RX buffer size
소프트웨어 시리얼 버퍼를 늘립니다. 초기화 시 보드레이트 설정이 실패하기도 하는데, 아두이노 리셋하면 보통 해결됩니다. 그래도 문제 있으면 댓글로 알려주세요. 개선 제안은 깃허브 풀 리퀘스트로 보내주세요.
일반적으로 이 코드는 모든 아두이노 우노 ESP8266-01 버전에서 작동합니다.
여러분의 피드백을 기다립니다!
코드
아두이노 우노 ESP8266-01 소프트웨어 시리얼 연동
연결에 필요한 깃허브 저장소: https://github.com/Circuito-io/ESP8266_SoftwareSerial
회로도
회로도 이미지 3장 참조