Skip to content

ESP8266

ESP8266

ESP8266 là dòng chip tích hợp Wi-Fi 2.4Ghz có thể lập trình được, rẻ tiền được sản xuất bởi một công ty bán dẫn Trung Quốc: Espressif Systems.

Được phát hành đầu tiên vào tháng 8 năm 2014, đóng gói đưa ra thị trường dạng Mô dun ESP-01, được sản xuất bởi bên thứ 3: AI-Thinker. Có khả năng kết nối Internet qua mạng Wi-Fi một cách nhanh chóng và sử dụng rất ít linh kiện đi kèm. Với giá cả có thể nói là rất rẻ so với tính năng và khả năng ESP8266 có thể làm được.

ESP8266 có một cộng đồng các nhà phát triển trên thế giới rất lớn, cung cấp nhiều Module lập trình mã nguồn mở giúp nhiều người có thể tiếp cận và xây dựng ứng dụng rất nhanh.

Hiện nay tất cả các dòng chip ESP8266 trên thị trường đều mang nhãn ESP8266EX, là phiên bản nâng cấp của ESP8266

Sơ đồ chân

Sơ đồ chân ESP8266EX
Hình 1. Sơ đồ chân ESP8266EX

Thông số phần cứng

  • 32-bit RISC CPU : Tensilica Xtensa LX106 chạy ở xung nhịp 80 MHz

  • Hổ trợ Flash ngoài từ 512KiB đến 4MiB

  • 64KBytes RAM thực thi lệnh

  • 96KBytes RAM dữ liệu

  • 64KBytes boot ROM

  • Chuẩn wifi EEE 802.11 b/g/n, Wi-Fi 2.4 GHz

    • Tích hợp TR switch, balun, LNA, khuếch đại công suất và matching network

    • Hổ trợ WEP, WPA/WPA2, Open network

  • Tích hợp giao thức TCP/IP

  • Hổ trợ nhiều loại anten

  • 16 chân GPIO

  • Hổ trợ SDIO 2.0, UART, SPI, I²C, PWM,I²S với DMA

  • 1 ADC 10-bit

  • Dải nhiệt độ hoạt động rộng : -40C ~ 125C

Module ESP12E
Hình 2. Một module tích hợp phổ biến (Module ESP12E)

SDK hỗ trợ chính thức từ hãng

Espressif hiện đã hỗ trợ 3 nền tảng SDK (Software Development Kit – Gói phát triển phần mềm) độc lập, là: NONOS SDK, RTOS SDKArduino. Cả 3 đều có những ưu điểm riêng phù hợp với từng ứng dụng nhất định, và sử dụng chung nhiều các hàm điều khiển phần cứng. Hiện nay Arduino đang được sử dụng rộng rãi bởi tính dễ sử dụng, kiến trúc phần mềm tốt và tận dụng được nhiều thư viện cộng đồng

ESP8266 NONOS SDK

Hiện nay, NONOS SDK phiên bản từ 2.0.0 trở lên đã ổn định và cung cấp gần như là đầy đủ tất cả các tính năng mà ESP8266 có thể thực hiện:

  • Các API cho Timer, System, Wifi, đọc ghi SPI Flash, Sleep và các Module phần cứng: GPIO, SPI, I²C, PWM, I²S với DMA.

  • Smartconfig: Hỗ trợ cấu hình thông số Wi-Fi cho ESP8266 nhanh chóng.

  • Sniffer API: Bắt các gói tin trong mạng không dây 2.4Ghz.

  • SNTP API: Đồng bộ thời gian với Máy chủ thời gian.

  • WPA2 Enterprise API: Cung cấp việc quản lý kết nối Wi-Fi bằng tài khoản sử dụng các máy chủ RADIUS.

  • TCP/UDP API: Cho kết nối internet và hỗ trợ các Module dựa trên các giao thức như: HTTP, MQTT, CoAP.

  • mDNS API: Giúp tìm ra IP của thiết bị trong mạng nội bộ bằng tên (hostname).

  • MESH API: Liên kết các module ESP8266 với cấu trúc mạng MESH

  • FOTA API: Firmware Over The Air – cập nhật firmware từ xa cho thiết bị .

  • ESP-Now API: Sử dụng các gói tin Wireless 2.4GHz trao đổi trực tiếp với ESP8266 khác mà không cần kết nối tới Access Point.

  • Simple Pair API: Thiết lập kết nối bảo mật giữa 2 thiết bị tự động.

