Search Code

ESP32 பயிற்சி 40/55 - மைக்ரோ SD கார்டில் படித்தல் மற்றும் எழுதுதல் | SunFounder இன் ESP32 IoT கற்றல் கிட்

ESP32 பயிற்சி 40/55 - மைக்ரோ SD கார்டில் படித்தல் மற்றும் எழுதுதல் | SunFounder இன் ESP32 IoT கற்றல் கிட்

இந்த டுடோரியலில், ESP32 மற்றும் SunFounder ESP32 நீட்டிப்பு பலகையைப் பயன்படுத்தி மைக்ரோ SD கார்டில் இருந்து படிப்பது மற்றும் எழுதுவது எப்படி என்பதைக் கற்றுக்கொள்வோம். இது தரவைச் சேமித்து பின்னர் மீட்டெடுக்க அனுமதிக்கும், இது பல IoT பயன்பாடுகளுக்கு அவசியம். இந்த டுடோரியலின் முடிவில், மைக்ரோ SD கார்டில் கோப்புகளை உருவாக்கவும், எழுதவும், படிக்கவும் செய்யக்கூடிய ஒரு வேலை செய்யும் அமைப்பு உங்களுக்கு இருக்கும்.

தொடங்குவதற்கு, உங்கள் மைக்ரோ SD கார்டு FAT32 ஆக சரியாக வடிவமைக்கப்பட்டுள்ளதா என்பதை உறுதிசெய்யவும், ஏனெனில் ESP32 கார்டுடன் தொடர்பு கொள்ள இது தேவையான கோப்பு முறைமையாகும். மைக்ரோ SD கார்டில் உள்ள கோப்புகளை அணுகும் செயல்முறையை எளிதாக்கும் SD_MMC நூலகத்தை நாங்கள் பயன்படுத்துவோம். மைக்ரோ SD கார்டின் அதிகபட்ச திறன் 32 GB ஐ தாண்டக்கூடாது என்பதை கவனத்தில் கொள்ள வேண்டும்.

வன்பொருள் விளக்கம்

இந்த திட்டத்தில் உள்ள முதன்மை கூறுகளில் ESP32 மைக்ரோகண்ட்ரோலர் மற்றும் மைக்ரோ SD கார்டு தொகுதி ஆகியவை அடங்கும். ESP32 என்பது உள்ளமைக்கப்பட்ட Wi-Fi மற்றும் புளூடூத் திறன்களைக் கொண்ட ஒரு பல்துறை மைக்ரோகண்ட்ரோலர் ஆகும், இது IoT பயன்பாடுகளுக்கு ஏற்றதாக அமைகிறது. மைக்ரோ SD கார்டு தொகுதி ESP32 கார்டில் இருந்து படிக்கவும் எழுதவும் அனுமதிக்கிறது, இது பல்வேறு பயன்பாடுகளுக்கு தரவு சேமிப்பை செயல்படுத்துகிறது.

மைக்ரோ SD கார்டு ஒரு கோப்பு முறைமையைப் பயன்படுத்தி தரவை ஒழுங்கமைக்கப்பட்ட முறையில் சேமிப்பதன் மூலம் செயல்படுகிறது. இது SD_MMC இடைமுகம் மூலம் ESP32 உடன் தொடர்பு கொள்கிறது, இது கோப்புகளை திறமையாக படிக்கவும் எழுதவும் அனுமதிக்கிறது. தரவு பதிவு, படங்களை சேமித்தல் அல்லது தரவு நிலைத்தன்மை தேவைப்படும் வேறு எந்த பயன்பாட்டிற்கும் இந்த அமைப்பைப் பயன்படுத்தலாம்.

வயரிங் வழிமுறைகள்

ESP32-40-micro-sd-card-1

மைக்ரோ SD கார்டை ESP32 உடன் இணைக்க, இந்த படிகளைப் பின்பற்றவும்:

முதலில், மின்சாரம் மற்றும் தரை பின்களை இணைக்கவும். மைக்ரோ SD கார்டு தொகுதியின் VCC பின்னை ESP32 இன் 3.3V பின்னுடன் இணைக்கவும், GND பின்னை ESP32 இன் GND பின்களில் ஒன்றுடன் இணைக்கவும். அடுத்து, தரவு பின்களை இணைக்கவும்: மைக்ரோ SD கார்டு தொகுதியின் CS (சிப் தேர்வு) பின்னை ESP32 இன் பின் 5 உடன் இணைக்கவும், MOSI (மாஸ்டர் அவுட் ஸ்லேவ் இன்) பின்னை பின் 23 உடன், MISO (மாஸ்டர் இன் ஸ்லேவ் அவுட்) பின்னை பின் 19 உடன், மற்றும் SCK (சீரியல் கடிகாரம்) பின்னை பின் 18 உடன் இணைக்கவும். தொடர்பு சிக்கல்களைத் தவிர்க்க இந்த இணைப்புகள் பாதுகாப்பாக இருப்பதை உறுதிசெய்யவும்.

