아두이노 WeMos 환경 셋팅 및 기본예제

by 조혜인 | 2017-03-02 14:08
ifttt iot particle photon r2 spread sheet wemos wifi 구글 데이터 문서화 빅데이터 스프레드시트 아두이노 위모스

재료

  • 아두이노 WeMos (국내) 1개 (7100원)

제가 진행하는 스마트도어락 프로젝트에서는 아두이노 WeMos를 이용해 wifi통신을 합니다.  벨을 누른 사람의 사진을 서버로 전송합니다. 어플에서 사진을 확인할 수 있습니다. 보안에 응용할 수 있겠죠? WeMos 아두이노 우노와 형태가 비슷해서 사용하기 편하고, 저렴한 편이라는 장점이 있습니다. 이번 포스팅에서는 아두이노 WeMos를 어떻게 다루는지 살펴보려고 합니다. 좋은 레퍼런스가 있어서 참고했습니다.(Programming the ESP8266 WeMos-D1R2 using Arduino software/IDE)


WeMos 보드의 장점

- 아두이노 UNO와 비슷
- 펌웨어 개발 없이 wifi를 다룰 수 있음
- 많은 사람들이 이용하는 ESP8266 모듈
- 가격이 저렴한 편



이 스토리를 통해 배울 수 있는 것

이 스토리는 Arduino IDE를 사용하여 WeMos-D1R2 보드를 설치, 구성 및 프로그래밍하는 데 필요한 정보들을 알려줍니다.


아두이노 Wemos란?

WeMos-D1R2는 Arduino-UNO 풋 프린트에 ESP8266-12을 추가한 WiFi 지원 마이크로 프로세서 유닛입니다. 즉, UNO와 같이 보드가 보이고 작동합니다 (대부분의 경우). 외관상으로는 Arduino를 위해 제조 된 쉴드, 센서 및 ouput 장치 대부분은 WiMos-D1R2에 작동합니다. Wifi 기능이 추가된 형태입니다.

WeMos 보드는 2가지 종류가 있습니다. 바로 WeMos-D1과 WeMos-D1R2입니다. 이 포스팅에서는 WeMos-D1R2 이용합니다. 몇몇 해외사이트에서는 구형 모델 WeMos-D1이 WeMos-D1R2로 판매되는 경우도 있으니 주의하세요.

ESP8266-12모듈이 WeMos-D1R2 보드에 삽입되어 있습니다. ESP8266-12E 프로그래밍과 유사합니다.





1. WeMos 프로그래밍 하기

STEP 1. Uno와 WeMos 핀맵(pin map)비교

Arduino UNO와 WeMos-D1R2는 차이가 있습니다. 아래 핀맵을 확인하세요. 종종 UNO용 프로그램을 Wemos에 맞게 변경해야할 경우도 있습니다. 이후 스탭에서 그 예를 확인할 수 있습니다.

 + 더 자세한 핀맵을 발견해서 추가합니다.



STEP 2. WeMos를 컴퓨터에 연결하기

1. WeMos-D1R2 보드를 usb케이블로 컴퓨터와 연결합니다.

2. Windows OS가 반응합니다. 새 하드웨어의 부착을 알리고 USB 드라이버를 설치합니다.
3. 시스템에서 드라이버를 찾지 못할 경우 USB 드라이버를 다운로드해야합니다.
 USB 인터페이스 칩은 CH340G입니다.
"CH340G 드라이버"는 window 버젼, mac 버전이 있습니다. 구글링해서 다운로드 합니다.





STEP 3. 연결 확인하기

장치관리자(Device Manager)에서 확인합니다. 아래의 사진을 참고하세요.





STEP 4. 아두이노 IDE에 WeMos 보드 라이브러리 설치하기

1. Wemos 라이브러리는 3rd파티에서 비공식적으로 지원합니다. Github에서 다음 url을 복사합니다.
"http://arduino.esp8266.com/stable/package_esp8266com_index.json" 다운로드 하지 마세요.

2. "File > Preference" 를 클릭합니다. 복사한 url을 "Additional Board Manager URLs" 옆 텍스트박스에 붙여넣기 하세요. 그리고 OK를 누릅니다.




STEP 5. Board Manager로  WeMos보드 설치하기

1. "Tools > Board > Boards Manager"를 선택합니다. 

2. "esp8266 of ESP8266 Community"를 클릭해 설치해 주세요. 시간은 조금 걸릴 수 있습니다. 설치 후 아두이노 IDE를 껐다 켜주세요.

3. 잘 설치되었는지 장치관리자에서 확인할 수 있습니다.




STEP 6. WeMos 보드 선택하기 & speed 설정하기

1. "Tools>Board>WeMos D1 R2 & mini" 를 선택하세요.


2. "Tools>Upload Speed>115200" 를 선택하세요.




STEP 7. Blynk 예제로 테스트해보기

1) 회로도

STEP 1의 핀맵을 참고하세요.



2) 소스코드

"File > Examples > 01.Basic > Blynk" 예제를 클릭해 가져옵니다. 

핀 번호만 14번으로 바꾼 후 업로드 해 주세요.

int LED = 14;    // Use D5, GPIO14

void setup() {
pinMode(LED, OUTPUT); // Initialize the LED pin as an output
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(LED, LOW); // Turn the LED
delay(1000); // Wait for a seconds
digitalWrite(LED, HIGH); // Turn the LED
delay(1000); // Wait for a seconds
}












loop문 안에 많은 코드를 넣지 않는 것이 좋습니다. 왜냐하면 wifi의 동작을 하기 위해서는 loop문이 한번 돌고 난 후 ESP8266 Core라는 기능을 수행해야 합니다. 그런데 loop문 안에 루틴이 너무 길게 동작하게 되면, 이 기능을 수행하기가 어려워집니다. 

어쩔수 없이 많은 루틴을 loop문 안에서 수행해야한다면, 코드 중간중간에 delay를 길게 넣어주는 방법이 있습니다. 그럼 그 delay기간 동안 ESP8266 Core 기능을 수행하게 됩니다.

 

2. 다음 단계

다음 스토리에서 WeMos 보드를 HTTP 서버로 이용해 Web 브라우저와 통신하는 프로젝트 해 보겠습니다.

댓글 0

사물 인터넷(IoT)

아두이노 WeMos 환경 셋팅 및 기본예제

by 조혜인

MADE BY

조혜인

arduino, processing, rhino, sketchup, 아두이노, 에프터이펙트, 포토샵, 프리미어