Mục lục:
- Quân nhu
- Bước 1: Kết nối dây
- Bước 2: Kiểm tra phiên bản chương trình cơ sở
- Bước 3: Chuẩn bị thiết lập: Trước khi nhấp nháy chương trình cơ sở
- Bước 4: Tải xuống Flashing Tool và Firmware
- Bước 5: Quy trình nhấp nháy
- Bước 6: Thay đổi Tốc độ Baud vĩnh viễn
- Bước 7: Khắc phục sự cố
Video: Khôi phục hoặc nâng cấp chương trình cơ sở trên mô-đun ESP8266 (ESP-01) bằng Arduino UNO: 7 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Mô-đun ESP-01 mà tôi sử dụng ban đầu đi kèm với phần sụn AI Thinker cũ hơn, điều này hạn chế khả năng của nó vì nhiều lệnh AT hữu ích không được hỗ trợ.
Nhìn chung, bạn nên nâng cấp chương trình cơ sở để sửa lỗi và cũng tùy thuộc vào các chức năng cần thiết từ mô-đun ESP, có thể cần một bộ lệnh AT được hỗ trợ hoàn chỉnh hơn. Hướng dẫn này cũng giải thích cách khôi phục hoặc cài đặt chương trình cơ sở Espressif ban đầu nếu bạn tình cờ làm hỏng chương trình cơ sở ESP của mình, chẳng hạn như thông qua một số lệnh AT sai. Đây là những gì đã xảy ra khi tôi cố gắng thay đổi tốc độ truyền mặc định từ 115200 thành 9600. Tôi đã sử dụng lệnh sau (dựa trên tìm kiếm nhanh trên Google):
AT + IPR = 9600
Điều này đã làm hỏng mô-đun ESP-01. Không có lệnh AT nào hoạt động nữa, điều này khiến tôi phải nghiên cứu thêm và sau nhiều giờ, cuối cùng tôi đã tìm ra cách khôi phục ESP-01 của mình và cài đặt phần sụn tương thích mới nhất. Vì vậy, tôi quyết định rằng nó đáng để chia sẻ toàn bộ quá trình.
Thận trọng: Dựa trên kinh nghiệm của tôi, tôi thực sự khuyên bạn không nên sử dụng lệnh AT + IPR để thay đổi tốc độ truyền của bạn vì nó rất có thể sẽ yêu cầu bạn flash lại chương trình cơ sở của mình. Tuy nhiên, có nhiều biến thể khác nhau của mô-đun ESP-01 với kích thước flash khác nhau và phiên bản chương trình cơ sở xuất xưởng, vì vậy trải nghiệm của bạn có thể khác nhau.
Mô-đun ESP-01 không tuân theo chuẩn 5 V và yêu cầu 3,3 V để cấp nguồn cho nó nhưng cũng phải hoạt động bình thường ở mức logic. Để giao tiếp với máy tính, mô-đun cũng cần có bộ chuyển đổi USB sang nối tiếp. Vì vậy, thay vì sử dụng bộ chuyển đổi điện áp và bộ chuyển đổi USB sang nối tiếp, tôi quyết định chọn một giải pháp đơn giản hơn. Vì tôi đã có Arduino UNO, tôi đã sử dụng thứ hai để cấp nguồn cho mô-đun ESP-01 và thiết lập giao tiếp giữa ESP-01 và máy tính, hoạt động hiệu quả như một cầu nối tiếp.
Quân nhu
- Mô-đun ESP-01
- Arduino UNO (với cáp USB)
- Dây Jumper DuPont
- Breadboard
Bước 1: Kết nối dây
Các kết nối dây với mô-đun Arduino UNO và ESP-01 có thể được thực hiện dễ dàng bằng cách sử dụng cáp jumper và bảng mạch. Các kết nối giữa bảng phát triển Arduino và mô-đun ESP được mô tả trong bảng. Các kết nối RX và TX không được đảo ngược trong trường hợp này, vì giao tiếp không xảy ra giữa mô-đun Arduino và ESP mà là giữa ESP và máy tính. Vì vậy, trong trường hợp này, bo mạch Arduino UNO được sử dụng như một cầu nối tiếp thông qua bộ chuyển đổi nối tiếp sang USB trên bo mạch của nó.
Kết nối chân RX giữa bảng Arduino và mô-đun ESP phải được thực hiện thông qua bộ chia điện áp, vì ESP-01 hoạt động trên mức logic 3,3 V và việc nhận mức logic 5 V từ Arduino UNO có thể làm hỏng mô-đun ESP. Bạn có thể xây dựng một bộ chia điện áp 3,3 V đơn giản chỉ sử dụng 2 điện trở như trong hình. Theo tùy chọn, bạn có thể sử dụng bộ chuyển đổi mức logic.
Thận trọng: Đối với thiết lập của tôi, tôi chỉ nối dây trực tiếp các chân RX (không nên!) Và mọi thứ đều hoạt động, nhưng nếu bạn quyết định bỏ qua việc chuyển đổi mức logic, hãy tự chịu rủi ro khi tiến hành!
Để thiết lập kết nối Nối đất chung, chân Nối đất của Arduino UNO được kết nối với chân Nối đất của mô-đun ESP.
Arduino UNO được sử dụng để cung cấp nguồn 3,3 V trực tiếp đến chân VCC của mô-đun ESP. Kết nối chân 3,3 V với bảng mạch bằng dây nhảy, vì chân 3,3 V sẽ không chỉ được sử dụng cho chân VCC của ESP mà còn cả chân CH_PD của ESP để kích hoạt chip ESP.
Chân RESET trên Arduino UNO được kết nối với Ground để bỏ qua bất kỳ mã nào được tải lên qua Arduino để thay vào đó, mã được gửi từ máy tính đến ESP-01.
Hình trong bảng cho thấy toàn bộ các kết nối để nhấp nháy phần sụn nhưng ở giai đoạn này, không kết nối các chân Reset và GPIO_0 của ESP vì chúng ta sẽ chỉ đọc thông tin phần sụn trong bước tiếp theo.
Bước 2: Kiểm tra phiên bản chương trình cơ sở
Để tìm phiên bản chương trình cơ sở ESP-01 của bạn, trong Màn hình nối tiếp Arduino IDE, hãy nhập:
AT + GMR
Lưu ý: Tất cả các lệnh AT cần phải được nhập bằng chữ hoa và không có dấu cách.
Đây là đầu ra nối tiếp cho ESP-01 của tôi (mô-đun ESP của bạn có thể không hiển thị chính xác thông tin giống như nó phụ thuộc vào kiểu máy cụ thể và ngày phát hành):
AT + GMR
Phiên bản AT: 0.25.0.0 (Ngày 5 tháng 6 năm 2015 16:27:16) Phiên bản SDK: 1.1.1 Công ty TNHH Công nghệ Ai-Thinker 23 tháng 6 năm 2015 23:23:50 OK
Bây giờ, để nâng cấp lên chương trình cơ sở Espressif ESP8266EX chính thức mới nhất, hãy truy cập phần tài nguyên trên trang web của nó:
Lưu ý: Danh sách chương trình cơ sở có sẵn có thể không tương thích với kiểu máy ESP-01 của bạn. Kiểm tra phần Khắc phục sự cố ở cuối hướng dẫn này để biết thêm thông tin.
Bước 3: Chuẩn bị thiết lập: Trước khi nhấp nháy chương trình cơ sở
Bây giờ, chúng ta sẽ chuẩn bị Arduino UNO cho quy trình flash firmware ESP-01.
Đảm bảo rằng dây ĐẶT LẠI Arduino được ngắt kết nối khỏi Mặt đất. Ngoài ra, dây TX và RX từ Arduino UNO cần được ngắt kết nối khỏi mô-đun ESP-01.
Mở Arduino IDE và từ menu trên cùng, đi tới Tệp> Ví dụ> 01. Basics> BareMinimum. Tải bản phác thảo lên Arduino UNO. Bản phác thảo trống này sẽ đảm bảo rằng không có nhiễu giao tiếp nào xảy ra với mô-đun ESP.
Kết nối lại cáp RX và TX giữa UNO và ESP-01. Ngoài ra, kết nối chân ĐẶT LẠI của UNO với Nối đất.
Chân CH_PD hoặc CH_EN là viết tắt của 'Chip Power-Down' hoặc 'Chip Enable' và nó cần được kéo CAO hoặc kết nối với 3,3 V để kích hoạt chip ESP.
Cần thêm hai cáp jumper cho các chân ESP sau: GPIO_0 và RESET.
GPIO_2 không được sử dụng và bị ngắt kết nối.
ESP-01 cần được đặt ở chế độ lập trình để có thể tải mã lên nó. Nhưng ESP-01 không có phần cứng bổ sung cần thiết trên bo mạch để đạt được điều này một cách trực tiếp, vì vậy tất cả đều cần được kết nối riêng. Đối với mục đích sử dụng của riêng tôi, tôi không bận tâm đến việc sử dụng các công tắc, mà thay vào đó chỉ cần sử dụng hai cáp jumper nam-nữ được kết nối với các chân GPIO_0 và RESET của mô-đun ESP-01 và cắm chúng vào các chân Nối đất chung của bảng mạch từ Mặt đất của Arduino UNO.
Trước khi bắt đầu quy trình nhấp nháy, GPIO_0 được kết nối với Ground cho toàn bộ quy trình nhấp nháy để bật chế độ lập trình.
Chân ĐẶT LẠI được kết nối với Nối đất trong một giây và sau đó được tháo ra. Điều này cho phép phần sụn mới được tải lên.
Bước 4: Tải xuống Flashing Tool và Firmware
Phần sụn được sử dụng là từ Espressif, nhà sản xuất ban đầu của chip ESP8266.
Truy cập: https://www.espressif.com/en/products/hardware/esp8266ex/resources để truy cập các công cụ chính thức và tệp phần sụn AT.
Trong tab 'Công cụ', hãy tải xuống Công cụ tải xuống Flash (ESP8266 & ESP32), công cụ mới nhất hiện tại là V3.6.8.
Trong tab 'AT', tải xuống chương trình cơ sở AT tương thích mới nhất, là ESP8266 AT Bin V1.6.2 cho kiểu máy ESP-01 của tôi. Nó phụ thuộc vào kiểu ESP-01 vì nó có thể có kích thước bộ nhớ flash khác nhau. Bạn sẽ tìm thấy thêm thông tin về điều này trong phần THÔNG TIN PHÁT HIỆN của chương trình Công cụ Tải xuống Flash sau khi nhấp vào BẮT ĐẦU để bắt đầu quy trình nhấp nháy. Vì vậy, nếu bạn không chắc chắn về kích thước flash hoặc các tệp phần sụn cần chọn, chỉ cần chạy chương trình để nhận thông tin chính xác về mô-đun ESP của bạn.
Sau khi nhấp nháy, bạn có thể sử dụng các lệnh AT để kiểm tra và làm việc với ESP-01. Tải xuống bộ hướng dẫn chính thức của ESP8266 AT:
Bước 5: Quy trình nhấp nháy
Giải nén tệp zip của Công cụ tải xuống Flash và mở tệp exe. Đảm bảo chạy nó với tư cách quản trị viên nếu bạn đang sử dụng Windows. Đầu tiên, một cửa sổ DOS sẽ mở ra, sau đó là một cửa sổ bật lên. Chọn Công cụ tải xuống ESP8266. Thao tác này sẽ mở ra một cửa sổ với một số tùy chọn có thể định cấu hình.
Ở giai đoạn này, hãy tham khảo ảnh chụp màn hình để biết chính xác những tùy chọn cần chọn và những gì cần nhập vào các hộp mã hex bên cạnh mỗi tệp phần sụn đã chọn.
Lưu ý: Chọn các tệp phần sụn theo cùng một thứ tự vì quy trình flash được thực hiện tuần tự. Tệp blank.bin cần được chọn ba lần như được hiển thị trong ảnh chụp màn hình tập lệnh AT.
Để tìm các mã hoặc địa chỉ hex chính xác, hãy kiểm tra tài liệu tập hợp hướng dẫn AT chính thức. Tôi đã đính kèm ảnh chụp màn hình của bảng mà tôi đã sử dụng để nhấp nháy mô-đun ESP của mình.
Sau đó, chỉ cần nhấn vào nút START và xem điều kỳ diệu xảy ra. Văn bản nút sẽ hiển thị SYNC và phần THÔNG TIN ĐÃ PHÁT HIỆN sẽ hiển thị thông số kỹ thuật của mô-đun ESP của bạn. Sau đó, văn bản sẽ hiển thị TẢI XUỐNG và thanh tiến trình sẽ kích hoạt khi các tệp phần sụn được tải lên bộ nhớ flash ESP. Sau khi thực hiện xong quy trình cài đặt chương trình cơ sở, bạn sẽ thấy: FINISH.
Đóng chương trình Công cụ tải xuống Flash. Điều này là cần thiết để giải phóng cổng nối tiếp để cho phép Arduino IDE Serial Monitor tiếp quản.
Ngắt kết nối chân ESP GPIO_0 khỏi kết nối Mặt đất. Điều này sẽ tắt chế độ lập trình.
Kết nối RESET với Ground trong 1 giây rồi ngắt kết nối. Điều này sẽ đặt lại mô-đun.
Mở Arduino IDE. Từ menu trên cùng, chọn Công cụ> Cổng> chọn đúng cổng COM. Mở Serial Monitor và chọn "Cả NL & CR" và chọn tốc độ truyền 115200 là tốc độ mặc định.
Kiểu:
TẠI
Nếu quy trình nhấp nháy diễn ra chính xác, phản hồi sẽ là:
VÂNG
Để xác minh chương trình cơ sở mới của bạn, hãy nhập:
AT + GMR
Đây là đầu ra Serial Monitor cho ESP-01 của tôi:
AT + GMR
Phiên bản AT: 1.6.2.0 (11:10:59 ngày 13 tháng 4 năm 2018) Phiên bản SDK: 2.2.1 (6ab97e9) Thời gian biên dịch: ngày 7 tháng 6 năm 2018 19:34:26 Phiên bản thùng rác (Wroom 02): 1.6.2 OK
Bước 6: Thay đổi Tốc độ Baud vĩnh viễn
Phần này là tùy chọn. Tốc độ truyền mặc định là 115200 nhưng nếu bạn muốn thay đổi nó thành tốc độ truyền khác, thì bạn chỉ cần gõ lệnh sau vào Arduino Serial Monitor.
Ví dụ, nếu bạn muốn thay đổi tốc độ 9600 baud / 8 bit dữ liệu / 1 bit dừng / không có bit chẵn lẻ / không có điều khiển luồng.
Gõ vào:
AT + UART_DEF = 9600, 8, 1, 0, 0
Câu trả lời phải là:
VÂNG
Lệnh trên thay đổi tốc độ truyền vĩnh viễn thành 9600 nhưng bạn có thể chọn bất kỳ tốc độ truyền tiêu chuẩn nào.
Bước 7: Khắc phục sự cố
Nếu có bất kỳ sự bất thường nào sau khi cài đặt thành công chương trình cơ sở, ví dụ: trong Màn hình nối tiếp, sau khi bạn chọn tốc độ truyền mặc định là 115200 và nhập: AT nhưng không thấy bất kỳ phản hồi nào hoặc nếu bạn nhập AT + GMR và nhận được một số khác loại thông tin khác với thông tin về phiên bản chương trình cơ sở, thì bạn có thể đã cài đặt chương trình cơ sở sai. Trong trường hợp đó, trong chương trình Công cụ tải xuống Flash, sau khi bạn nhấn nút BẮT ĐẦU để bắt đầu quy trình nhấp nháy chương trình cơ sở, nút màu xanh lá cây trạng thái đọc SYNC và đó là giai đoạn mà thông tin mô-đun ESP được trích xuất và có sẵn trong THÔNG TIN ĐÃ PHÁT HIỆN. Thông tin này rất quan trọng để xác định chương trình cơ sở phù hợp và các tệp chính xác để flash.
Sau đây là dành cho mô-đun ESP-01 của tôi:
nhà cung cấp flash:
E0h: N / A flash devID: 4014h QUAD; 8Mbit crystal: 26 Mhz
THÔNG TIN PHÁT HIỆN của bạn sẽ phụ thuộc vào kiểu máy ESP-01. Nhưng điều này sẽ cho phép bạn suy ra kích thước đèn flash chính xác. Trong ESP của tôi, nó là 8Mbit tương đương với 1 MB. Vì vậy, điều này có nghĩa là tôi nên chọn 512 KB + 512 KB từ các tệp phần sụn. Và điều này cũng có nghĩa là phần sụn 1.7.0 hoặc 1.7.1 sẽ không hoạt động bình thường đối với mô-đun ESP của tôi, điều này tôi cũng đã xác nhận bằng cách nhấp nháy các chương trình cơ sở này và thử nghiệm. Ngoài ra, trong phần mô tả phần sụn 1.7.0 và 1.7.1 trên trang web tài nguyên Espressif chính thức, thông tin sau được liệt kê: "Bị giới hạn bởi kích thước của tệp bin AT, chỉ có` 1024 + 1024 flash map` được hỗ trợ bởi vỡ nợ." 1024 + 1024 có nghĩa là nó dành cho mô-đun ESP có tổng kích thước flash là 2048 KB hoặc 2 MB.
Lưu ý: Trong trường hợp bạn phân vân, bạn có thể hạ cấp hoặc nâng cấp giữa các phiên bản phần sụn khác nhau mà không có bất kỳ hạn chế nào. Nếu có vấn đề gì xảy ra, bạn có thể flash lại với các thông số khác hoặc thử một chương trình cơ sở khác.
Đề xuất:
Nâng cấp Khởi chạy không gian của bạn bằng nút Giai đoạn Vật lý cho Chương trình Không gian Kerbal: 6 bước
Nâng cấp Khởi chạy Không gian của Bạn bằng Nút Giai đoạn Vật lý cho Chương trình Không gian Kerbal: Gần đây, tôi đã chọn phiên bản demo của Chương trình Không gian Kerbal. Kerbal Space Program là một trò chơi giả lập cho phép bạn thiết kế và phóng tên lửa và điều hướng chúng đến các mặt trăng và hành tinh xa xôi. Tôi vẫn đang cố gắng hạ cánh thành công lên mặt trăng (o
Khôi phục ánh sáng sân vườn bằng năng lượng mặt trời: 7 bước
Phục hồi ánh sáng sân vườn bằng năng lượng mặt trời Mains Powered: Điều này thực sự tiếp nối từ một số dự án cung cấp điện chính trước đây của tôi nhưng có liên quan chặt chẽ đến LED Teardown đã được ghi nhận trước đó. năng lượng mặt trời
Cách tải chương trình hoặc mã vào Arduino Pro Mini bằng cách sử dụng cáp chuyển đổi nối tiếp CH340 UART: 4 bước
Cách tải chương trình hoặc mã vào Arduino Pro Mini bằng cách sử dụng cáp chuyển đổi nối tiếp CH340 UART: Cáp USB TTL Serial là một loạt cáp chuyển đổi USB sang nối tiếp cung cấp kết nối giữa giao diện USB và giao diện UART nối tiếp. Một loạt các loại cáp có sẵn cung cấp kết nối ở 5 volt, 3,3 volt hoặc mức tín hiệu do người dùng chỉ định wi
Cách nâng cấp chương trình cơ sở trên một PCB phổ thông: 4 bước
Cách nâng cấp Firmware trên Universal PCB: Dự án Universal PCB (viết tắt là UPCB) được bắt đầu cho phép một bộ điều khiển trò chơi duy nhất, đặc biệt là gậy đánh nhau, trên nhiều bảng điều khiển khác nhau nhất có thể. Thông tin về dự án có thể được tìm thấy trên chủ đề sau trong Shoryuken.com
Hướng dẫn lập trình thú vị cho nhà thiết kế - Kiểm soát quy trình chương trình- Tuyên bố vòng lặp: 8 bước
Hướng dẫn lập trình thú vị cho nhà thiết kế - Điều khiển quy trình chương trình- Tuyên bố vòng lặp: Điều khiển quy trình chương trình- Tuyên bố vòng lặp Từ chương này, bạn sẽ tiếp xúc với một điểm kiến thức quan trọng và mạnh mẽ - Câu lệnh vòng lặp. Trước khi đọc chương này, nếu bạn muốn vẽ 10.000 vòng tròn trong chương trình, bạn chỉ có thể thực hiện với một