반응형

NodeMCU 펌웨어에는 많은 모듈들이 포함되어 있다. 하지만 사용하지 않을 모듈을 포함하는 것은 용량상으로나 기능적으로 낭비가 아닐 수 없다. 이럴 경우 사용을 원하는 모듈만 포함시켜서 펌웨어를 생성할 수 있는 사이트가 있어서 소개한다. 바로 NodeMCU Build 라는 사이트 이다.  NodeMCU 모듈에 대한 설명은 NodeMCU Documentation 사이트인https://nodemcu.readthedocs.io/en/dev/ 사이트에서 볼 수 있다.




NodeMCU Custom Build 사이트 

https://nodemcu-build.com



https://nodemcu-build.com 사이트로 이동하면... 


이메일로 빌드된 펌웨어 링크를 보내주므로 이메일을 적어준다. 확인을 위해서 두 번 적어준다.


master 와 dev 중에 빌드 브랜치를 고를 수 있다. 특이사항이 없다면 master를 선택해 준다.


여기가 중요하다. 포함하기를 원하는 모듈을 고를 수 있다. 필요한 모듈을 모두 체크해 준다. 가장 기본적인 모듈은 미리 체크가 되어 있으므로 웬만하면 포함하도록 하자


SSL 지원기능을 사용하는지? 디버그 모드를 ON 할 것인지 선택한다.


모든 사항을 입력했으면 맨 아래의 Start your build 를 클릭한다.


위의 화면이 나오면 펌웨어의 빌드가 시작된 것이다. 이제 메일이 오기를 기다리면 된다. 경우에 따라 다르겠지만 나 같은 경우는 메일이 오는데 10분 정도 걸린 것 같다. 네이버 메일 등을 이용할 경우 스팸메일함에 들어가 있을 확율이 높으므로 스팸메일함도 확인을 해 보자


위와 같이 빌드 시작되었다는 메일과 약 2분 후 빌드가 완료 되었다는 메일이 도착했다.


빌드완료 메일을 클릭하면 위와 같이 빌드가 완료된 펌웨어를 다운로드 받을 수 있는 링크를 보내준다. float, integer 버전 중 원하는 것을 다운로드 받아서 ESP8266 하드웨어에 펌웨어를 올리면 된다.


다운로드 받은 펌웨어를 하드웨어에 올리는 방법 및 Esplorer 개발환경 설치에 대해서는 아래의 링크를 참고하면 된다.

ESP8266 기반 NodeMCU 개발보드에 개발환경 설치

http://deneb21.tistory.com/399


반응형
반응형

저가의 IoT 솔루션으로 각광받고 있는 Espressif 사의 와이파이 모듈인 ESP8266 에는 32비트 MCU가 달려 있습니다. 그래서 아두이노 없이 모듈 단독으로 프로그램을 업로드하여 용도에 맞게 사용이 가능합다. 아두이노의 8Bit 보다 성능이 좋은 MCU가 달려 있는 셈입니다. ESP8266을 단독으로 사용하는 방법에는 여러가지 방법이 있지만 NodeMCU 라는 IoT 플랫폼을 이용하는 방법이 각광을 받고 있습니다. NodeMCU는 Lua 라는 스크립트 언어를 사용합니다. 이번에는 ESP8266 을 위한 NodeMCU 개발환경을 만들어 보겠습니다. 개발환경을 구성하는 방법은 크게 2단계 입니다. NodeMCU 펌웨어 설치, NodeMCU Lua 개발환경 설치 입니다.


연결

PC와의 통신을 위해 FTDI FT232RL 칩을 사용한 USB UART 모듈과 ESP8266 을 연결하고 PC 의 USB 단자에 연결했습니다. ESP8266(ESP-01) 모듈에 대한 자세한 사항은 [이전 포스팅] 을 참조 하면 됩니다.


ESP8266 PINOUT 단자

ESP8266 (ESP-01) 모듈 입니다. 핀 배열은 위와 같습니다.


FTDI사의 FT232RL 칩을 사용한 USB UART 모듈 입니다. 이것 말고 CH340 칩을 이용한 좀 더 저렴한 모듈을 이용해서 설치를 해 보려고 했으나 펌웨어 까지는 정상적으로 설치가 되는 것 같은데 개발툴인 Esplorer 에서 인식하지 못하는 문제가 있었습니다. 약간 비싸지만 이 모듈을 사용해서 개발을 진행하는 것이 안정적일 것 같습니다. 이 모듈의 출력전압은 전압선택 점퍼를 통해서 결정 됩니다. ESP8266 은 3.3V 에서 동작하기 때문에 3.3V 쪽으로 점퍼를 끼워주어야 됩니다.


■ FTDI FT232RL USB UART 모듈 드라이버 설치

http://deneb21.tistory.com/393

 

USB UART

ESP8266 (ESP-01)

VCC (3.3V)

VCC

VCC (3.3V)

CH_PD

GND

GND 

GND

GPIO0 (펌웨어 설치에만 사용)

TXD

RX

RXD

TX








위와 같이 USB UART 와 ESP-01 을 연결하면 됩니다. 여기서 주의할 사항이 있는데 펌웨어 업데이트 시에만 GPIO0 단자가 연결되고 Esplorer 등으로 개발할 경우에는 GPIO0 단자를 빼야 한다는 것입니다. 


그림으로 그려보면 위와 같이 됩니다. 펌웨어 업데이트 시에는 위와 같이 연결하고 개발 시에는 GPIO0 연결을 끊어주면 되는 것입니다.




