Hướng dẫn nạp file binary (.bin) cho ESP8266

Mô tả dự án: 

Đôi khi chúng ta có file nạp cho chip .hex, hoặc các bạn làm xong một dự án trên board Arduino, các bạn không cần bootloader (nhất là chíp Atmega8), và các bạn muốn phát triển trên một bảng mạch riêng thì lúc đó ta sẻ nạp trực tiếp file .hex cho chip, và hôm nay mình sẻ hướng dẩn các bạn nào chưa biết một cách nạp file .hex (firmware) đơn giản và an toàn. Có rất nhiều cách nạp firmware các bạn có thể tìm hiểu trên Internet.

Chuẩn bị phần mềm

Bạn cần tải về phần mềm ESP8266 Flasher. Như vậy là đủ phần mềm để nạp firmware rồi.

  • Đối với Windows x86 (32 bit), bạn tải về tại đây.
  • Đối với Windows x64 (64 bit), bạn tải về tại đây.

Mirror cho hai phiên bản nếu các đường dẫn trên không hoạt động. https://drive.google.com/open?id=1xXH3aMSa1AJEljH2515n7CTkzPNzp_NH

 

Trích xuất file binary

Nếu bạn đã có một file binary rồi thì có thể bỏ qua bước này.

Bạn có thể tải một file binary tại bài viết (Phòng chống) Nghệ thuật hắc ám với ESP8266 - Phần 1: Thích thì phát beacon hoy

Hoặc bạn có thể tự xuất cho mình một chương trình Arduino đơn giản. Trong ví dụ này, tôi sẽ làm đèn TX - GPIO2 (đèn nhỏ nhỏ trên module ESP8266) sáng với hiệu ứng blink.

//Code Arduino cho ESP8266

void setup() {
  pinMode(2, OUTPUT);
}

void loop() {
  digitalWrite(2, HIGH);   
  delay(1000);                    
  digitalWrite(2, LOW); 
  delay(1000);                      
}

Bạn nhấn tổ hợp phím Ctrl + Alt + S để lưu code Arduino thành file .bin. Các bạn có thể xem như trên hình nếu muốn rõ hơn nhé. Sau khi đã biên dịch thành công, sẽ có một file .bin sẽ xuất hiện trong thư mục chứa code.

Đây là file biên dịch (.bin) cho NodeMCU. Đối với board ESP8266v1, bạn cần chỉnh lại thông tin board cho phù hơp. Ví dụ: 

Okay, đến phần nạp code thôi.

Nạp code

Cũng như việc nạp code ESP8266 bình thường, bạn cũng cần chuẩn bị mạch nạp (mạch USB-to-Serial, ví dụ CP210x). Còn đối với các module NodeMCU thì đã có sẵn mạch nạp rồi.

Quy tắc chung khi nạp firmware hay nạp code cho ESP8266 là:

  • ESP8266 sẽ chạy chương trình của bạn nếu cả chân GPIO0 và chân RESET được thả (không bị nhấn).
  • ESP8266 sẽ bị reset khi nút reset được thả.
  • ESP8266 sẽ chấp nhận bị nạp chương trình khi cả chân GPIO0 và chân RESET được nhấn, sau đó thả chân RESET ra. Nói cách khác là khi gắn điện cho ESP8266, bạn phải đưa GPIO xuống LOW.

Như vậy, để nạp code cho ESP8266, bạn cần đưa GPIO xuống LOW sau đó cấp điện (gắn vào máy tính ví dụ thế). Sau đó, mở chương trình ESP8266Flasher nào!

Bạn cần chỉnh các thông số cần thiết như sau:

Chỉnh sửa tab Config để cập nhập đường dẫn đến file binary.

Chỉnh sửa tab Advanced để cập nhật các thông tin về:

  • baudrate nạp code (tùy thuộc và mạch nạp)
  • flash size (NodeMCU: 4MB, ESP8266v1 - 512KB, ESP8266v12 - 4MV, ESP8266v7 - 512KB).
  • flash speed (40mhz hoặc thấp hơn là chắc ăn).
  • SPI Mode chọn DIO.

Quay lại tab Operation bạn nhấn nút Flash và nó hiện ra các địa chỉ MAC như hình dưới là quá trình nạp sẽ diễn ra và thành công, còn lại bạn thử rút mạch nạp ra rồi nối GPIO0 xuống LOW rồi gắn vào máy tính nhé. Cứ lắp lại quy trình là ổn thôi à.

Nó hiển thị như thế này là xong rồi!

Chúc các bạn thành công!

lên
3 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Cánh tay robot 4 bậc tự do - Điều khiển bằng máy tính dùng LABVIEW

Thông qua các phương tiện thông tin trên các diễn đàn Internet và các trung tâm học tập thực hành, cho thấy nhu cầu học tập và nghiên cứu cũng như tự mày mò tìm hiểu về nhiều lĩnh vực trong ngành điện điện tử nói chung và ngành tự động hóa nói riêng là rất cao. Hiện nay trong các nhà máy có các dây chuyền sản xuất, có rất nhiều các tay máy hoạt động. Robot công nghiệp đã có mặt trong sản xuất từ nhiều năm trước, ngày nay robot công nghiệp được dùng ở nhiều lĩnh vực sản xuất. đó là xuất phát từ những ưu điểm mà robot đó đã được chọn và đúc kêt lại trong quá trình sản xuất, robot có những tính năng mà con người không thể có được, khả năng làm việc ổn định,làm việc trong môi trường độc hại. Do đó việc đầu tư nghiên cứu, chế tạo ra những loại robot phục vụ cho công cuộc tự động hóa sản xuất là rất cần thiết cho hiện tại và trong tương lai.

lên
18 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Tạo một quy trình công nghiệp với các bước bằng Arduino - Phần 2: công việc có điều kiện

Ở bài viết trước, mình đã đề cập đến vấn đề là "Làm thế nào để xây dựng một quy trình công nghiệp trên Arduino.VN". Ở bài viết đó, mình đã đề cập đến vấn đề quy trình có điều kiện, và với sự hưởng ứng từ Cộng đồng qua vấn đề làm một máy công nghiệp dùng để sản xuất sản xuất thành phẩm, mình muốn đóng góp một cái gì đó để dự án này hoàn thiện, đó cũng làm một cách để rèn luyện khả năng xử lý vấn đề thông qua mô tả mà không trực tiếp "chạy" máy devil​!

lên
10 thành viên đã đánh giá bài viết này hữu ích.

Tạo một quy trình công nghiệp với các bước bằng Arduino - Phần 3: Giới hạn số lần chạy và kết hợp thư viện bất đồng bộ

Ở trong loạt bài này và một bài viết khác, mình đã đề cập đến vấn đề quy trình Công nghiệp (phần 1phần 2) và vấn đề xử lý bất đồng bộ trên Arduino. Hôm nay, mình muốn phát triển loạt bài này với mục đích, bạn có thể xây dựng một máy công nghiệp với các quy trình tuần tự nhưng có thể can thiệp để dừng ngay được. Ngoài ra, mình còn cập nhập thêm khả năng quy ước trước số lượt chạy của quy trình và một số API khác giúp cho các bạn có thể kết hợp lại 2 thư viện này! Để đọc hiểu, và tiếp cận nhanh bài này, các bạn cần đọc 3 bài viết mà mình có liên kết trong đoạn giới thiệu này.

lên
11 thành viên đã đánh giá bài viết này hữu ích.