Viet Dev

Cover image for ESP8266
Tuan for Unicloud Group

Posted on

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<br>
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

Một module tích hợp phổ biến (Module<br>
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 SDK
Arduino. 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:

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

Một số module ESP8266 trên thị trường

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ột mạch nạp tự động sử dụng chip USB<br>
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.

Latest comments (0)