1. ESP8266에 NodeMCU 펌웨어 설치하기

NodeMCU 펌웨어 설치를 위해서는 펌웨어와 펌웨어를 ESP8266에 올릴 수 있는 Flasher 프로그램이 필요 합니다. 두 가지 소프트웨어를 다운로드 받습니다.


■ 펌웨어 : https://github.com/nodemcu/nodemcu-firmware/releases 에서 nodemcu_integer_0.9.6-dev_20150704.bin 를 다운로드 받았습니다.

nodemcu_integer_0.9.6-dev_20150704.bin



■ 펌웨어 Flasher : https://github.com/nodemcu/nodemcu-flasher 에서 Download Zip 을 클릭해서 다운로드 받았습니다.

nodemcu-flasher-master.zip




NodeMCU 펌웨어 설치를 위한 준비는 끝났습니다.


이제 펌웨어를 설치해야 합니다. ESP-01 이 연결괸 USB UART를 PC에 연결 합니다.


다운로드 받은 NodeMCU Flasher 의 압축을 풀면 Win32, Win64 폴더가 나오는데 자신의 윈도우 OS 버전에 맞는 파일을 실행하면 됩니다. 저는 64비트 버전의 윈도우라 Win64 안에 있는 ESP8266Flasher.exe 를 실행했습니다.


우선 USB To TTL 이 연결된 PC의 COM 포트를 알아야 합니다. 장치관리자에서 확인 COM6 포트로 연결됨


ESP8266Flasher.exe 를 실행했습니다. COM6 포트로 연결 되었습니다. 자동으로 포트가 잡히지만 맞는지 확인해 봅니다.


Config 탭을 눌러서 위에서 다운로드 받은 펌웨어 파일을 선택해 줍니다. 톱니바퀴 모양을 누르면 펌웨어 선택창이 뜹니다.


Operation 탭으로 돌아와서 Flash 버튼을 클릭 합니다. ESP8266에 펌웨어가 설치 됩니다. 


잠시 후 펌웨어 설치가 완료 됩니다.




2. NodeMCU 개발환경(Esplorer) 설치하기

NodeMCU 개발도구는 Esplorer 입니다. Java 로 작성되어 있기 때문에 실행을 위해서는 Java 가 설치되어 있어야 합니다. 설치되어 있지 않다면 아래의 링크를 클릭해서 설치해 주세요. 그리고 잊지 말아야 할 것이 펌웨어 설치 시 의 연결에서 USB UART 모듈과 연결된 GPIO0 의 연결을 끊어주어야 개발툴과 통신이 됩니다.


■ Esplorer 다운로드 : http://esp8266.ru/esplorer/#download 사이트에서 다운로드 받을 수 있습니다. 

ESPlorer.zip


■ Java 다운로드 : https://java.com/ko/download/


Esplorer 의 실행은 ESPlorer.bat 를 실행하면 됩니다. 아무런 반응이 없으면 Java 가 설치되지 않은 것이

므로 위의 Java 설치 링크를 클릭해서 설치해 줍니다.


ESP8266 은 펌웨어 업데이트 후 USB 단자에서 뽑아서 GPIO0 연결을 제거하고 다시 PC에 연결 합니다. 그리고 Esplorer 를 실행 합니다. Esplorer.jar 를 실행해도 상관은 없습니다.


Esplorer 에서 Open 을 클릭 합니다. ESP8266 과 연결하는 단계 입니다.


포트가 연결되고 MCU 와 연결을 시도 합니다. NodeMCU 펌웨어가 발견 되었다고 나옵니다. Esplorer와 ESP8266 모듈이 연결된 것입니다.


아래 Heap, Chip Info, Chip ID 등을 눌러보니 정보를 제대로 가지고 옵니다. 이제 왼쪽 프로그램 소스 입력창에 프로그램을 작성하고 ESP8266 으로 보내면 되는 것입니다.


이상으로 ESP8266(ESP-01)에 NodeMCU 펌웨어를 설치하고 개발환경을 구성해 보았습니다. 이제 어떻게 개발하는지 공부하는 일만 남았군요. NodeMCU 개발에 대해서는 저도 자세한 것은 모르는데 앞으로 익혀가면서 포스팅할 예정 입니다.



※ 추가내용(2016.06.30) : 위와 같이 개발환경을 설치하고 Lua 에 대해서 알아 보던 중 이상한 현상이 발생 하네요. ESplorer 에서 Lua 로 와이파이 연결을 테스트 하던 중 PC에서 장치의 인식이 끊기면서 (장치 관리자에서 사라짐) 통신이 되지 않는 사태가 발생 합니다. 저의 생각으로는 ESP8266 이 전류를 많이 잡아 먹어서 발생하는 문제 같기도 하고 그렇습니다. 그런데 이게 참 열 받는게 어떤 때는 또 잘 되기도 합니다. 장치의 인식이 끊기면 모듈에서 엄청난 열이 발생 합니다. 열을 식히고 다시 연결하면 잘 되기도 합니다. 아무래도 ESP-01 모듈은 아두이노와 연결해서 AT Command 기반의 프로그래밍을 하는게 맞는 것 같고 ESplorer 개발은 전용 개발보드를 이용하는게 좋을 것 같습니다. 


사실 전용보드를 구입했거든요. ^^



※ 추가내용 (2018.09.05) : http://deneb21.tistory.com/591 에 아두이노 IDE에 개발환경 만드는 방법을 올렸다.

반응형

+ Recent posts