ESP8266 RTOS SDK

RTOS SDK sử dụng FreeRTOS làm nền tảng, đồng thời hầu hết các API của NON OS SDK đều có thể sử dụng với RTOS SDK.

ESP8285

ESP8285 là một phiên bản khác sau này của ESP8266EX, giống hoàn toàn ESP8266EX ngoại trừ việc thay vì dùng SPI FLASH bên ngoài thì ESP8285 tích hợp 1MiB Flash bên trong giúp giảm diện tích phần cứng và đơn giản hóa quá trình sản xuất.

Module và Board mạch phát triển

ESP8266 cần ít nhất thêm 7 linh kiện nữa mới có thể hoạt động, trong đó phần khó nhất là Antena. Đòi hỏi phải được sản xuất, kiểm tra với các thiết bị hiện đại. Do đó, trên thị trường xuất hiện nhiều Module và Board mạch phát triển đảm đương hết để người dùng đơn giản nhất trong việc phát triển ứng dụng. Một số Module và Board phát triển phổ biến:

Bảng 1. Một số module ESP8266 trên thị trường

Tên

Số chân

Pitch

LEDs

Antenna

Shielded

Dimensions

ESP-01

6

0.1″

Yes

PCB

No

14.3 × 24.8

ESP-02

6

0.1″

No

U-FL

No

14.2 × 14.2

ESP-03

10

2mm

No

Ceramic

No

17.3 × 12.1

ESP-04

10

2mm

No

None

No

14.7 × 12.1

ESP-05

3

0.1″

No

U-FL

No

14.2 × 14.2

ESP-06

11

misc

No

None

Yes

14.2 × 14.7

ESP-07

14

2mm

Yes

Ceramic+U-FL

Yes

20.0 × 16.0

ESP-08

10

2mm

No

None

Yes

17.0 × 16.0

ESP-09

10

misc

No

None

No

10.0 × 10.0

ESP-10

3

2mm

No

None

No

14.2 × 10.0

ESP-11

6

0.05″

No

Ceramic

No

17.3 × 12.1

ESP-12

14

2mm

Yes

PCB

Yes

24.0 × 16.0

ESP-12E

20

2mm

Yes

PCB

Yes

24.0 × 16.0

ESP-12F

20

2mm

Yes

PCB

Yes

24.0 × 16.0

ESP-13

16

1.5mm

No

PCB

Yes

18.0 x 20.0

ESP-14

22

2mm

No

PCB

Yes

24.3 x 16.2

Board mạch phát triển ESP8266

Module ESP8266 chỉ bao gồm Chip ESP8266 và các linh kiện giúp chip có thể hoạt động được, tuy nhiên, trong quá trình phát triển sản phẩm, chúng ta cần phải nạp chương trình cho chip trước khi đưa vào hoạt động thực tế. Quá trình này là quá trình gởi dữ liệu Binary (đã biên dịch trên máy tính) xuống bộ nhớ Flash của ESP8266.
Để đưa ESP8266 vào chế độ Nạp (Program) thì cần phải đặt mức logic 0 (0V – GND) vào chân GPIO0, đồng thời RESET chip. Rồi sau đó có thể dùng các công cụ nạp để gởi Firmware từ máy tính xuống.

Mạch nạp tự động
Hình 3. Một mạch nạp tự động sử dụng chip USB CDC

Hiện nay các Board mạch phát triển đều tích hợp các mạch nạp tự động, nghĩa là phần mềm sẽ tự động điều chỉnh các chân DTR và RTS của chip USB CDC, đưa ESP8266 vào chế độ nạp, sau đó sẽ gởi firmware xuống. Arduino IDE cũng vậy, nó sẽ điều chỉnh dựa trên việc khai báo Board mạch sử dụng.

Nếu bạn là người mới bắt đầu và chưa rõ về phần cứng, thì tốt nhất nên sử dụng một Board mạch phát triển sẵn có các chế độ nạp tự động. Khi bạn chuyển sang sản xuất phần cứng cho các ứng dụng cụ thể, thì có thể tách rời phần nạp tự động này ra để tiết giảm chi phí. Các mạch điện này đều được công bố rộng rãi.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *