[매드정] 아두이노 강좌 - 24. Wifi 모듈 동작(ESP8266) - 1부




안녕하세요~ 매드 입니다.

아.. 정말 바쁘디 바쁜 한주가 지나갔습니다. 그 와중에 급하게 강좌했네요 ㅋㅋ

ㅠ 거의 3일을 밤새듯? 작업 한 것 같습니다. ㅎㅎ

그 중에 하나 결과물이 좋게 나왔는데! ㅎㅎ... 무박 2일로 진행했던 '의료 메이커톤' 행사에서 무려 대상을 탔습니다!!!

ㄱㄱ ㅑ ㅇ ㅏ! 오예! 대박! ㅠㅠ
(자축 중)

흠흠.. 죄송합니다. 제정신으로 돌아와서 ㅎㅎ 그럼 인증샷 투척



짜잔!! ㅎㅎ 정말 많은 곳에서 주관하여 진행했는데 많은 분들이 밤새는 동안 함께 고생하시더라구요 ㅠㅠ ㅎㅎ 게다가 이번 메이커톤은 두번째 참가였는데 이전과 다르게 정말 쟁쟁하신 분들이 많았습니다. .. 기술적으로나 아이디어적으로나 ㅎㅎ

사실 이번 메이커톤에서 제가 한건 딱히 없고 기획자 분들의 감성과 아이디어를 바탕으로 대상을 ... 숟가락 얹었습니다...... 하하;;

정말 우리팀 짱짱! +_+)=b

자랑은 여기까지만 하고.. ㅎㅎ 본격적인 강좌를 시작해보겠습니다.



24-1. WiFi 모듈 ESP8266 이란?


< ESP8266(출처:구글사진) >

사진이 잘 보이시나요~? ㅎㅎ 자세히 보시면 중앙 위쪽 IC 이름이 ESP8266 이라고 적혀진 것을 보실 수 있으실 겁니다.

사실 우리가 사용하는 많은 WiFi 모듈들에는 핵심 IC들이 들어가있는데 종류도 여러개가 있죠. 그리고 WiFi 모듈을 분류하면 WiFi to SPI나 WiFi to Parallel 또는 WiFi to UART 까지 여러 종류들이 있습니다. 서로 각각 장단점들이 있죠. 그 중 우리가 사용하는 메인 IC가 ESP8266이고 그래서 우리는 이 IC를 이용해서 만든 모듈들을 ESP8266이라고 많이 부르고 있습니다.

ESP8266은 WiFi to UART 방식의 모듈입니다. 장단 점들이 있지만 UART 라서 사용하기 쉬운 대신에 속도가 느리다는 단점이 있죠. ㅎㅎ IoT 시대에 간단한 신호들만 주고 받는 다면 굉장히 사용하기 간편한 IC가 되고 그 때문에 많이들 사용하고 있는 모듈 입니다.



< ESP8266 종류(출처:구글 사진) >

이 ESP8266으로 만들어진 모듈은 여러가지들이 있는데요. ESP8266 이라고 적힌 ESP-01 모델부터 ESP-12 모델까지 여러가지 종류들이 있습니다. 각각 조금씩 장단점과 차이점들이 있고 검색을 통해 자신의 입맛에 맞는 모듈을 구매하여 사용하시면 될 것 같습니다.

저희가 사용할 것은 ESP-01 만큼 많이 사용하고 있는 ESP-12 모듈 입니다!

이 모듈은 업데이트되면서 ESP-12E, ESP-12F 등 으로 버젼업 하고 있는데요. ㅎㅎ E 까지는 사용해 봤는데 호환은 다 되는 것 같습니다.... 차이점은 조사를 안해봐서.. 콜록 콜록

<ESP-12,출처:구글 사진>

보시다시피 ESP-12 모듈의 경우 SMD 타입으로 인하여 변환보드가 필요합니다. 위와 같은 변환 보드를 함께 구매하시면 아무래도 아두이노를 사용하는 저희에게 좀 더 사용하기 쉽겠죠?~

자 그럼 이제 연결 회로를 알아보도록 하죠.


24-2. ESP-12 연결 회로

<MAD B/D 회로>

우선 제가 보드 만들어서 확인한 회로 입니다. 이것도 어디선가 확인하고 그린건데 검색으로 못찾아서 그냥 제껄로 올려봅니다.

중요한 몇가지 연결들이 보이지요~? 인터넷을 보면 ESP-01 이랑 비교하여 전원이랑 UART 선만 연결해도 동작하는 것처럼 해놨는데 그러면 동작 안됩니다!!

위와 같이 확인하셔야 되요! ㅎㅎ

첫번째, ESP-12 모듈은 3.3V 동작입니다. RX, TX 통신시에 아두이노 5V 신호가 ESP-12 모듈로 입력되면 망가집니다!! 반드시 주의하세여~ ㅎㅎ
(저항 분배 법칙을 이용한 회로 또는 Level Shifter 모듈, 회로를 사용하세여!!)

두번째, 전원과 RX, TX 핀만 연결한다고 동작되지 않습니다. RESET_N, CH_PD, GPIO0 에 3.3V PULLUP 저항 또는 3.3V HIGH 신호가 필요합니다. 그리고 GPIO15 번핀은 GND로 PULLDOWN 저항 또는 GND LOW 신호를 걸어주시구요. ㅎㅎ

여기서 중요한거 하나더 GPIO0 의 경우에는 평소에는 HIGH 신호이지만 펌웨어 업데이트시에는 GND로 LOW 신호를 연결하여 외부에서 펌웨어 업데이트를 할 수 있습니다! 짜잔~ ㅎ

3.3V 기준 연결선
RESET_N     3.3V HIGH
CH_PD       3.3V HIGH
GPIO0        3.3V HIGH(펌웨어 업데이트모드 시 LOW)
GPIO15      GND

이제 어느정도 이해가 되시나요~? ㅎㅎ


24-3. 펌웨어 코드

이번 펌웨어 코드는 없습니다. ㅠㅠ
이전에 했던 SW 시리얼 통신이 ESP-12 모듈과 통신하는 방법이구요.

이전에 ESP-12 모듈의 AT COMMAND를 확인해서 명령어를 날려줘야 인식이 됩니다.
따라서! 이번에는 펌웨어가 없고 다음 시간에 AT COMMAND를 확인하고 난 뒤 펌웨어를 작성해 보도록 하겠습니다.

이번 시간은 간단한 개념과 종류 등을 이해하셨다고 생각하면 될 것 같네요!

그럼 다음주에 봐요~~





댓글 쓰기

0 댓글