ภาพอินโฟกราฟิกแสดงการส่งค่า SSID และ Password จากมือถือไปยังบอร์ด ESP32 พร้อมสัญลักษณ์ WiFi, แม่กุญแจ และเฟือง สื่อถึงความปลอดภัยและการบันทึกข้อมูลถาวรด้วย Preferences บนพื้นหลังโทนเขียวเทาแนว Smart Farm

ESP32 บันทึกค่า SSID และ Password WiFi ด้วย Preferences แบบปลอดภัย

ESP32 บันทึกค่า SSID และ Password WiFi ด้วย Preferences แบบปลอดภัย

ไม่ต้องแก้โค้ดใหม่ทุกครั้ง แค่บันทึก SSID ครั้งเดียว ESP32 ก็จำได้ตลอดไป

🔧 ปัญหาของการเขียนค่า SSID ลงในโค้ด

สำหรับมือใหม่ที่เคยเขียนโปรเจกต์ ESP32 เชื่อมต่อ WiFi มาก่อน อาจเริ่มจากการกำหนด SSID และ Password ไว้ตรง ๆ แบบนี้:

const char* ssid = "MyWiFi";
const char* password = "12345678";

แต่ปัญหาคือ…

  • ถ้าเปลี่ยน WiFi ต้องแฟลชใหม่ทุกครั้ง

  • แชร์โค้ดให้คนอื่นไม่ได้ (เพราะมีรหัสอยู่ในโค้ด)

  • เสี่ยงเรื่องความปลอดภัย

วิธีที่ดีกว่า: ใช้ Preferences เพื่อเก็บข้อมูลในหน่วยความจำถาวร (Flash) ของ ESP32

💾 Preferences คืออะไร?

Preferences คือ Library ที่ใช้เก็บข้อมูลแบบถาวร (non-volatile) ในรูปแบบ Key-Value เช่น ssid → "MyWiFi" ได้อย่างปลอดภัย ใช้ง่าย และไม่ต้องจัดการโครงสร้างไฟล์เองเหมือน SPIFFS

📘 อ่านเพิ่มเติม: คู่มือ Preferences บน ESP32 เก็บค่าต่าง ๆ ได้ถาวร

🔐 วิธีเก็บ SSID และ Password ด้วย Preferences

1. เริ่มต้นใช้งาน Preferences

 
#include <Preferences.h>
Preferences preferences;
 

2. เปิดการใช้งาน Preferences และเขียนข้อมูล

preferences.begin("wifi", false); // namespace: wifi
preferences.putString("ssid", "MyWiFi");
preferences.putString("password", "12345678");
preferences.end();

3. อ่านค่า SSID และ Password กลับมาใช้

preferences.begin("wifi", true); // true = read-only
String ssid = preferences.getString("ssid", "");
String password = preferences.getString("password", "");
preferences.end();
แผนภาพโฟลว์แสดงการใช้งาน Preferences บน ESP32 โดยมี ESP32 อยู่มุมบนซ้าย พร้อมลูกศรและกล่องข้อความอธิบายขั้นตอนการเก็บข้อมูล (begin → putString → end) และการอ่านข้อมูล (begin → getString → end) พร้อมข้อความกำกับ “namespace: wifi”

🎯 ตัวอย่างการใช้งานจริง

ใช้ร่วมกับ WiFi.begin แบบนี้ได้เลย

WiFi.begin(ssid.c_str(), password.c_str());

หากต้องการให้ผู้ใช้กรอกผ่านหน้าเว็บ แนะนำให้ใช้คู่กับ ESPAsyncWebServer + WiFiManager
📄 บทความแนะนำ: สร้างหน้าเว็บ WiFi Manager ด้วย ESPAsyncWebServer

🧠 สรุป

หัวข้อวิธีดั้งเดิมใช้ Preferences
เปลี่ยน WiFiต้องแก้โค้ดไม่ต้องแก้
ความปลอดภัยต่ำสูงขึ้น
ความยืดหยุ่นต่ำสูง
ตารางเปรียบเทียบระหว่างวิธีเก็บ SSID แบบเดิมกับการใช้ Preferences โดยมีหัวข้อ “ความยืดหยุ่น”, “ปลอดภัย”, “แชร์โค้ดง่าย” พร้อมเครื่องหมายถูกสีเขียวและกากบาทสีแดงแสดงข้อดีข้อเสียอย่างชัดเจน

🧩 เหมาะกับใคร?

  • Maker มือใหม่ที่อยากทำระบบ Smart Farm

  • นักศึกษาที่ต้องการส่งโปรเจกต์ที่ใช้งานได้จริง

  • ช่างไฟหรือช่างอิเล็กทรอนิกส์ที่ต้องการระบบ WiFi เปลี่ยนได้เอง

🔚 บทส่งท้าย

ESP32 + Preferences = โซลูชันที่ยืดหยุ่น ปลอดภัย และไม่ต้องแก้โค้ดบ่อย
ใช้ได้กับทุกโครงงาน IoT ที่มีการเปลี่ยน WiFi หรือส่งให้คนอื่นใช้งานต่อ

Shopping Cart
Scroll to Top