NodeMCU
무선 Wifi 인터페이스를 지원하는 32bit 프로세서 기반의 개발보드, 제공하는 IO, Clock, 제조사에 따라 다양한 라인업이 존재.
Lolin, V3에 대한 개발환경 구축 및 샘플 코드를 동작시키는 것을 본 글의 목적으로 함
NodeMCU 버전에 따라 제조사에 따라 본 글이 적합하지 않을 수 있습니다.
CH340G
- 개발PC에서 NodeMCU 연결할 수 있는 USB To Serial 드라이버
Download
아래 항목중 한 곳에서 OS 환경에 맞는 드라이버 다운로드 및 설치가 필요
- [Download] (https://sparks.gogo.co.nz/ch340.html)
- [Download] (https://github.com/nodemcu/nodemcu-devkit/tree/master/Drivers)
아두이노 스케치
- Arduino 개발을 위해서 만들어진 개발툴
- 플러그인 등을 통해서 다양한 아두이노 이외의 다양한 개발보드의 개발이 가능
- [Download] (https://www.arduino.cc/en/Main/Donate)
아두이노 스케치 설정
NodeMCU 보드 매니저 URL 추가
NodeMCU 보드 매니저 설치
- 상단 검색에서 esp8266 검색 후에 최신버전 설치
NodeMCU 보드 선택 및 설정
- NodeMCU 1.0 (ESP-12E Module) 선택
- Flash Size: "4M (1M SPIFFs)"
- CPU Frequency : "80 MHz"
- Upload Speed : "115200"
- 포트 : 개인 환경에 따라 다를 수 있음
샘플 소스 구동
#include "ESP8266WiFi.h"
void setup() {
Serial.begin(115200);
// Set WiFi to station mode and disconnect from an AP if it was previously connected
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(2000);
Serial.println("Setup done");
}
void loop() {
Serial.println("scan start");
int n = WiFi.scanNetworks();// WiFi.scanNetworks will return the number of networks found
Serial.println("scan done");
if (n == 0)
Serial.println("no networks found");
else
{
Serial.print(n);
Serial.println(" networks found");
for (int i = 0; i < n; ++i)
{
// Print SSID and RSSI for each network found
Serial.print(i + 1);
Serial.print(": ");
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.print(")");
Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*");
delay(10);
}
}
Serial.println("");
// Wait a bit before scanning again
delay(5000);
}