Giới thiệu module ESP32 và hướng dẫn cài trình biên dịch trên Arduino Ide.

Mô tả dự án: 

Hiện tại , module wifi esp8266 đã có mặt ở khắp nơi , nhà nhà dùng ESP8266. Vậy đâu là sự lựa chọn tiếp theo sau ESP8266 ? Câu trả lời từ nhà sản xuất ESP (espressif.com) đó là  :   “ESP32”

Cấu hình khủng, thêm chức năng , tăng số chân I/O, thêm nhiều cảm biến , giá thành phù hợp…là những gì mình sẽ giới thiệu về esp32 tại bài viết này.

Cấu hình esp32

CPU

  • CPU: Xtensa Dual-Core LX6 microprocessor.
  • Chạy hệ 32 bit
  • Tốc độ xử lý 160MHZ up to 240 MHz
  • Tốc độ xung nhịp đọc flash chip 40mhz --> 80mhz (tùy chỉnh khi lập trình)
  • RAM: 520 KByte SRAM
    • 520 KB SRAM liền chip –(trong đó 8 KB RAM RTC tốc độ cao – 8 KB RAM RTC tốc độ thấp (dùng ở chế độ DeepSleep).

Hỗ trợ 2 giao tiếp không dây

  • Wi-Fi: 802.11 b/g/n/e/i
  • Bluetooth: v4.2 BR/EDR and BLE

Hỗ trợ tất cả các loại giao tiếp

  • 8-bit DACs( digital to analog)  2 cổng
  • Analog(ADC)  12-bit  16 cổng.
  • I²C – 2 cổng
  • UART – 3 cổng
  • SPI – 3 cổng (1 cổng cho chip FLASH )
  • I²S – 2 cổng      
  • SD card /SDIO/MMC host
  • Slave (SDIO/SPI)
  • Ethernet MAC interface with dedicated DMA and IEEE 1588 support
  • CAN bus 2.0
  • IR (TX/RX)
  • Băm xung PWM (tất cả các chân )
  • Ultra low power analog pre-amplifier’

Cảm biến tích hợp trên chip esp32

  • 1 cảm biến Hall (cảm biến từ trường)
  • 1 cảm biến đo nhiệt độ
  • Cảm biến chạm (điện dung) với 10 đầu vào khác nhau.

 Bảo mật

  • IEEE 802.11 standard security features all supported, including WFA, WPA/WPA2 and WAPI
  • Secure boot
  • Flash encryption
  • 1024-bit OTP, up to 768-bit for customers
  • Cryptographic hardware acceleration: AES, SHA-2, RSA, elliptic curve cryptography (ECC), random number generator (RNG)

Nguồn điện hoạt động

  • Nhiệt độ hoạt động -40 + 85C
  • Điện áp hoạt động: 2.2-3.6V
  • Số cổng GPIOs : 34

Đánh giá chung

ESP32 xứng đáng với sự mong mỏi  ở các cải tiến trên esp8266.

Với esp8266, cùng với wifi , esp32 hỗ trợ thêm truyền nhận Blutooth, RAM nhiều hơn, Tốc độ xử lý nhanh hơn, số chân GPIO nhiều hơn, nhiều cổng giao tiếp hơn, nhiều chân PWM hơn, nhiều chân ADC hơn, tích hợp cả 3 loại cảm biến (nhiệt độ, hall, touch sensor)… Tất cả ưu điểm đó cũng đủ khiến fan của ESP yêu ngay từ cái nhìn đầu tiên.

So sánh tốc độ sử lý esp32 với các dòng mạch nhúng khác 

Theo như kết quả tại trang web  https://hilo90mhz.com/arduino-esp32-esp8266-101-speed-test-comparison-chart/  thì esp32 hiện tại đang đứng đầu về cấu hính cũng như tốc độ sử lý.

 

Các biến thể PCB đến từ các hãng bán hàng.

Tất cả đều dùng chung lõi duy nhất là ESP32, tuy nhiên pinout và kiểu đánh số trên mỗi PCB đến từ các hãng có thể không giống nhau.

 

 

Cũng có kiểu thiết kế cấy luôn chip esp32 lên PCB, tạo kiểu dáng gọn nhẹ:

 

 

[Cập nhật 10/7/2017] : Phiên bản mới nhất và mạnh mẽ nhất hiện nay của esp32 là ESP32 WROVER với cấu hình tương tự esp32 WROOM nhưng được hỗ trợ thêm chip PSRAM ngoài với dung lượng lên tới 4 MegaByte RAM, và đế hàn anten ngoài 2.4Ghz , biến esp32 trở thành đối thủ thực sự trong các dòng chip nhúng giá rẻ.

      

 

link tham khảo tại đây : 

https://www.esp32.com/viewtopic.php?t=2031

Nâng cấp thêm RAM cho arduino tại đây :

 

 

 

ESP32 đã có mặt tại Việt Nam.

Bắt đầu bán ra thị trường từ tháng 9-2016 từ lò của Espressif tại thị trường Trung Quốc ,châu Âu và Bắc Mĩ, được xếp vào loại hàng mới, cho đến nay đã có nhiều cửa hàng tại Việt Nam nhập bán ESP32.

Gía cả sỉ lẻ: dao động 130k-140k cho 1 module esp32. 

Sơ đồ chân

Khi lập trình, việc lựa chọn board và pinout cần được chọn đúng.

Tuy có nhiều biến thể PCB nhưng quy ước vẫn nằm trên ic chính esp32. Dưới đây là mapping cho một module chip esp32.

(nhấp vào ảnh để xem kích thước lớn hơn)

 

Cộng đồng và tài liệu hỗ trợ.

Kể từ ngày bán module này, cộng đồng người dùng esp8266 năng động đã bắt kịp và phát triển theo hướng esp32 rất nhanh.

http://esp32.com là trang web đầu tiên và có nhiều sự hỗ trợ nhất dành cho esp32.

Bạn có thể có mọi tài tiệu về esp32 tại đây !

Tự học esp32

Nếu như bạn đã từng lập trình với esp8266 thì với esp32 bạn chỉ việc thẳng tay coding mà không cần lo lắng, esp32 đơn thuần là sự phát triển về phần cứng của esp8266 mà thôi.

Với những ai chưa biết esp8266: bạn vẫn có thể “nhảy cóc” và làm quen với esp32 ngay mà không cần có esp8266, tuy nhiên việc này đòi hỏi bạn phải có kĩ năng tìm kiếm tốt trên google.

Tài liệu

Tất tần tật về esp32: http://espressif.com/en/support/download/documents

Tài liệu tự học ESP32 của tác giả Neil Colban (miễn phí), ấn phẩm tháng 5-2017.

https://leanpub.com/ESP8266_ESP32 -- (Link dự phòng)

 

Phần 2: Hướng dẫn cài IDE dùng như trình biên dịch C/C++ cho module ESP32.

Hướng dẫn chi tiết tại  https://github.com/espressif/arduino-esp32 

Hoặc: https://github.com/espressif/arduino-esp32/blob/master/doc/windows.md

B1: Tải phần mềm biên dịch Python 

(chọn bản mới nhất) 

https://www.python.org/downloads/

Sau khi tải xong thì tiến hành cài đặt , cứ nhấn Next mặc định nhé, Cài xong thì thoát ra , chuyển sang bước 2.

B2: Tải và cài phần mềm git tại git-scm.com : http://git-scm.com

Sau đó tìm và mở phần mềm có tên: GIT GUI. 

Chọn “Clone existing Repository”:

Điền trong Source Location địa chỉ :

Source Location: https://github.com/espressif/arduino-esp32.git

Điền trong Target Directory: 

Đây là thư mục nằm cùng với thư mục có chứa IDE mà bạn cài đặt .

Ví dụ : nếu ngày xưa bạn cài IDE cho arduino không phải trên ổ C:// mà là ổ D:// giống như của mình thì nó trông như thế này :

 

Như vậy thông tin cần điền trong Target Directory: là D:/Arduino_NO/hardware

Sau đó viết tiếp phần phía sau : /espressif/esp32

Gộp lại ta được : D:/Arduino_NO/hardware/espressif/esp32

Nhấn Clone rồi đợi nó tải về .

Trong trường hợp báo lỗi đã tồn tại thư mục /espressif/esp32

Thì ta xóa toàn bộ thư mục /espressif/ rồi điền lại D:/Arduino_NO/hardware/espressif/esp32

Nó sẽ tạo lại thư mục /espressif/esp32 để tải.

 

[CẬP NHẬT 20/10/2017] :   Với những bạn tải mới phần mềm git thì có 1 thay đổi nhỏ: bạn sửa lại kí tự "/" thành "\"nhé .

Như vậy khi điền trong  Target Directory bạn sẽ phải thử theo 2 cách :  

  • c1: D:/Arduino_NO/hardware/espressif/esp32
  • c2:D:\Arduino_NO\hardware\espressif\esp32

 

 

Qúa trình TẢI này thường mất khoảng 3 -> 10 PHÚT CHỜ ĐỢI !

[Cập nhật 20/1/2018] : Hiện nay dung lượng clone đã khá lớn, với những bạn dùng Git Gui cũ, khi clone thì màn hình chỉ hiển thị như ảnh dưới mà không hiển thị thanh trạng thái, tuy nhiên quá trình tải xuống vẫn đang diễn ra bình thường, hãy kiên nhẫn chờ đợi.

 

Khi clone hoàn tất, một hộp thoại mới sẽ được mở ra : Bạn có thể đóng hộp thoại này.

 

               

 

Sau khi tải xong, ta tìm và  mở lại thư mục /espressif/esp32 -> mở tools -> mở get.exe  (đuôi .exe)

Nó sẽ tải thêm vài thứ nữa... (Màn hình sẽ chỉ như thế này với con trỏ chuột nhấp nháy mà không có thông tin tiến trình nào thêm, hãy kiên nhẫn  )

Quá trình này cũng mất vài phút. Nó sẽ tải và extract (giải nén). Khi thành công nó sẽ tự thoát và đóng cửa số !

B4: mở lại IDE và cắm mạch ESP32 vào máy tính.

Rồi chọn lại cổng COM phù hợp và chọn board phù hợp.

                                  

B5:

Chọn 1 ví dụ Blink nhấp nháy led và biên dịch , nếu biên dịch không có lỗi thì OK !

Tạm kết

Tuy ESP32 mới xuất hiện , hồi tháng 11-2016,  tại sự kiện Hackaday SuperConference, Một máy  game boy mini sử dụng ESP32 được 1 moder Jeroen Domburg chế thành công.

Nó thuyết phục mọi người nhờ sự nhỏ gọn và cấu hình đủ mạnh trong dự án này. 

ESP32 đã cập bến, cùng chờ đợi các sản phẩm với ESP32 tại Việt Nam thôi.heartlaughenlightened

lên
12 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Nâng cấp 32kbyte RAM cho arduino mega với ic UT62256CSCL-70LL

Trong bài này, mình sẽ hướng dẫn các bạn nâng cấp 32kbyte RAM ngoài cho arduino mega sử dụng ic SRAM giá rê  UT62256CSCL-70LL.

Đọc ngay thôi, đừng bỏ lỡ @@.

lên
14 thành viên đã đánh giá bài viết này hữu ích.

AVR-Xuất xung với tần số và độ rộng theo ý muốn

Tiếp tục chuỗi bài: Điều khiển pin bằng ngôn ngữ chính thống. 

Bài viết này sẽ giúp bạn tạo một xung PWM có tần số và độ rộng xung theo ý muốn. 

lên
20 thành viên đã đánh giá bài viết này hữu ích.