올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
Micro SD 카드를 Micro SD 카드 모듈에 삽입하세요.
배선도에 따라 Micro SD 카드 모듈과 ESP8266 사이의 연결을 만드세요.
USB 케이블로 ESP8266을 PC에 연결하세요.
Arduino IDE를 열고 적절한 보드와 포트를 선택하세요.
Arduino IDE에서 시리얼 모니터를 엽니다.
다음 코드를 Arduino IDE에 복사하여 붙여넣으세요.
/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-micro-sd-card */#include <SD.h>#define PIN_SPI_CS D8File myFile;voidsetup() {Serial.begin(9600);if (!SD.begin(PIN_SPI_CS)) {Serial.println(F("SD CARD FAILED, OR NOT PRESENT!"));while (1); // 더 이상 아무것도 하지 않음: }Serial.println(F("SD CARD INITIALIZED."));if (!SD.exists("esp8266.txt")) {Serial.println(F("esp8266.txt 파일이 없습니다. esp8266.txt 파일을 생성합니다..."));// 새 파일을 만들기 위해 새 파일을 열고 즉시 닫음 myFile = SD.open("esp8266.txt", FILE_WRITE); myFile.close(); }// 파일이 생성되었는지 다시 확인if (SD.exists("esp8266.txt"))Serial.println(F("esp8266.txt 파일이 SD 카드에 존재합니다."));elseSerial.println(F("esp8266.txt 파일이 SD 카드에 존재하지 않습니다."));}voidloop() {}
Arduino IDE에서 Upload 버튼을 클릭하여 코드를 컴파일하고 ESP8266에 업로드합니다.
시리얼 모니터에서 첫 실행의 결과를 보여줄 것입니다.
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
SD CARD INITIALIZED.
esp8266.txt exists on SD Card.
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2
※ 주의:
코드를 업로드한 후 처음으로 시리얼 모니터를 열기 전에 하면 시리얼 모니터에서 출력을 관찰하지 못할 수도 있습니다.
모듈에서 마이크로 SD 카드를 제거하십시오.
마이크로 SD 카드를 USB SD 카드 리더기에 넣으십시오.
컴퓨터에 USB SD 카드 리더기를 연결하십시오.
파일이 있는지 없는지 확인하십시오.
ESP8266 - 마이크로 SD 카드에 파일 쓰기/읽기 방법
다음 코드:
파일에 데이터를 저장합니다
파일의 내용을 문자 단위로 읽어서 시리얼 모니터에 표시합니다
/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-micro-sd-card */#include <SD.h>#define PIN_SPI_CS D8File myFile;voidsetup() {Serial.begin(9600);if (!SD.begin(PIN_SPI_CS)) {Serial.println(F("SD CARD FAILED, OR NOT PRESENT!"));while (1); // 아무것도 더 하지 않음: }Serial.println(F("SD CARD INITIALIZED."));// 파일을 쓰기 위해 열기 myFile = SD.open("esp8266.txt", FILE_WRITE);if (myFile) { myFile.println("Created by newbiely.com"); // esp8266.txt에 한 줄 쓰기 myFile.println("Learn ESP8266 and SD Card"); // esp8266.txt에 또 다른 한 줄 쓰기 myFile.close(); } else {Serial.print(F("SD Card: error on opening file esp8266.txt")); }// 파일을 읽기 위해 열기 myFile = SD.open("esp8266.txt", FILE_READ);if (myFile) {while (myFile.available()) {char ch = myFile.read(); // Micro SD 카드에서 한 글자씩 읽기Serial.print(ch); // 시리얼 모니터에 글자 출력 } myFile.close(); } else {Serial.print(F("SD Card: error on opening file esp8266.txt")); }}voidloop() {}
시리얼 모니터가 파일의 내용을 표시했습니다.
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
Created by ArduinoGetStarted.com
Learn ESP8266 and SD Card
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2
※ 주의:
기본적으로 데이터는 파일의 끝에 추가될 것입니다. 위의 코드로 ESP8266을 다시 시작하면, 텍스트가 파일에 다시 추가되고, 시리얼 모니터는 다음과 같은 더 많은 줄을 표시할 것입니다:
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
ArduinoGetStarted.com 에 의해 생성됨
ESP8266 및 SD 카드 배우기
ArduinoGetStarted.com 에 의해 생성됨
ESP8266 및 SD 카드 배우기
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2
모듈에서 마이크로 SD 카드를 제거하고 USB SD 카드 리더기를 사용하여 컴퓨터에서 그 내용을 볼 수 있습니다.
ESP8266 - 마이크로 SD 카드에 있는 파일을 줄 별로 읽는 방법
/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-micro-sd-card */#include <SD.h>#define PIN_SPI_CS D8File myFile;voidsetup() {Serial.begin(9600);if (!SD.begin(PIN_SPI_CS)) {Serial.println(F("SD CARD FAILED, OR NOT PRESENT!"));while (1); // 아무 것도 더 하지 마십시오: }Serial.println(F("SD CARD INITIALIZED."));// 쓰기용으로 파일 열기 myFile = SD.open("esp8266.txt", FILE_WRITE);if (myFile) { myFile.println("Created by newbiely.com"); // esp8266.txt에 한 줄 쓰기 myFile.println("Learn ESP8266 and SD Card"); // esp8266.txt에 또 다른 한 줄 쓰기 myFile.close(); } else {Serial.print(F("SD Card: error on opening file esp8266.txt")); }// 읽기용으로 파일 열기 myFile = SD.open("esp8266.txt", FILE_READ);if (myFile) {int line_count = 0;while (myFile.available()) {char line[100]; // 최대 100자, 필요시 변경int line_length = myFile.readBytesUntil('\n', line, 100); // Micro SD Card에서 한 줄씩 읽기 line_count++;Serial.print(F("Line "));Serial.print(line_count);Serial.print(F(": "));Serial.write(line, line_length); // Serial Monitor에 문자를 출력// \n 문자는 readBytesUntil 함수에 의해 이스케이프됩니다.Serial.write('\n'); // 새로운 줄 문자를 출력하십시오. } myFile.close(); } else {Serial.print(F("SD Card: error on opening file esp8266.txt")); }}voidloop() {}
시리얼 모니터에 표시된 출력.
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
SD CARD INITIALIZED.
Line 1: Created by ArduinoGetStarted.com
Line 2: Learn ESP8266 and SD Card
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2
※ 주의:
파일의 내용이 이전에 삭제되지 않았다면 시리얼 모니터에서 추가적인 줄을 관찰할 수 있습니다.
ESP8266 - Micro SD 카드에 파일을 덮어쓰는 방법
기본적으로 내용은 파일의 끝에 추가됩니다. 파일을 덮어쓰는 가장 간단한 방법은: 기존 파일을 삭제하고 같은 이름의 새 파일을 생성하는 것입니다.
/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-micro-sd-card */#include <SD.h>#define PIN_SPI_CS D8File myFile;voidsetup() {Serial.begin(9600);if (!SD.begin(PIN_SPI_CS)) {Serial.println(F("SD CARD FAILED, OR NOT PRESENT!"));while (1); // 더 이상 아무것도 하지 않음: }Serial.println(F("SD CARD INITIALIZED."));SD.remove("esp8266.txt"); // 파일이 존재하면 삭제// 쓰기 위해 파일 열기를 통해 새 파일 생성 myFile = SD.open("esp8266.txt", FILE_WRITE);if (myFile) { myFile.println("Created by newbiely.com"); // esp8266.txt에 한 줄 쓰기 myFile.println("Learn ESP8266 and SD Card"); // esp8266.txt에 또 다른 줄 쓰기 myFile.close(); } else {Serial.print(F("SD Card: error on opening file esp8266.txt")); }// 읽기 위해 파일 열기 myFile = SD.open("esp8266.txt", FILE_READ);if (myFile) {while (myFile.available()) {char ch = myFile.read(); // Micro SD Card에서 한 번에 한 글자씩 읽기Serial.print(ch); // 시리얼 모니터에 글자 출력 } myFile.close(); } else {Serial.print(F("SD Card: error on opening file esp8266.txt")); }}voidloop() {}
시리얼 모니터에 표시된 결과.
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
SD CARD INITIALIZED.
Created by ArduinoGetStarted.com
Learn ESP8266 and SD Card
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2
ESP8266을 재부팅하십시오.
파일의 내용이 시리얼 모니터에 추가되었는지 확인하십시오.
모듈에서 Micro SD 카드를 제거하고 컴퓨터에서 그 내용을 볼 수 있습니다. 이를 위해서는 USB SD 카드 리더기가 필요합니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.