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
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
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 và
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 MESHFOTA
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.
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)