நீங்கள் வேறு நீட்டிப்பு பலகையைப் பயன்படுத்தினால், பின் எண்கள் மாறுபடலாம், எனவே உங்கள் பலகைக்கு குறிப்பிட்ட ஆவணங்களைப் பார்க்கவும். மைக்ரோ SD கார்டில் கோப்புகளைப் படிக்கவும் எழுதவும் வெற்றிகரமாக செயல்படுவதற்கு வயரிங் மிகவும் முக்கியமானது.

குறியீடு எடுத்துக்காட்டுகள் & விளக்கம்

இப்போது, மைக்ரோ SD கார்டுடன் தொடர்பு கொள்ளும் குறியீட்டின் முக்கிய பகுதிகளைப் பார்ப்போம். சீரியல் தொடர்பைத் தொடங்குவதன் மூலமும், மைக்ரோ SD கார்டு வெற்றிகரமாக ஏற்றப்பட்டுள்ளதா என்பதைச் சரிபார்ப்பதன் மூலமும் அமைப்பு தொடங்குகிறது.

Serial.begin(115200); // சீரியல் தொடர்பைத் தொடங்கவும்
if (!SD_MMC.begin()) { // SD கார்டு வெற்றிகரமாக ஏற்றப்பட்டுள்ளதா என்பதைச் சரிபார்க்கவும்
  Serial.println("Failed to mount SD card"); // SD கார்டு ஏற்றப்படத் தவறினால் பிழை செய்தியை அச்சிடவும்
  return;
}

இந்த குறியீடு பகுதியில், சீரியல் தொடர்பு 115200 பாட் வீதத்தில் அமைக்கப்பட்டுள்ளது, இது வெளியீட்டைக் கண்காணிக்க முக்கியமானது. SD_MMC.begin() செயல்பாடு SD கார்டை ஏற்ற முயற்சிக்கிறது; அது தோல்வியுற்றால், சீரியல் மானிட்டரில் பிழை செய்தி அச்சிடப்படுகிறது.

குறியீட்டின் அடுத்த பகுதி மைக்ரோ SD கார்டில் ஒரு புதிய கோப்பை உருவாக்கி அதில் ஒரு வரி உரையை எழுதுகிறது.

File file = SD_MMC.open("/test.txt", FILE_WRITE); 
if (!file) {
  Serial.println("Failed to open file for writing"); // எழுதுவதற்கு கோப்பு திறக்கத் தவறினால் பிழை செய்தியை அச்சிடவும்
  return;
}
if (file.println("Test file write")) { // கோப்பில் ஒரு வரி உரையை எழுதவும்
  Serial.println("File write successful"); // எழுதும் செயல்பாடு வெற்றிகரமாக இருந்தால் வெற்றி செய்தியை அச்சிடவும்
} else {
  Serial.println("File write failed"); // எழுதும் செயல்பாடு தோல்வியுற்றால் பிழை செய்தியை அச்சிடவும்
}
file.close(); // கோப்பை மூடவும்

இங்கே, test.txt என்ற பெயருடைய கோப்பு எழுதும் முறையில் திறக்கப்படுகிறது. கோப்பு வெற்றிகரமாக திறக்கப்பட்டால், அது ஒரு வரி உரையை எழுதி வெற்றி செய்தியை அச்சிடுகிறது. எழுதும் செயல்பாடு தோல்வியுற்றால், அதற்கு பதிலாக பிழை செய்தி அச்சிடப்படுகிறது. இறுதியாக, மாற்றங்கள் சேமிக்கப்படுவதை உறுதிசெய்ய கோப்பு மூடப்படுகிறது.

குறியீடு மைக்ரோ SD கார்டின் ரூட் கோப்பகத்திலிருந்து கோப்புகளையும் படித்து அவற்றின் பெயர்கள் மற்றும் அளவுகளை அச்சிடுகிறது.

File root = SD_MMC.open("/"); // SD கார்டின் ரூட் கோப்பகத்தைத் திறக்கவும்
while (File file = root.openNextFile()) { // ரூட் கோப்பகத்தில் உள்ள அனைத்து கோப்புகளையும் லூப் செய்யவும்
  Serial.print(file.name()); // கோப்பின் பெயரை அச்சிடவும்
  Serial.print("\t");
  Serial.println(file.size()); // கோப்பின் அளவை அச்சிடவும்
  file.close(); // கோப்பை மூடவும்
}

