WeMos D1 mini 기종은 ESP-12모듈을 적용한 NodeMCU인데, 사용하지 않는 핀을 전부 제외하여 보드의 크기를 최소화한 기종이다. 즉, WeMos D1 기종이 아두이노 우노 스타일의 NodeMCU라면 WeMos D1 mini는 아두이노 나노 스타일의 NodeMCU로서 크기가 작아 PCB 등에 납땜하여 기기를 제작하기에 유용하다.

 

 

 

WeMos D1 mini PIN LAYOUT

 

 

 

D1 mini Shield

 

WeMos D1 Mini 기종의 장점중의 하나는 다음과 같이 전용 Shield(부가기능 보드)를 레고블럭처럼 쌓아 올려 시스템을 구성할 수 있다는 것이다.

 

 

 

Relay, OLED Screen 이외에도 여러가지 Shield들이 있으며 상하 뿐만 아니라 좌우로도 확장시킬 수 있는 보드도 있다.

 

 

 

사양 및 사용방법

 

WeMos D1 mini도 다른 NodeMCU와 동일하게 ESP-12를 사용하기 때문에 보드메니저 설치 및 사용 방법은 동일하다. 

ESP8266 보드메니저를 설치하면 WeMos D1 mini도 포함되므로 아두이노 IDE에서 보드 선택을 WeMos D1 R2 & mini로 선택하면 된다.

 

구매좌표 :

해외쇼핑몰 : 배송기간은 길지만 가격이 싸다

 

US $2.28 |Wemos D1 Mini V3.0.0 WIFI Internet of Things Development Board Based ESP8266 CH340 CH340G 4MB For Arduino Nodemcu V2 M

Smarter Shopping, Better Living! Aliexpress.com

www.aliexpress.com

국내쇼핑몰 : 가격은 비싸지만 즉시 구매가능

 

WeMos ESP8266 WIFI D1 MINI 호환 보드

COUPANG

www.coupang.com

 

'각종 부품 사용방법 > 프로세서' 카테고리의 다른 글

ESP32 개발환경 설치  (1) 2019.03.14
ESP32 사양 및 종류  (0) 2019.01.26
ESP8266 WeMos D1 사양 및 사용방법  (0) 2019.01.23
ESP8266 NodeMCU 사양 및 사용방법  (0) 2019.01.22
ESP8266과 관련 모듈들  (0) 2019.01.19

 

 

ESP8266 WeMos D1 기종은 ESP12모듈을 적용한 NodeMCU인데, 외형 모양을 아두이노 우노와 동일하게 제작한 기종이다. 따라서 아두이노 우노를 가지고 실습하던 방식대로 듀폰케이블을 가지고 이리저리 꽂아가며 실습하기에 편하다.

 

모양은 아두이노 우노를 닮았지만 실제 프로세서가 ATMega328이 아니고 ESP8266이기 때문에 사양이나 기능은 다른 NodeMCU와 동일하다. 즉 아두이노 우노처럼 많은 수의  입출력핀을 사용할 수는 없고 8개의 디지털핀과 1개의 아날로그핀밖에 사용할 수 없다.  

 

 

 

유사한 기종으로 WeMos D1이라 표시되지 않고 D1이라고만 표시된 기종이 있는데 보드상의 부품 및 핀배치가 약간 다르다.  

 

WeMos D1 PIN LAYOUT

 

 

 

사양 및 사용방법

 

WeMos D1도 다른 NodeMCU와 동일하게 ESP-12를 사용하기 때문에 보드메니저 설치 및 사용 방법은 동일하다. 

ESP8266 보드메니저를 설치하면 WeMos D1도 포함되므로 아두이노 IDE에서 보드 선택을 WeMos D1 R2 & mini로 선택하면 된다.

 

 

AliExpress D1 mini

 

ESP8266 Node MCU는 ESP-12 모듈에 USB와 아두이노IDE환경 지원 등을 추가해서 아두이노의 한 종류처럼 개발된 모듈으로서 IOT(Internet Of Things)환경에서의 기본형 프로세서로 많이 사용된다. 즉, IOT환경을 위해서는 WIFI 통신기능이 필수인데 기존의 아두이노에 WIFI장치를 부착하는 것보다 NodeMCU 하나를 사용하는 것이 다음과 같은 장점이 있다.  

 

-아두이노+WIFI통신장치 보다 NodeMCU 하나를 사용하는 것이 가격도 저렴하고 부피도 적다.

-하나의 모듈안에서 WIFI가 기본 지원되므로 사용하기 간편하다.  

-NodeMCU내 내장된 프로세서(80MHz대)가 아두이노보다(16MHz대) 속도가 훨씬 빠르다.

-

 

그러나 다음과 같은 단점도 있다.

 

-입출력 핀 수가 적다. 아날로그 입력핀은 1개 밖에 없으며 디지털 입출력핀은 5~8개 밖에 사용할 수 없어 센서 등 여러 장치를 연결할 수 없다.(아두이노 나노의 경우 아날로그 6개, 디지털 14개)

-WIFI가 가동될 때 전력소비가 커서 배터리환경에서 오래 가동시킬 수 없다.( 절전Sleeping 모드를 사용할 수는 있음)

   

 

 

NodeMCU 입출력핀 LAYOUT

 

 

 

