ESP8266 상세 스펙
ESP8266은 TI CC3000과 같이 TCP/IP를 칩에 올려서 사용합니다.
ESP8266는 또 ATcommand를 통해 시리얼 모니터에서 명령어를 전송하여 WiFi통신을 제어할 수 있습니다.
그리고 가장 큰 특징은 내부에 32bit ARM-core 기반의 CPU가 존재하여 MCU가 할 수 있는 기능들(ADC, I2C, UART)을 모두 갖추어 있어 지금은 아두이노와 같이 사용하지만 추후에는 아두이노가 없이 ESP8266모듈만으로도 LED를 제어하는 것이 가능합니다.
Features
1. 802.11 b/g/n
2. Wi-Fi Direct (P2P), soft-AP
3. Integrated TCP/IP protocol stack
4. Integrated TR switch, balun, LNA, power amplifier and matching network
5. Integrated PLLs, regulators, DCXO and power management units
6. +19.5dBm output power in 802.11b mode
7. Power down leakage current of <10uA
8. 1MB Flash Memory
9. Integrated low power 32-bit CPU could be used as application processor
10. SDIO 1.1 / 2.0, SPI, UART
11. STBC, 1×1 MIMO, 2×1 MIMO
12. A-MPDU & A-MSDU aggregation & 0.4ms guard interval
13. Wake up and transmit packets in < 2ms
14. Standby power consumption of < 1.0mW (DTIM3)
Documents
SparkFun 데이터 시트 - https://cdn.sparkfun.com/datasheets/Wireless/WiFi/ESP8266ModuleV1.pdf(그래픽 데이터 시트)
Adafruit 데이터 시트 - https://www.adafruit.com/images/product-files/2471/0A-ESP8266__Datasheet__EN_v4.3.pdf
ESP의 정보를 구할 수 있는 곳 - http://www.electrodragon.com/w/ESP8266_wiring_with_Arduino(비록 영문 사이트이긴 하지만 정보가 잘 정리되어 있습니다.)
하드웨어 Making
ESP8266 연결 핀
※ 연결하실 때 가장 주의 해야할 점은 3.3V를 연결해야 합니다. 5V를 연결했다가는 모듈이 망가질 수 있으니 주의 하세요.
Arduino <---> ESP8266Tx <---> TxRx <---> Rx3.3V <---> VCC (3.3V)3.3V <---> CH_PDGND <---> GNDGND <---> GPIO0
특히 GPIO0에 GND를 연결하는게 중요한데, 이렇게 해야만 ESP8266이 Flash Mode로 진입해서 Firmware 업로드를 할 수 있기 때문이다.
당연히 Firmware 업데이트 이후에는 GPIO0와 GND의 연결을 끊어야 제대로 동작한다.
펌웨어 업데이트 하기
ESP8266을 사용하기 위해서는 모듈 내부를 세팅해주어야 합니다.
아두이노와 ESP8266을 시리얼로 연결하기 위해서는 아두이노UNO가 UART통신을 1개만 가지고 있기 때문에 하드웨어 시리얼은 더 이상 불가능 합니다. 그렇기 때문에 소프트웨어적 시리얼 통신을 해야하는데 그러기 위해서는 시리얼 통신의 속도를 9600bps로 설정해 주어야 합니다.
일단 먼저 펌웨어를 업데이트 할 수 있는 프로그램을 아래 링크에서 받습니다.
https://docs.google.com/file/d/0B3dUKfqzZnlwVGc1YnFyUjgxelE/edit
그리고 펌웨어 파일도 아래 링크에서 내려 받습니다.
https://docs.google.com/file/d/0B3dUKfqzZnlwdUJUc2hkZDUyVjA/edit
1. BIN을 누르면 펌웨어 파일을 선택할 수 있습니다. 위의 두 번째 링크에서 받은 파일의 디렉토리를 넣으면 됩니다.
2. COM1이라고 적혀진 부분에는 FTDI의 포트 번호를 적습니다. 장치관리자에서 확인 가능합니다.
3. 여기까지 따라하셨으면 Download를 하면 ESP8266 펌웨어 업데이트를 시작합니다.
업데이트가 끝나면 아래와 같이 Leaving이라고 뜹니다.
99%에서 멈추고 저 글씨가 떴더라도 Leaving이라는 글씨가 뜨면 펌웨어 업데이트가 완료된 것이니 선을 빼셔도 됩니다.
출처: https://kocoafab.cc/tutorial/view/592
Failed to Connect....
펌웨어가 업데이트 안되는 경우
1) 아두이노 usb포트를 다시 부착한다
2)Flasher 프로그램 Firmware 업데이트를 시도한다.
3) 이미 업로드 업로드 되었는지 확인한다.
4) 아두이노를 초기화한다.
펌웨어를 설치했다면
위 그림에서 사용된 AT command는 아래와 같습니다.
- AT : AT command 전송이 원할하게 이뤄지는지 확인합니다.
- AT+GMR : esp8266의 현재 펌웨어 버전을 출력합니다.
- AT+CWMODE? : esp8266의 모드를 출력합니다.
- AT+CWMODE='mode num' : esp8266의 모드를 설정합니다. esp8266의 mode는 총 3가지입니다. 사용하고자 하는 모드에 따라 mode num을 넣어주시면 됩니다.
이번 튜토리얼에서는 client로 사용할 것이기 때문에 1을 넣어주었습니다.
1. Station : client 모드
2. AP : host 모드
3. Dual : client, host 모드
- AT+CWLAP : 주변에 존재하는 와이파이 신호 목록들을 출력합니다.
- AT+CWJAP="SSID","Password" : SSID에 맞는 password를 가진 와이파이 공유기에 접속합니다.
- AT+CWJAP? : 현재 esp8266에 연결된 와이파이 공유기를 출력합니다.
이외의 AT command는 아래 링크에 자세히 소개되어 있습니다.
http://room-15.github.io/blog/2015/03/26/esp8266-at-command-reference/#AT
필자의 경우 스마트폰 hotspot에 접속을 시도하였고, 아래 그림과 같이 esp8266이 문제 없어 연결된 것을 확인할 수 있습니다.
출처: https://kocoafab.cc/tutorial/view/625
대부분의 내용은 Kocoafab 에서 가져왔을을 밝힙니다.
'어떻게? > ESP8266 활용 speakThing에 연결해보기' 카테고리의 다른 글
ThingSpeak 값전송 해보기 (0) | 2018.04.28 |
---|