So sánh ESP32 và ESP8266 – Người mới học IoT nên chọn mạch nào?
ESP32 và ESP8266 là 2 mạch điện tử phổ biến có thể dùng làm các dự án IoT (Internet of Things). Mỗi mạch đều sẽ có các ưu nhược điểm riêng, phù hợp cho từng đối tượng sử dụng.
Vậy, với người mới bắt đầu thì chúng ta nên chọn mạch nào trong các dự án sắp tới? Trong bài viết dưới đây, mình sẽ giải thích chi tiết về điểm khác biệt của từng loại mạch, cũng như ưu nhược điểm và ứng dụng của chúng để bạn có thể đưa ra lựa chọn phù hợp nhất nhé! Nào, cùng tìm hiểu thôi.
Tổng quan về ESP32 và ESP8266
ESP32 và ESP8266 đều là các module WiFi có giá thành phải chăng, phù hợp để xây dựng các dự án DIY (Do It Yourself) trong lĩnh vực IoT và nhà tự động (Home Automation).
Tuy nhiên, nhìn chung thì ESP32 mang lại nhiều ưu điểm vượt trội hơn so với ESP8266:
- Bộ vi xử lý mạnh mẽ hơn: Cả 2 bảng mạch trên đều sử dụng bộ chip 32bit. Tuy nhiên, ESP32 sử dụng lõi kép (dual-core) Xtensa LX6, cho tốc độ từ 160 đến 240 MHz. Trong khi đó, ESP8266 chỉ dùng lõi đơn (single-core), với tốc độ chỉ khoảng 80 MHz. Như bạn đã biết, CPU (core) có chức năng chính là để xử lý và điều khiển. Với lõi kép 2 CPU, ESP32 mang lại khả năng xử lý nhanh chóng các tác vụ phức tạp.
- Bộ nhớ cao hơn: ESP32 sở hữu bộ nhớ Flash 4MB và 520KB SRAM, trong khi đó ESP8266 sở hữu bộ nhớ Flash 4MB và 128kb RAM.
- Nhiều tính năng hơn: ESP32 mang lại nhiều tính năng, phục vụ các dự án điện tử IoT tốt hơn, ví dụ:
- Hỗ trợ Bluetooth Low Energy và Bluetooth Classic
- Hỗ trợ WiFi
- Hỗ trợ Ultra Low Power
- Hỗ trợ các bộ chuyển đổi Digital sang Analog và ngược lại
Ngoài các đặc điểm trên, cả 2 module đều có nhiều GPIO với đa dạng giao thức, bao gồm SPI, UART, I2C, ADC, PWM và DAC. Điểm nổi bật của ESP32 là chúng hỗ trợ các giao thức không dây như Bluetooth và WiFi (một ưu điểm vượt trội hơn nhiều so với mạch Arduino), cho phép chúng ta xây dựng các dự án một cách dễ dàng hơn với chi phí rất thấp. Ví dụ, bạn có thể điều khiển và giám sát thiết bị từ xa, làm hệ thống IoT ESP32 tùy theo nhu cầu.
Nếu trong trường hợp không cần đến tính năng kết nối không dây, bạn vẫn có thể sử dụng các mạch này để sử dụng đầu vào, đầu ra tương tự như khi làm việc với Arduino. Tuy nhiên, bạn cần lưu ý rằng ESP32 và ESP8266 hoạt động ở mức 3,3V, chứ không phải 5V như Arduino.
Dưới đây, IoTZone sẽ phân tích điểm khác biệt của 2 mạch này một cách chi tiết hơn cho bạn dễ hình dung.
Chúng ta sẽ phân tích kỹ hơn qua mục bên dưới:
Thông số kỹ thuật
ESP32 là phiên bản cải tiến của ESP8266, chúng được bổ sung thêm 1 CPU, hỗ trợ tốc độ kết nối WiFi nhanh hơn, nhiều chân GPIO cũng như hỗ trợ Bluetooth 4.2 và Bluetooth Low Energy (BLE – Bluetooth năng lượng thấp).
Bên cạnh đó, bạn cũng có thể sử dụng các chân cảm ứng trên mạch ESP32 để đánh thức mạch khỏi trạng thái Deep Sleep. Trên ESP32 có sẵn các cảm biến tích hợp Hall và tích hợp cảm biến nhiệt độ.
Bảng dưới đây sẽ so sánh kỹ hơn về thông số kỹ thuật giữa ESP32 và ESP8266:
Thông số kỹ thuật | ESP8266 | ESP32 |
---|---|---|
MCU | Lõi đơn Xtensa 32bit | Lõi kép Xtensa Dual-Core 32bit |
WiFi 802.11 b/g/n | HT20 | HT40 |
Tốc độ xung nhịp | 80 MHz | 160 MHz – 240 MHz |
Bộ nhớ Flash | 4MB | 4MB |
Bluetooth | Không hỗ trợ | Bluetooth 4.2 và Bluetooth Low Energy |
SCRAM | Không | Có |
GPIO | 17 | 34 |
Phần cứng / phần mềm PWM | Không có / 8 kênh | Không có / 16 kênh |
Số cổng SPI / I2C / I2S / UART | 2/1/2/2 | 4/2/2/2 |
ADC | 10 bit | 12 bit |
CAN | Không hỗ trợ | Có hỗ trợ |
Cảm biến chạm | Không hỗ trợ | Có hỗ trợ |
Cảm biến nhiệt độ | Không hỗ trợ | Có hỗ trợ (phiên bản cũ) |
Cảm biến Hall | Không hỗ trợ | Có hỗ trợ |
Nhiệt độ hoạt động | -40 độ C – 125 độ C | -40 độ C – 125 độ C |
Link mua |
Chân GPIO trên ESP32 và ESP8266
ESP32 có nhiều chân GPIO hơn so với ESP8266, ngoài ra bạn có thể tự quyết định chân nào là chân UART, I2C, SPI hay I2C thông qua lập trình. Điều này được thực hiện dễ dàng vì ESP32 có tính năng ghép kênh, cho phép bạn gán nhiều chức năng trên cùng một chân bất kỳ.
Trong trường hợp bạn không gán chân cho ESP32, vị trí các chân sẽ mặc định như bảng sau (mình đang lấy ví dụ là mạch ESP32 DEVKIT V1, tùy theo mỗi mạch thì sẽ có thứ tự chân GPIO khác nhau):
Để tìm hiểu kỹ hơn về chân GPIO trên ESP32, bạn có thể theo dõi bài viết sau: Tổng quan về ESP32 Pinout GPIOs & Cách sử dụng
Còn dưới đây là sơ đồ chân GPIO của ESP8266:
ESP32 và ESP8266 – Cái nào tốt hơn?
Qua các thông tin so sánh trên, ắt hẳn bạn cũng đã có câu trả lơi cho mình. ESP32 mang đến bộ xử lý mạnh mẽ và nhanh chóng hơn, bộ nhớ cũng cao hơn, cho phép bạn xây dựng các dự án phức tạp.
Ngoài ra, tính bảo mật cao, có các thiết bị ngoại vi đa dạng và kết nối ổ cắm, hỗ trợ mạng không dây an toàn cũng là các yêu cầu cần thiết để bạn có thể ứng dụng ESP32 vào các dự án Internet of Things thú vị.
Có thể nói, sự ra đời của ESP32 đã giúp người dùng giải quyết được nhiều vấn đề với các dự án không thể chạy trên ESP8266. Dưới đây là một số ứng dụng ESP32 điển hình:
- Sử dụng WiFi để chia sẻ vị trí
- Xây dựng hệ thống Camera giám sát không dây kết hợp hệ thống cảm biến để thu thập thông tin
- Thực hiện các dự án liên quan đến Robotics
- Phục vụ các hoạt động an ninh, nhà tự động hoặc các lĩnh vực kinh doanh
Nên chọn ESP32 hay ESP8266 để học IoT?
Vậy, người mới học IoT nên lựa chọn mạch nào để xây dựng các dự án mình thích? Câu trả lời tùy thuộc vào nhu cầu của bạn.
ESP8266 không đầy đủ các tính năng như ESP32, nhưng sẽ có giá thành rẻ hơn đôi chút và vẫn có thể dùng để xây dựng các dự án IoT đơn giản (chỉ đơn giản thôi nhé!).
Trong trường hợp bạn xây dựng các dự án IoT phức tạp, ESP8266 không đủ chân GPIO, không đủ bộ nhớ hoặc không có hỗ trợ các tính năng như Bluetooth Low Energy, thì ESP32 là lựa chọn lý tưởng.
Còn về độ khó khi tiếp cận thì cả ESP32 và ESP8266 đều có cách tiếp cận tương tự nhau, nên bạn lựa chọn mạch nào để bắt đầu cũng được. Tuy nhiên, theo ý kiến của nhiều người dùng trong cộng đồng kỹ thuật thì nên chọn ESP32 vẫn hơn.
Lời kết
Qua bài viết trên, hy vọng bạn đã hiểu hơn về sự khác biệt giữa ESP32 và ESP8266, từ đó chọn được mạch lập trình phù hợp để sử dụng. Theo mình thì mạch ESP32 vẫn vượt trội và đáng dùng hơn rất nhiều, mà chi phí cũng không đắt hơn bao nhiêu. Bạn hãy thử trải nghiệm nhé!