இந்த பகுதி ரூட் கோப்பகத்தைத் திறந்து அனைத்து கோப்புகளையும் மீண்டும் மீண்டும் செயலாக்கி, அவற்றின் பெயர்கள் மற்றும் அளவுகளை சீரியல் மானிட்டரில் அச்சிடுகிறது. தரவு வெற்றிகரமாக எழுதப்பட்டதா என்பதைச் சரிபார்க்கவும் SD கார்டின் உள்ளடக்கங்களைப் பார்க்கவும் இது பயனுள்ளதாக இருக்கும்.

மேலும் விவரங்களுக்கு, கட்டுரையின் கீழே ஏற்றப்பட்ட முழு குறியீட்டைப் பார்க்கவும்.

செயல்விளக்கம் / என்ன எதிர்பார்க்கலாம்

குறியீட்டை பதிவேற்றி ESP32 ஐ மீட்டமைத்த பிறகு, SD கார்டு வெற்றிகரமாக ஏற்றப்பட்டதா மற்றும் கோப்பு செயல்பாடுகள் வெற்றிகரமாக இருந்ததா என்பதைக் குறிக்கும் செய்திகளை சீரியல் மானிட்டரில் காண வேண்டும். ரூட் கோப்பகத்தில் காணப்படும் கோப்புகளின் பட்டியலையும் நீங்கள் காண்பீர்கள், இது தரவு சரியாக எழுதப்பட்டதை உறுதிப்படுத்துகிறது (வீடியோவில் 13:45 இல்).

மைக்ரோ SD கார்டு சரியாக வடிவமைக்கப்பட்டு இணைக்கப்பட்டுள்ளதா என்பதை உறுதிசெய்வது, அத்துடன் சீரியல் மானிட்டர் சரியான பாட் வீதத்தில் அமைக்கப்பட்டுள்ளதா என்பதைச் சரிபார்ப்பது ஆகியவை பொதுவான தவறுகளில் அடங்கும். ஏதேனும் சிக்கல்கள் ஏற்பட்டால், உங்கள் வயரிங் மற்றும் இணைப்புகளை மீண்டும் சரிபார்க்கவும்.

வீடியோ நேர முத்திரைகள்

  • 00:00 தொடக்கம்
  • 1:45 ESP32 இல் மைக்ரோ SD கார்டு அறிமுகம்
  • 3:46 ஆவணங்கள் பக்கம்
  • 4:43 Arduino குறியீடு
  • 8:09 Arduino IDE இல் ESP32 பலகை மற்றும் COM போர்ட்டைத் தேர்ந்தெடுத்தல்
  • 9:51 மைக்ரோ SD கார்டு எழுதுவதற்கான செயல்விளக்கம்
  • 11:12 PC இல் எழுதப்பட்ட கோப்புகளைப் பார்த்தல்

படங்கள்

ESP32-40-micro-sd-card-1
ESP32-40-micro-sd-card-1
ESP32-40-micro-sd-card-2
ESP32-40-micro-sd-card-2
841-ESP32 Tutorial 40/55- Arduino code for micro SD card
மொழி: C++
#include "SD_MMC.h"

void setup() {
  Serial.begin(115200); // Initialize serial communication
  if (!SD_MMC.begin()) { // Check if SD card is mounted successfully
    Serial.println("Failed to mount SD card"); // Print error message if SD card failed to mount
    return;
  }

  // Create a file in the root directory of SD card and open it in write mode.
  File file = SD_MMC.open("/test.txt", FILE_WRITE); 
  if (!file) {
    Serial.println("Failed to open file for writing"); // Print error message if file failed to open
    return;
  }
  if (file.println("Test file write")) { // Write a line of text to the file
    Serial.println("File write successful"); // Print success message if write operation is successful
  } else {
    Serial.println("File write failed"); // Print error message if write operation failed
  }
  file.close(); // Close the file

  File root = SD_MMC.open("/"); // Open the root directory of SD card
  if (!root) {
    Serial.println("Failed to open directory"); // Print error message if directory failed to open
    return;
  }
  Serial.println("Files found in root directory:"); // Print the list of files found in the root directory
  while (File file = root.openNextFile()) { // Loop through all the files in the root directory
    Serial.print("  ");
    Serial.print(file.name()); // Print the filename
    Serial.print("\t");
    Serial.println(file.size()); // Print the filesize
    file.close(); // Close the file
  }
}
void loop() {} // Empty loop function, does nothing

நீங்கள் தேவைப்படும் எண்ணங்கள்

வளங்கள் மற்றும் மேற்கோள்கள்

கோப்புகள்📁

கோப்புகள் கிடைக்கவில்லை.