ESP12모듈을 기본으로 사용하므로 ESP12 모듈에서 사용하는 GPIO번호를 그대로 사용헤도 되고 보드에 적힌 A0, D0~D8 라는 명칭을 아두이노에서 처럼 사용해도 된다. 

 

배열된 핀수는 많으나 많은 핀들의 기능이 특정 목적으로 이미 예약 사용되기 있기 사용자가 임의로 활용할 수 있는 범용 입출력 핀은 몇개 안된다.

- GPIO 0,2,15 번은 부팅모드를 설정하기 위해 내정되어 있어 사용시에 주의를 요한다. 

- GPIO1,3 번은 시리얼 통신용이다.

- GPIO 6~11번은 플래시메모리용으로 이미 사용중이므로 사용할 수 없다.

- GPIO 16번 (D0) 은 Sleep mode에서 벗어나기 위한 Wake용으로 사용된다

 

따라서 사용자가 조건 없이 범용으로 사용할 수 있는 핀은 GPIO 4번(D2), GPIO 5번 (D1),  GPIO 12~14번 (D6,D7,D5) 다섯개 밖에 되지 않는다.     

    

내장LED는 GPIO 2번(D4) 에 연결되어 있다. ( 아두이노 나노는 디지털13번 )

 

 

사용방법

 

아두이노 IDE에서 ESP8266기능을 사용하려면 다음과 같이 ESP8266 보드메니저를 추가해 주어야 한다.  

 

1) Arduino IDE를 기동시키고 파일 -> 환경설정 메뉴를 선택한다. 

 

 

2)환경설정화면 [추가적인 보드 메니저URL] 항목에 다음과 같이 추가한다.


       http://arduino.esp8266.com/stable/package_esp8266com_index.json

 

 

3)아두이노 IDE메뉴에서 툴 -> 보드 -> 보드메니저 선택한다.

 

 

4)보드메니저에서 ESP8266을 선택하여 설치하고 아두이노 IDE를 종료하고 재가동 한다.

 

 

 

예제 프로그램 실행시켜 보기

 

ESP 8266 보드메니저가 설치되면  다음과 같이 예제 메뉴에 ESP8266 예제들이 추가되므로 여기에서 Blink를 선택해 본다. 

 

 

아두이노 IDE 메뉴에서 툴->보드-> NodeMCU 1.0 을 선택하고, 포트연결을 확인한 후 실행시켜 보면 보드의 내장LED가 깜박이는 것을 확인할 수 있다.  예제의 설명문에 적혀 있는 것처럼  LED_BUILTIN은 LOW일 때 LED가 켜지고 HIGH일 때 꺼지는 것 임에 주의한다.

 

 

 

SLEEP모드 사용하기 

 

ESP8266 모듈은 기본적으로 전력 소모량이 많기 때문에 사용하지 않을 때에는 거의 모든 기능이 정지되어 있는 상태(Sleep mode)에서 대기하고 있다가 어떤 조건이 만족되면 다시 깨어나 작동하는 기능이 지원된다. 이 sleep mode에서는 오로지 다시 깨어나기 위해 대기하는 기능만 작동되기 때문에 전력소모가 거의 없다.

 

1) 사전배선 : GPIO 16번 (D0) 핀을 RST(Reset) 핀을 연결한다.     

 

2) 수면모드 진입 : 다음과 같이 Sleep mode를 지정하면 지정한 시간 만큼 Sleep 모드후 자동으로 다시 시작된다.  

    

   const unsigned long stime = 60000000;  // 60초, 백반분의 1초 단위     

   ESP.deepsleep(stime);

 

3)수면모드 탈출 : 수면모드 진입시에 지정된 시간이 경과 되거나  RST핀에 LOW신호를 입력하면( GND에 연결되도록 스위치를 설치하여 누르기)  다시 깨어나게 된다.

 

다음 수면모드 샘플프로그램은  내장 LED를 5초간 켜고 나서 10초간 Sleep Mode에 진입했다가 다시 깨어나는 예제 프로그램이다. 여기에서 주의해야 할 점은 Sleep mode에서 깨어 나면 정지 되었던 다음부터 다시 시작하는 것이 아니고 프로그램이 완전히 재시작해서 setup 함수부터 다시 시작한다는 것이다.   

 

const unsigned long sTime = 10000000; // 10초  
  
void setup() {  
  Serial.begin(115200);  
  Serial.println("program start");  
  pinMode(LED_BUILTIN, OUTPUT);   
}  
   
void loop() {  
  digitalWrite(LED_BUILTIN, LOW);  
  delay(5000);  
  digitalWrite(LED_BUILTIN, HIGH);  
  ESP.deepSleep(sTime);  
}  

 

예를 들어 1시간 간격으로 온도 등 기상정보를 읽어 서버에 보내 주는 기능을 개발할 때 이러한 Sleep mode기능을 활용하면 실제 센싱 및 전송작업할 때에만 깨어나서 작업하고 59분 이상 대부분의 시간을 Sleep mode에서 대기하게 함으로써 배터리가동 시간을 획기적으로 늘릴 수 있다. 

       

구매좌표 : s.click.aliexpress.com/e/_AbtSSf

 

1.94US $ 19% OFF|Wireless module CH340/CP2102 NodeMcu V3 V2 Lua WIFI Internet of Things development board based ESP8266 ESP 12E

Smarter Shopping, Better Living! Aliexpress.com

www.aliexpress.com

 

+ Recent posts