2016년 3월 23일 수요일

NodeMCU와 Blynk를 사용한 IoT - (1) 환경 설정

Blynk를 사용해 IoT 시스템을 구축하는데 가장 쉽고 저렴하게 사용할 수 있는 것이 ESP8266이다. 다만 ESP8266 모듈을 그냥 사용하려면 약간의 추가 회로를 붙여줘야 하는데 그런거 신경 쓸 필요 없이 바로 사용할 수 있는 것이 NodeMCU 이다.

 

 Aliexpress에서 대략 개당 $4~5 정도에 구입할 수 있다. USB-to-Serial, 플래쉬 라이팅에 필요한 버튼들까지 다 들어있어 컴퓨터에 USB 케이블로 연결만 해 주면 바로 사용할 수 있다. 또한 핀헤더도 표준 2.54mm 간격이라 매우 편리하다.


다만 한가지 단점은 보드이 폭이 약간 넓어 일반적인 브레드보드에 꼽으면 점퍼선을 연결할 수가 없다.


그래서 쉽게 사용하기 위해 만능기판에 2열 핀헤더를 이용해 베이스 보드를 만들어 줬다.

ESP8266은 기본적으로 LUA 언어를 사용할 수 있도록 인터프리터가 들어있는데 그보다는 아두이노 IDE를 사용하는 것이 더 편리하고 다양한 라이브러리를 활용할 수 있어 유용하다.

먼저 아두이노(http://www.arduino.cc)를 다운받아 설치해 준다.  버젼 1.6.5를 추천한다.

 http://www.arduino.cc 로 접속해 상단 메뉴바의 'Download'를 선택한다.

 Download 화면에서 바로 다운로드 하지 말고 우측 하단에서 'previous version of the current release'를 클릭한다.

버젼 1.6.5를 다운받아 설치해 주면 된다.

바로 다운로드가 시작되지 않고 아두이노 지원을 부탁하는 화면이 나온다. 기부를 원하면 액수를 지정하고 'Contribute & Download'를 누르면 되고, 기부 없이 바로 다운로드 받으려면 'Just Download'를 선택하면 된다.


아두이노가 설치되면 esp8266을 위한 추가 패키지를 설치해 줘야만 한다.


먼저 아두이노를 실행한다.



상단의 메뉴바에서 '파일'->'환경설정'을 선택한다.


'Additional Boards Manager URLs' 필드에 'http://arduino.esp8266.com/stable/package_esp8266com_index.json'를 입력해 준다.


위와 같이 입력했으면 '확인' 버튼을 눌러준다.


만일 아두이노를 이전부터 사용하고 있어 'Additional Boards Manager URLs' 필드에 위와 같이 다른 주소가 들어있는 경우라면 기존의 주소 뒤에 콤마(,)를 넣고 주소를 추가해 주거나 아니면 오른쪽의 아이콘(위의 스크린샷에서 오른쪽의 아이콘)을 눌러준다.


그러면 새 창이 열리는데 여기에서 한 줄에 하나씩 주소를 넣어주고 '확인'을 눌러줘도 된다.

이제 URL 추가가 끝났으면 실제 보드 패키지를 설치해야 한다.


'도구'->'보드'->'Boards Manager...' 를 선택한다.


보드 매니져 창이 열리고 추가할 수 있는 보드 패키지 목록이 보인다.


아래쪽으로 스크롤 해 보면 esp8266 항목이 보인다. 이 항목을 선택하면 우측 하단에 'Install' 버튼이 생긴다. 이 버튼을 눌러주면 아두이노에서 사용하는 ESP8266 패키지가 설치된다.

버튼을 누르면 바로 설치가 진행되는데 약간의 시간이 걸린다. 설치가 끝나면 '닫기' 버튼을 눌러 Boards Manager를 닫아준다.


 이제 '도구'->'보드'를 보면 이전에는 보이지 않았던 ESP8266 모듈을 사용한 보드들 항목이 보이게 된다. 자신이 사용하고자 하는 보드를 선택해주면 된다. 여기서는 NodeMCU 0.9를 선택했다.


NodeMCU로 보드를 선택하고 '파일'->'예제'로 가서 아래쪽으로 내려가 보면 ESP8266 예제코드들을 볼 수 있다.

이제 실제로 동작을 확인하기 위해 프로그램을 입력해 본다.

먼저 아두이노에서 아래의 코드를 입력해 준다.

void setup()
{
  pinMode(1, OUTPUT);
}

void loop()
{
  digitalWrite(1, HIGH);
  delay(500);
  digitalWrite(1, LOW);
  delay(500);
}



위의 사진에서 표시된 부분이 1번 핀에 연결되어 있는 LED이다. 위의 코드가 실행되면 이 LED가 깜빡이게 된다.

이제 프로그램을 보드로 업로드 해 보겠다.








아두이노에서는 다른 보드와 동일하게 상단의 'Upload' 버튼을 눌러주면 된다.


다만 NodeMCU의 경우 아두이노 보드처럼 'Upload' 버튼만 누르면 되는게 아니고, 보드가 flash download 모드로 들어가도록 해 줘야만 한다. 위에 두개의 버튼이 있는데 먼저 '1'번 버튼을 누르고 있는 상태에서 '2'번 버튼을 눌렀다 뗀다. 그리고 '1'번 버튼을 떼 주면 된다. 


정상적으로 업로드가 진행되면 위와 같이 진행된다. 프로그램 업로드가 끝나면 LED가 반짝이게 된다.

* NodeMCU 보드를 컴퓨터에 연결했을 때 디바이스 드라이버를 찾지 못하면 구글에서 CH340G driver 로 검색해 드라이버를 설치해 주면 된다. 


NodeMCU와 Blynk를 사용한 IoT - (2) 튜토리얼 1

댓글 없음:

댓글 쓰기