Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Mục đích của tôi ở đây là chia sẻ kinh nghiệm của tôi với ESP8266 thông qua các mô-đun ESP-01, ESP-12 và NodeMCU.
Tôi sẽ giải thích:
1. Cách kết nối ESP-01 với máy tính của bạn
2. Tải lại firmware AT
3. Sử dụng Arduino IDE để lập trình chip
4. Node MCU trải nghiệm
5. DeepSleep hoặc cấp nguồn cho mô-đun của bạn bằng pin
6. Pure ESP12 - Kết nối nó với máy tính của bạn và sẵn sàng cho các dự án nhúng
Bước 1: ESP-01 - Kiểm tra giao tiếp
Bạn cần:
- Tất nhiên, mô-đun ESP-01
- Bộ chuyển đổi nối tiếp-USB
- Bộ điều chỉnh 3.3V, tôi đã sử dụng LE33CZ (tối đa 100mA), nó hoạt động nhưng tôi khuyên bạn nên sử dụng mô hình với 1A Max.
Thực hiện theo các giản đồ.
Lưu ý: CH_PD cần được kết nối với + VCC, vì nó được đề cập trong biểu dữ liệu của ESP8266.
Giao tiếp với ESP:
Thông thường khi bạn mua mô-đun như vậy:
- phần sụn AT đã có trong bộ nhớ
- tốc độ nối tiếp mặc định là 115200 bps
Về mặt lý thuyết, bạn có thể sử dụng bất kỳ phần mềm Giao tiếp nối tiếp nào. Chỉ cần chú ý thêm Hàng mới & Trả hàng Vận chuyển sau mỗi lệnh.
Tôi đã cố gắng sử dụng PutTTY để gửi lệnh AT nhưng không thành công do các ký tự Trả về Dòng & Vận chuyển Mới này. Tôi đã không tìm ra cách để làm điều đó
Vì vậy, tôi đã sử dụng màn hình nối tiếp của ARDUINO, hãy cẩn thận thiết lập "Cả NL&CR" nếu không nó sẽ không hoạt động
Khi bạn đã sẵn sàng:
- Hãy thử gõ: AT
- ESP nên trả lời: OK
Bây giờ bạn đang ở trong. Hãy tham khảo tài liệu Espressif để biết các lệnh AT.
Với các lệnh AT, bạn có thể kết nối với WiFi và tạo một máy chủ HTTP. Nhưng bạn không thể ra lệnh cho GPIO.
Bước 2: ESP-01 - Tải lại Firmware AT
Trong trường hợp khi bạn nhận được mô-đun không có phần mềm bên trong (nhưng bình thường thì có), tôi giải thích ở đây cách tải lại nó bằng một công cụ đa nền tảng.
Bạn có thể bỏ qua bước này nếu bước trước đó phù hợp với bạn.
Điều đầu tiên bạn cần biết:
- Để vào chế độ chương trình, bạn cần đặt GPIO0 ở 0V và ĐẶT LẠI trong khi GPIO0 vẫn ở 0V.
- Sau đó, mô-đun đã sẵn sàng để tải phần sụn trong bộ nhớ flash
Truy cập Espressif.com để tải xuống SDK:
Trong thư mục bin / at, tệp README sẽ cho bạn biết tệp nào cần tải trong bộ nhớ và địa chỉ bắt đầu
Thí dụ:
# NON-BOOT MODE ## download
Eagle.flash.bin 0x00000
Eagle.irom0text.bin 0x10000
trống.bin
Kích thước flash 8Mbit: 0x7e000 & 0xfe000
Kích thước flash 16Mbit: 0x7e000 & 0x1fe000
Kích thước flash 16Mbit-C1: 0xfe000 & 0x1fe000
Kích thước flash 32Mbit: 0x7e000 & 0x3fe000
Kích thước flash 32Mbit-C1: 0xfe000 & 0x3fe000
esp_init_data_default.bin (tùy chọn)
Kích thước flash 8Mbit: 0xfc000
Kích thước flash 16Mbit: 0x1fc000
Kích thước flash 16Mbit-C1: 0x1fc000
Kích thước flash 32Mbit: 0x3fc000
Kích thước flash 32Mbit-C1: 0x3fc000
Lưu ý: Bạn cần biết kích thước và loại bộ nhớ bạn có trong mô-đun của mình. Đó là một vấn đề mà chúng tôi sẽ giải quyết trong vài giây nữa…
Sử dụng esptool.py để tải chương trình cơ sở:
- Espressif khuyên bạn nên sử dụng phần mềm của riêng họ, nhưng nó là trên Windows
- Vì vậy, https://github.com/espressif/esptool là một lựa chọn thay thế tốt
- python esptool.py --port / dev / ttyUSB0 --baud 115200 write_flash 0x00000./at/noboot/eagle.flash.bin
- python esptool.py --port / dev / ttyUSB0 --baud 115200 write_flash 0x10000./at/noboot/eagle.irom0text.bin
- python esptool.py --port / dev / ttyUSB0 --baud 115200 write_flash 0x7e000./bin/blank.bin
- python esptool.py --port / dev / ttyUSB0 --baud 115200 write_flash 0xfc000./bin/esp_init_data_default.bin
- …
Lưu ý quan trọng:
Bạn không thể làm những điều này nếu bạn không biết mình có loại bộ nhớ nào trong mô-đun của mình.
Tôi cho bạn một mẹo:
python esptool.py --port / dev / ttyUSB0 --baud 115200 flash_id
Sau đó, xem combo tại
nhà sản xuất c8 là GigaDevice và thiết bị 4013 là GD25Q40, là thiết bị 4Mbit = 512KByte
nhà sản xuất ef là Winbond (ex Nexcom) và thiết bị 4016 là W25Q32, là thiết bị 32Mbit = 4MByte
Bước 3: Sử dụng ARDUINO IDE
Trong cài đặt tùy chọn, hãy thêm URL này vào "URL trình quản lý bảng bổ sung":
arduino.esp8266.com/stable/package_esp8266c…
Khởi động lại ARDUINO sau đó. Sau đó, trong "CÔNG CỤ-> BAN", bạn sẽ có thể chọn Mô-đun ESP8266 Chung.
Trong Tệp-> Ví dụ, bạn sẽ tìm thấy các ví dụ về bản phác thảo để giúp bắt đầu lập trình với ARDUINO.
Ghi chú:
- Khi bạn tải xuống chương trình, đừng quên vào chế độ lập trình (GPIO0 = 0V và ĐẶT LẠI).
- Khi bạn đã tải xuống một chương trình arduino trên ESP, phần sụn AT không còn khả dụng nữa, vì vậy các lệnh AT sẽ không thực hiện được.
- Sử dụng tùy chọn: phác thảo + cài đặt wifi
Bước 4: Nút MCU
Nếu bạn mua loại mô-đun này, nó thực sự rất tiện lợi:
- ESP-12 bên trong
- Bạn có một nút flash + đặt lại để dễ dàng vào chế độ lập trình
- Ghim
- Một cổng USB tích hợp…
Nhưng nếu bạn muốn tích hợp nó trong một dự án, nó có thể không phải là tốt nhất. Chúng ta sẽ thấy ESP12 "tinh khiết" ở cuối hướng dẫn này.
Bước 5: Ngủ sâu hoặc cấp nguồn cho mô-đun của bạn bằng pin
Thật tuyệt khi có WiFi nhưng tốn điện. Nếu bạn để mô-đun BẬT không chắc chắn bạn có thể nhúng mô-đun này trong một thời gian dài trong dự án pin.
May mắn thay, ESP có thể vào chế độ ngủ sâu. Sau đó, nó tiêu thụ vài micro-amps.
Có thể thực hiện điều đó với các lệnh AT.
Nhưng tôi sẽ thể hiện nó thông qua lập trình arduino.
Đầu tiên, nối WakeUpPin = GPIO16 đến RESET của ESP. Bởi vì khi ESP vào chế độ ngủ sâu, nó sẽ thức dậy bằng cách tự đóng lại thông qua chân GPIO16.
Để vào chế độ DeepSleep, hãy sử dụng mã: ESP.deepSleep (, WAKE_RF_DEFAULT);
tính bằng giây. ESP sẽ ngủ trong uS trước khi gửi lại.
Bước 6: Pure ESP12 - Kết nối nó với máy tính của bạn và sẵn sàng cho các dự án nhúng
Đừng ngại mua mô-đun ESP12 thuần túy. Nó rẻ, nhẹ và nhỏ.
Kết nối nó theo cách tương tự như mô-đun ESP-01, với bộ chuyển đổi Serial-USB.
Đừng quên rằng CH_PD phải ở Vcc.
Sau đó, bạn có thể thực hiện các dự án nhúng, trên pin, với WiFi và bộ điều khiển vi mô mạnh mẽ !!