'Blink'에 해당되는 글 1건

  1. 2020.07.14 ESP-12E, ESP8266 NodeMCU 설치 및 Blink 구현 by TwoTen

오래 전, 

Bluetooth module를 구입해서 아두리노에 연결해서 작동해본 적은 있는데,

하다보니 원격 조정을 위해서는 WiFi가 필요할 것 같아서 공부할 겸 싼 것으로 구입했다.

아두리노와 관련이 있는 WiFi모듈같다는 생각에 게다가 아주 싼 편이였다. $2~3정도?

ESP8266 를 구입했는데, 아래와 같이 두개의 부품이 배달되었다.

인터넷에 찾아보니, 핀으로 연결하기 위해 두개를 서로 겹쳐서 납땜하는 것이란다.

그래서 두개를 겹쳐서 납땜했다.

 

ESP8266-12E pin layout

여기 저기 찾아 보니, Firmware을 upload해야 한다고 한다.
이렇게 된 제품의 이름이 ESP-12E라는 것도 이때 알았다.
업로드를 할려면 FTDI USB To TTL 있으면 더 편리하다고 해서 이것도 구입했다.

Firmware을 upload하는 방법은,
http://blog.daum.net/rockjjy99/2584

https://blog.naver.com/PostView.nhn?blogId=eduino&logNo=221152914869

에 잘 나와 있다.
Firmware을 업로드한 후 "Blink" Test를 위해서 아두이노 우노에 연결을 할 때는 아래 내용을 참조했다.

https://blog.naver.com/PostView.nhn?blogId=eduino&logNo=221152914869

여기서는 ESP8266에는 3.3V의 전원이 반드시 연결되어야 하고, 아두리노 우노의 Rx,Tx는 5V로 동작하므로 따로 3.3V를 만들어서 출력 전압을 3.3V로 만들어주어서 했다. 정확한 이해없이 어찌어찌 연결해서 test를 했는데 반응이 없다. 무엇이 잘못 된 것인지도 잘 모르겠고, 다시 firmware upload부터 다시 시작을 했다. 이렇게 여러번을 하고도 잘 되지 않아서 다시 ESP8266 NodeMCU랑 ESP32를 같이 구입했다.

ESP-8266 NodeMCU pin layout


여기 저기 관련 내용들을 찾아서 읽어보니, 이 모듈들은 Firmware를 upload한 전원을 연결하면 모두 WiFi에 자동으로 뜬다는 것이였다. 그래서 배달이 되자 마다 upload없이 그냥 전원을 연결해보았다.
연결하니 그냥 모두 WiFi에 각각의 모듈들이 모두 뜬다.
그러면 Firmware가 모두 upload 되었다는 뜻인데...
그래도 모르니 한번 다시 upload해보자 하고 맘 먹고 해보았다.
아래 웹사이트를 따라 해보았다.
http://blog.naver.com/cicron/220882372924
한번의 실수는 있었지만, 큰 문제없이 잘 되었고, 전원을 연결하니 WiFi에 다시 나타나는 것을 확인했다.
그다음은 Arduino IDE(Integrated Development Environment)를 이용해서 만든 프로그램은 sketch라고 한다.
ESP8266 NodeMCU를 아두이노 IDE에서 사용하기 위한 환경 설정하는 것은 여러군데 많이 나와 있다.
그 중에서 아래를 이용했다.
https://makernambo.com/49

다른점은 환경설정에서
http://makeshare.org/bbs/board.php?bo_table=arduinocom&wr_id=417

을 따라서
문장 끝에 콤마를 이용해서 다음과 세가지를 모두 넣었다.
https://dl.espressif.com/dl/package_esp32_index.json,

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

http://downloads.arduino.cc/packages/package_arduino.cc_linux_index.json

그리고 IDE 예제에 있는 "Blink" 를 실행했다.

#define LED_BUILTIN 16  // GPIO 16 은 내장되어 있는 중간 쯤에 있는 LED이다.
void setup() {  // initialize digital pin 13 as an output.
  pinMode(LED_BUIDIN, OUTPUT);
} // the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUIDIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(LED_BUIDIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

error없이 잘 되었다.

다음은 WiFI를 이용하는 것을 해보자.

 

 

 

Posted by TwoTen
l