ESP32 คืออะไร? บอร์ด IoT ทรงพลังพร้อม Wi-Fi + Bluetooth ในตัว
ESP32 คือบอร์ดไมโครคอนโทรลเลอร์ประสิทธิภาพสูงจากบริษัท Espressif Systems ซึ่งเป็นรุ่นที่พัฒนาต่อยอดมาจาก ESP8266 ที่ได้รับความนิยมอย่างสูง โดยมีความสามารถที่เหนือกว่าในหลายๆ ด้าน ทำให้เป็นตัวเลือกอันดับต้นๆ สำหรับโปรเจกต์ที่ซับซ้อนและต้องการประสิทธิภาพสูง
- มีทั้ง Wi-Fi และ Bluetooth (BLE) ในตัวชิปเดียว
- มี CPU แบบ Dual-Core ทำให้ประมวลผลได้รวดเร็วและรองรับงานหลายอย่างพร้อมกัน (Multi-threading)
- มีหน่วยความจำและจำนวนขา GPIO มากกว่า ESP8266
- สามารถเขียนโปรแกรมได้หลายรูปแบบ ทั้งผ่าน Arduino IDE, MicroPython, หรือ ESP-IDF
ในปัจจุบัน บอร์ด ESP32 รุ่นใหม่ๆ ได้เปลี่ยนมาใช้พอร์ต USB Type-C ซึ่งช่วยเพิ่มความสะดวกในการเชื่อมต่อ ทนทานกว่า และใช้สายร่วมกับอุปกรณ์สมัยใหม่ได้ทันที
สเปคของ ESP32 (ทั่วไป)
ชิปหลัก |
ESP32 (มีหลายรุ่น เช่น ESP32-WROOM-32, S2, C3, S3) |
ซีพียู |
Dual-core Xtensa LX6 @ 240MHz |
Wi-Fi |
802.11 b/g/n (2.4GHz) |
Bluetooth |
Bluetooth 4.2 + BLE (บางรุ่นรองรับ BT 5.0) |
หน่วยความจำ Flash |
4MB หรือมากกว่า |
SRAM |
ประมาณ 520KB |
แรงดันใช้งาน |
3.3V (แต่รับไฟผ่าน USB 5V ได้ มีเรกูเลเตอร์ในตัว) |
GPIO |
สูงสุด ~30 ขา (ขึ้นอยู่กับรุ่นของบอร์ด) |
Analog Input (ADC) |
สูงสุด 18 ช่อง (ความละเอียด 12-bit) |
Analog Output (DAC) |
2 ช่อง (ความละเอียด 8-bit) |
การสื่อสาร |
UART, I2C, SPI, PWM, CAN, IR และอื่นๆ |
พอร์ต USB |
USB Type-C สำหรับอัปโหลดโปรแกรมและจ่ายไฟ |
รองรับแบตเตอรี่ |
บางรุ่นมีวงจรชาร์จแบตเตอรี่ Li-ion ในตัว |
การใช้งาน ESP32
✅ เหมาะกับงานประเภทไหน?
ด้วยความสามารถที่ครบครัน ESP32 จึงเหมาะอย่างยิ่งกับงานที่หลากหลาย โดยเฉพาะ:
-
Internet of Things (IoT): เช่น การควบคุมอุปกรณ์ไฟฟ้าผ่าน Wi-Fi หรือการส่งข้อมูลเซนเซอร์ขึ้น Cloud
-
Smart Home: เช่น ระบบเปิด-ปิดไฟ, ระบบวัดอุณหภูมิและความชื้น, การควบคุมผ่านแอปพลิเคชันมือถือ
-
การสื่อสารผ่าน Bluetooth: เช่น การรับส่งข้อมูลกับสมาร์ทโฟน, อุปกรณ์สวมใส่ (Wearables), หรือ Bluetooth Beacon
-
โปรโตคอลเครือข่ายขั้นสูง: รองรับ ESP-NOW, MQTT, HTTP, WebSocket ได้อย่างเต็มประสิทธิภาพ
-
การเชื่อมต่อกับบริการ Cloud: สามารถทำงานร่วมกับ Firebase, LINE Notify, Blynk, Telegram, AWS IoT, และอื่นๆ ได้อย่างง่ายดาย
✅ ตัวอย่างการใช้งานยอดนิยม
- วัดอุณหภูมิ-ความชื้นด้วย DHT11/DHT22 แล้วส่งข้อมูลขึ้นเว็บหรือ LINE
- ควบคุมหลอดไฟหรือรีเลย์ผ่าน Web Server หรือแอปพลิเคชัน Blynk
- สร้างจอแสดงผลไร้สายโดยส่งข้อมูลไปยังจอ OLED/LCD
- ทำหน้าที่เป็น Wi-Fi Hotspot หรือ Web Server ขนาดเล็ก
- โปรเจกต์ด้าน AI/Machine Learning ขนาดเล็ก (บางรุ่นรองรับกล้องและ TensorFlow Lite)
ตัวอย่างโค้ด: สร้าง Web Server บน ESP32
โค้ดนี้จะทำให้ ESP32 ของคุณเชื่อมต่อ Wi-Fi และสร้างหน้าเว็บที่แสดงข้อความ "สวัสดีจาก ESP32!" เมื่อเข้าถึงผ่านเบราว์เซอร์
#include <WiFi.h>
// --- กรุณาแก้ไขชื่อและรหัสผ่าน Wi-Fi ของคุณ ---
const char* ssid = "YOUR_WIFI_NAME";
const char* password = "YOUR_WIFI_PASSWORD";
// ------------------------------------------
WiFiServer server(80); // สร้าง Server ที่ Port 80
void setup() {
Serial.begin(115200);
// เริ่มต้นการเชื่อมต่อ Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi connected!");
// แสดง IP Address ที่ได้รับ
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
// เริ่มต้น Web Server
server.begin();
}
void loop() {
WiFiClient client = server.available();
if (client) {
// ส่งข้อมูล HTML กลับไปให้ Client
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html; charset=utf-8");
client.println("Connection: close");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head><meta charset='utf-8'></head>");
client.println("<body><h1>สวัสดีจาก ESP32!</h1></body>");
client.println("</html>");
delay(1);
client.stop();
}
}
📌 ข้อดีของรุ่นที่เป็น USB Type-C
-
เสียบง่าย: ไม่ต้องกังวลเรื่องการเสียบกลับด้าน ลดความเสียหายของพอร์ต
-
รองรับกระแสไฟได้ดี: เหมาะสำหรับบอร์ดที่ต้องการพลังงานสูง
-
สะดวกสบาย: สามารถใช้สายชาร์จร่วมกับสมาร์ทโฟนและอุปกรณ์รุ่นใหม่ๆ ได้เลย