스토리지

<하려고 했던 것>

아두이노 + 와이파이 + 캐릭터LCD의 연동

  (우노)   (ESP8266-01) (20x4 CLCD)


<대강의 개념 정립 / 알게 된 지식>

ESP8266은 두가지 형태의 사용법이 있음.

 1. 아두이노 보드에 연결하여 단순한 통신 기능만을 하는 경우

    (이 경우는 AT명령어 같은 것들을 통해서 아두이노에서 ESP8266을 제어하게 됨. 추가적인 방법이 뭐가 있는지는 아직 잘 모르겠음)

 2. 아두이노 없이 독립된 시스템으로서 동작하는 경우 - ESP8266은 통신만 되는 것이 아니다. 제어 기능도 넣을 수 있다.

    (이 경우는 ESP8266모듈이 가격이 싼데다 성능도 나쁘지 않기 때문에 경제성이 높고, 크기도 작은 등 장점이 많음. 하지만 아직은 나온지 그리 오래되지 않아 정보가 많이 없을 수 있음. 외국 사이트에서 정보를 주로 얻어야 할 듯..)


소프트웨어 시리얼

아두이노 우노는 UART포트가 RX/TX 각 하나씩 뿐이기 때문에 시리얼 통신을 동시에 두개를 하지는 못한다.

그래서 추가로 시리얼 통신을 하려면 소프트웨어 시리얼이라는 방식을 쓰게 된다.

소프트웨어 시리얼 라이브러리를 추가해 주면 되는데, 보통 하드웨어적 시리얼 통신보다 속도가 느리다.

ESP8266을 소프트웨어 시리얼을 통해 연결하려면 보드레이트를 9600으로 설정하면 된다(왜냐면 아래에 언급할 펌웨어에서 그렇게 설정해뒀기 때문이다)


ESP8266 펌웨어 업데이트

GPIO 0번포트는 풀업 포트다. 이것을 GND에 연결하면 펌웨어 업데이트 모드로 진입하게 된다고 한다.

펌웨어 업데이트는 esp8266_flasher.exe를 실행하고, bin에 "v0.9.2.2 AT Firmware.bin" 파일을 넣으면 된다. 아두이노가 연결된 포트로 COM을 설정하고 펌웨어 업데이트를 하면 됨. 끝나고 나오는 오류 메시지는 무시해도 됨.



<성공>

내 경우는 아두이노를 메인으로 하고, ESP8266은 단순히 통신만을 위한 모듈로 쓰기로 했다.

별다른 처리 없이도 CLCD는 인식이 되었고,

소프트웨어 시리얼을 이용해 10번에 TX, 11번에 RX를 주었다.(예제소스에 나오는 RX/TX랑 반대로 연결해줘야 하는 듯. 이쪽에서 RX면 저쪽은 TX일테니까)


아무튼 그래서 아두이노를 메인 + ESP8266으로 통신 + CLCD출력을 제대로 볼 수 있었다.

'아두이노' 카테고리의 다른 글

CPU와 MCU의 차이  (0) 2017.08.20
아두이노의 메모리 크기  (0) 2017.08.20
아두이노 기본 함수  (0) 2017.08.20
아두이노 와이파이 함수  (0) 2017.08.18
아두이노를 선택한 이유  (0) 2017.08.13

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band