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
  • 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).

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.

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ẹ:

 

 

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/

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

Sau đó 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.

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

Sau khi tải xong, ta mở lại thư mục /espressif/esp32 -> mở tools -> mở get.exe

Nó sẽ tải thêm vài thứ nữa...

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 !

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ụ 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
10 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

Điều khiển 8 đèn LED qua wifi, sử dụng Arduino và ESP8266

Với mục đích giúp các bạn tiếp cận với các thiết bị IOT gần hơn. Hôm nay mình sẽ hướng dẫn các bạn viết chương trình điều khiển 8 LED qua mạng wifi. Và hơn thế nữa, nếu kết hợp với VPN hoặc mở port thì chúng ta có thể làm hơn thế nữa!

lên
43 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

ST7565 | Chuyển động trong lập trình Game và đồ họa

Hẳn là các bạn ít nhiều cũng đã từng có một tuổi thơ dữ dội cùng với trò xếp gạch, xe tăng trên các máy chơi game đen trắng cầm tay, phá đảo thế giới ảo cùng với Contra, Super Mario, MUblushlaugh…Và khi lớn lên, chúng ta lại thích thú trong việc làm sao để tạo ra các chuyển động như vậy, nói đúng hơn là làm game.enlightenedcoolBài viết này sẽ giúp bạn hiểu hơn cách tạo ra các hiệu ứng chuyển động hình ảnh trong lập trình đồ họa nói chung và game nói riêng. Tất nhiên là bằng board mạch Arduino cùng với LCD ST7565.

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

Bài 2: Kiểm chứng tốc độ khi điều khiển các pin bằng ngôn ngữ AVR so với các lệnh trên Arduino

Arduino dùng chip AVR, nếu điều khiển arduino bằng ngôn ngữ tiêu chuẩn của chip AVR thì tốc độ có thể nhanh hơn 12 lần so với cách dùng lệnh digitalWrite, nhanh hơn 4 lần so với lệnh digitalRead, nhanh 14 hơn lần so với analogRead, nhanh 10 hơn lần so với pinMode… thậm chí cách biệt còn xa hơn nữa. Điều này rất rất quan trọng. Cùng khám phá nào..

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