เนื้อหาในบทความ
ภาพรวม ESP32
ESP32 เป็นไมโครคอนโทรลเลอร์ที่พัฒนาโดย Espressif Systems ซึ่งเป็นบริษัทชั้นนำในการผลิตชิป IoT จากประเทศจีน ESP32 ถูกออกแบบมาเพื่อใช้งานในโปรเจกต์ IoT ที่ต้องการประสิทธิภาพสูง รองรับการเชื่อมต่อ WiFi และ Bluetooth พร้อมกัน และมีความสามารถในการประมวลผลที่แข็งแกร่ง
💡 จุดเด่น: ESP32 มีประสิทธิภาพสูงกว่า ESP8266 ในทุกด้าน แต่ยังคงราคาที่คุ้มค่า ทำให้เป็นตัวเลือกยอดนิยมสำหรับโปรเจกต์ IoT ใหม่ๆ
คุณสมบัติหลัก
Dual Core Processor
Xtensa Dual-Core 32-bit LX6 microprocessor ทำงานที่ความเร็ว 240 MHz ช่วยให้ประมวลผลได้รวดเร็วและจัดการงานได้หลายงานพร้อมกัน
WiFi & Bluetooth
รองรับ WiFi 802.11 b/g/n และ Bluetooth 4.2 BLE พร้อมกันทั้งสองระบบ ทำให้เชื่อมต่อกับอุปกรณ์และเครือข่ายได้หลากหลาย
Low Power Consumption
รองรับโหมดประหยัดพลังงานหลายระดับ สามารถทำงานด้วยแบตเตอรี่ได้นานหลายเดือนด้วยการจัดการพลังงานที่เหมาะสม
丰富的外设接口
มี GPIO มากกว่า 30 pins, 12-bit SAR ADC ถึง 18 channels และ DAC 2 channels พร้อมอินเทอร์เฟซอื่นๆ อีกมากมาย
สเปคทางเทคนิค
| Processor | Xtensa Dual-Core 32-bit LX6 microprocessor (up to 240 MHz) |
| Memory | 520 KB SRAM, 448 KB ROM, External Flash Support (up to 16 MB) |
| Wireless | WiFi: 802.11 b/g/n (2.4 GHz), Bluetooth: v4.2 BR/EDR and BLE |
| GPIO | 30+ GPIO pins with configurable pull-up/pull-down |
| ADC | 12-bit SAR ADC up to 18 channels |
| DAC | 2 channels of 8-bit DAC |
| UART | 3 UART interfaces |
| SPI | 4 SPI interfaces |
| I2C | 2 I2C interfaces |
| I2S | 2 I2S interfaces for audio applications |
| PWM | 16 LED PWM channels |
| Power Supply | 2.2V to 3.6V (recommended 3.3V) |
| Operating Temperature | -40°C to +125°C |
ข้อมูล Pin สำคัญ
ESP32 มี GPIO pins มากกว่า 30 pins ซึ่งสามารถกำหนดฟังก์ชันได้หลากหลาย ด้านล่างคือ pins ที่สำคัญและใช้บ่อยในการพัฒนาโปรเจกต์ IoT:
Power Pins
- • 3V3: Output 3.3V จาก regulator บนบอร์ด
- • GND: Ground pins (มีหลายตัว)
- • EN: Enable pin (active low, pull up เพื่อ enable)
ADC Pins
- • ADC1_CH0-7: GPIO 36-39 (ไม่มี output)
- • ADC2_CH0-9: GPIO 0, 2, 4, 12-15, 25-27
- • หมายเหตุ: ADC2 ใช้ร่วมกับ WiFi ไม่ได้
DAC Pins
- • DAC1: GPIO 25
- • DAC2: GPIO 26
- • 8-bit resolution, 0-3.3V output
PWM Pins
- • ทุก GPIO pins รองรับ PWM ยกเว้น GPIO 34-39
- • 16 channels และ resolution สูงสุด 16-bit
- • เหมาะสำหรับควบคุม motor, LED dimming
⚠️ Strapping Pins
บาง GPIO pins เป็น strapping pins ที่มีผลต่อการ boot: GPIO 0, 2, 12, 15 ต้องระวังสถานะขณะ boot (เช่น GPIO 0 ต้องเป็น LOW เพื่อเข้า boot mode)
การเปรียบเทียบ ESP32 vs ESP8266
| Feature | ESP32 | ESP8266 |
|---|---|---|
| Processor | Dual-core 240 MHz | Single-core 80 MHz |
| SRAM | 520 KB | 160 KB |
| Bluetooth | ✅ Yes (BLE + Classic) | ❌ No |
| GPIO | 30+ pins | 16 pins |
| ADC | 18 channels (12-bit) | 1 channel (10-bit) |
| Touch Sensor | 10 channels | None |
| DAC | 2 channels | None |
| Price | ~$3-5 | ~$2-3 |
การใช้งานและ Use Cases
🏠 Smart Home
ควบคุมอุปกรณ์ในบ้าน วัดอุณหภูมิ ความชื้น และคุณภาพอากาศ
🌱 Smart Farm
ติดตามสภาพแวดล้อม ควบคุมระบบน้ำ และปุ๋ยอัตโนมัติ
🏭 Industry 4.0
เก็บข้อมูลเครื่องจักร วิเคราะห์สมรรถนะ และดูแลรักษาเชิงป้องกัน
📦 Asset Tracking
ติดตามตำแหน่งและสถานะของสินทรัพย์ผ่าน GPS และเซ็นเซอร์
🔊 Audio Applications
ประมวลผลเสียงดิจิตอล สตรีมมิ่งเพลง และเสียงบอกสถานะ
🎮 IoT Gaming
พัฒนาเกมและอุปกรณ์เชื่อมต่อที่ต้องการ WiFi/Bluetooth