Hướng dẫn nạp firmware cho ESP8266

Hướng dẫn nạp firmware cho ESP8266

     Như đã biết để lập trình hay nạp code (firmware) cho ESP thì chúng ta hay sử dụng IDE Arduino, nó vừa có thể lập trình, biên dịch (compile) hay nạp code (upload) xuống Kit ESP. Tuy nhiên nếu 1 ngày 1 người bạn của bạn hay người lạ gửi cho bạn chỉ có file code đã được biên dịch (file .bin or .hex, mà với esp thì biên dịch là ra file .bin) để nạp cho ESP. Thì lúc này chúng ta sẽ nạp file .bin đó vào ESP bằng cách như thế nào, đó chính là nội dung của bài chia sẻ này. Mình sẽ hướng dẫn các bạn dùng tool, kết hợp vài lệnh command line là có thể nạp file .bin xuống ESP.

1. Chuẩn bị

  • Kit esp32 hoặc esp8266 (Mình dùng thử với esp32).
  • 1 file code firmware để nạp (file .bin).
  • Python 2.7 (Dùng version 2.7 nhé, dùng version 3.x là không được đâu).

2. Tiến hành

https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

Hướng dẫn nạp firmware cho ESP8266

ESP thường sử dụng chip CP2102 để giao tiếp PC.

  • Để biên dịch code trên IDE Arduino có thể xuất ra file .bin thì làm theo hướng dẫn:
    • Vào preferences của IDE tích chọn Compilation

Hướng dẫn nạp firmware cho ESP8266

  • Khi biên dịch code nó sẽ tạo file .bin theo đường dẫn, để xem đường dẫn đó thì xem trong phần log
    Hướng dẫn nạp firmware cho ESP8266
  • Vào Run của window chạy cmd.
  • Chuyển địa chỉ hiện thời theo địa chỉ cài đặt python trong máy của bạn.

Mình dùng: cd C:\Python27\Scripts

Hướng dẫn nạp firmware cho ESP8266

           pip install esptool

         Nếu chạy command trên không được thì bạn có thể thử: pip2 install esptool

Hướng dẫn nạp firmware cho ESP8266

  • Nạp firmware cho esp32 bằng lệnh:

        esptool.py --chip esp32 --port write_flash -z 0x10000

         – Với esp8266 thì đổi esp32 thành esp8266

        – là cổng COM của esp, vd: COM1, COM2….

        – là địa chỉ file .bin firmware cần nạp.

Ví dụ: esptool.py –chip esp32 –port COM3 write_flash -z 0x10000    C:\Users\Wiki\AppData\Local\Temp\arduino_build_500706 \ sketch_jun08a.ino.bin

 

Hướng dẫn nạp firmware cho ESP8266

Chú ý: Bạn nên để ý địa chỉ ghi vào flash cho đúng, với esp của mình mình thấy nó nạp firmware từ địa chỉ 0x10000 nên mình dùng địa chỉ này, nếu bạn ghi sai địa chỉ flash, thì esp sẽ reset liên tục, không chạy được. Kinh nghiệm để mình biết địa chỉ ghi này thì mình dùng IDE arduino mình nạp 1 code chạy trước, để biết cái địa chỉ này (Như ảnh bên dưới).

Hướng dẫn nạp firmware cho ESP8266

  • Như vậy là đã nạp firmware xong. Bạn check lại thử nhé.

3. Kết luận

     Tuy cách trên ít sử dụng tới, bởi đa số các bạn đều làm ở dạng code trực tiếp trên IDE rồi nạp luôn, hay có sẵn sourcecode. Chứ hiếm khi chỉ có file .bin để nạp thôi, thường cái này sẽ ở mức độ bảo mật, người khác không muốn chia sẻ sourcecode mà chỉ chia sẻ file bin để nạp. Nhưng cũng có khi loại kiểu này dành cho các bạn không chuyên, không code, không biết sử dụng IDE Arduino mà chỉ cần nạp firmware về để chạy esp, làm các ứng dụng IoT vui vui. Hy vọng bài chia sẻ trên sẽ giúp ích cho những ai đang cần.
Xem thêm:  Tổng hợp hướng dẫn Internet of Things với NodeMCU ESP8266 và ESP32

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

Tấn Lĩnh – Wiki

Ngôn ngữ lập trình Arduino được xây dựng dựa trên ngôn ngữ C, điều đó có nghĩa là bạn có thể sử dụng các thư viện của ngôn ngữ C một cách dễ dàng cho việc lập trình. Trong đó có thư viện string.h để làm việc với chuỗi. Ngoải ra, Arduino còn hỗ trợ cả đối tượng  String của C++. Hãy khám phá ngay!

Rate node

Hôm nay chúng sẽ tìm hiểu cách sử dụng các chân digital để xuất giá trị analog và ứng dụng chúng trong việc làm thay đổi độ sáng của đèn (làm mờ đèn) nhé!

Bạn cần xem các bài viết về xung PWM và analogWrite() để mau chóng hiểu rõ những đoạn code trong bài học này! Đừng ngại, hãy kiên trì nhé!

Rate node

Hướng dẫn nạp firmware mới hoặc tự cập nhật firmware cho các thiết bị iNut

Mô tả dự án:

Bạn muốn cập nhật firmware cho các thiết bị ESP8266 trong các thiết bị iNut nhưng chưa biết bắt đầu tư đâu? Bạn muốn nạp một firmware khác cho thiết bị iNut để có thể tận dụng phần cứng chất lượng và linh kiện đạt chuẩn CE, FCC của iNut? Đây là bài viết bỏ túi dành cho bạn để bạn giải quyết được vấn đề trên.

Tại sao bạn lại cần đọc bài này?

Bạn muốn cập nhật firmware cho các thiết bị ESP8266 trong các thiết bị iNut nhưng chưa biết bắt đầu tư đâu? Bạn muốn nạp một firmware khác cho thiết bị iNut để có thể tận dụng phần cứng chất lượng và linh kiện đạt chuẩn CE, FCC của iNut? Đây là bài viết bỏ túi dành cho bạn để bạn giải quyết được vấn đề trên.

Bài viết này phù hợp cho tất cả các dòng thiết bị của iNut từ iNut i1 đời đầu cho đến iNut PLC (mới nhất hiện nay tháng 6/2018).

Sơ lược về các vật dụng và phần mềm bạn cần chuẩn bị

Hướng dẫn nạp firmware cho ESP8266

Về phần cứng, bạn cần chuẩn một thiết bị iNut, ở đây mình ví dụ với iNut i3 (iNut i1 tương tự). Đối với bản iNut khác sẽ có sự khác nhau một chút xíu nhưng về căn bản cách nạp firmware cũng chỉ có 3 bước như nhau:

Để có thể ghi firmware vào esp8266, bạn cần tải về 02 phần mềm sau:

  1. Arduino(để tự cài đặt các driver cần thiết)
  2. ESP8266 Flasher(để nạp firmware)
  3. Putty (để kiểm tra bạn đã nối đúng dây hay chưa?)

hoặc các bạn có thể tìm bản dự phòngở đây

Ngoài ra, bạn cùng chuẩn bị thêm một mạch Usb TTL. Và mình khuyên bạn nên mua loại chuyên dụng nạp cho ESP8266 như hình dưới. Đây là thiết bị rẻ nhất nhưng được việc nhất.

Hướng dẫn nạp firmware cho ESP8266

Chuẩn bị trước khi nạp firmware

Với việc sử dụng các linh kiện có chất lượng tốt nhất. Trong đó lựa chọn nguyên vật liệu làm "cơ thể" cho mạch thuộc loại tốt nhất trong các sản phẩm tầm giá. Đó là sử dụng nguồn Hi-link đã được bọc gói kĩ càng và nhập trực tiếp từ nhà máy còn nguyên tem QC. Tiếp đến là các relay 2 tiếp điểm đảm bảo việc ngắt kết nối điện là 100% trách giựt điện và không cần phân biệt nóng lạnh.

Hướng dẫn nạp firmware cho ESP8266

Module wifi ESP8266 là bộ não chứa linh hồn (firmware) mà chúng ta cần làm việc, bộ não được ra chân rất tiện 3V TX RX GND rõ ràng. Rất dễ cho các bạn tìm. Đối với mạch iNut DOOR 2017 thì dùng phiên bản ESPv1 cũng có 4 chân tương tự.

Hướng dẫn nạp firmware cho ESP8266

Bạn cần nối 4 dây giữa module ESP8266 và usb ttl. Cụ thể là GND-GND, Rx-Rx, Tx-Tx, 3v - 3v (VCC). Sơ đồ của USB TTL bạn có thể xem như hình dưới.

Hướng dẫn nạp firmware cho ESP8266

Cùng với đó, bạn cần tìm một phím nho nhỏ gọi là FLASH (GPIO0) để nạp firmware. Thông thường với iNut i1, i3 thì nó nằm phía sau module ESP8266. Với F4, nó nằm dưới mạch, với iNut Door 2017 thì nó là button duy nhất trên mạch,... Thông thường nó sẽ có ký hiệu là FLASH, S1, RESET (tùy phiên bản iNut sẽ có tên khác nhau). Tuy nhiên, nếu bạn không tìm thấy thì cũng không sao. Bản chất nút đó sẽ nối 2 tiếp điểm như hình.

Hướng dẫn nạp firmware cho ESP8266

Bạn có thể dùng một cái nhíp như hình nối hai tiếp điểm lại với nhau để tiện cho việc nạp firmware. (Chỉ khi nạp firmware thì mới nối 2 tiếp điểm này với nhau)

Hướng dẫn nạp firmware cho ESP8266

Okay, vậy là đã rõ, tiến hành các bước nạp firmware thôi!

Các bước nạp firmware

Bước 1: Tải firmware

Để tải firmware, bạn cần có device id (hoặc bạn có thể gọi là firmware id). Firmware Id các bạn có thể tìm thấy dễ dàng trong mục cài đặt.

Hướng dẫn nạp firmware cho ESP8266

Device id = "Mã thiết bị" = BJqmbS9_z (trong trường hợp này)

Bằng việc thay thế cú pháp sau bằng Device Id thì bạn có thể tải về firmware mà bạn cần.

http://firmware.mysystemservice.com/node/firmware/

Ví dụhttp://firmware.mysystemservice.com/node/firmware/BJqmbS9_z (404 not found - vì khách hàng đã yêu cầu xóa)

Nếu bạn bị 404, hãy liên hệ với MySmarthome.com.vn để được hỗ trợ ()

Okay, chúng ta đã tải về được một tệp firmware khi qua bước này.

Bước 2: Tìm cổng COM và xác nhận kết nối dây tành công

Khi gắn usb ttl vào máy tính, bạn sẽ có một cổng COM để giao tiếp với mạch đó. Để biết được địa chỉ cổng COM, bạn làm như hình nhé.

Hướng dẫn nạp firmware cho ESP8266

Hướng dẫn nạp firmware cho ESP8266

Trong trường hợp này, đó là COM13.

Sau khi đã kết nối GND-GND, RX-RX, TX-TX, 3v3-3v3 (VCC) thì bạn cần kiểm tra xem kết nối đã ổn hay chưa? Thì bạn hãy mở putty lên với thông số là cổng COM và baudrate là 115200. Ấn enter và nếu khi bạn "rung lắc" mạch USB TTL và ESP8266 mà nó hiện ra một dòng nhảy chữ là ổn nhé.

Hướng dẫn nạp firmware cho ESP8266

Hướng dẫn nạp firmware cho ESP8266

Bước 3: Nạp firmware cho iNut

Bạn mở NodeMCU flasher lên và cài các thông số sau:

Hướng dẫn nạp firmware cho ESP8266

Đối với iNut Door 2017 thì bạn thanh 4MB thành 512 KBytes nhé

Hướng dẫn nạp firmware cho ESP8266

Bạn đổi đến tệp firmware bạn đã tải ở bước 1

Hướng dẫn nạp firmware cho ESP8266

Để nạp firmware cho iNut, bạn cần ấn giữ nút FLASH (hoặc là S1 hoặc là RESET hoặc dùng cái nhíp giữ như hình ở mục trước - tùy board). Sau đó mới gắn điện Usb ttl vào máy tính.

Sau đóBạn chọn đúng COM và nhấn nút FLASH. Nếu nó chạy như hình dưới thì quá trình nạp code đang diễn ra, nếu nó không diễn ra như hình dưới này thì bạn vui lòng nhán giữ nút FLASH và thực hiện lại từ đoạn hướng dẫn trên.

Hướng dẫn nạp firmware cho ESP8266

Chúc bạn thành công, có thắc mắc cứ đặt câu hỏi phía dưới bạn nhé!

Rate node

lên

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

Từ khóa:

inut

inut plc

inut i3

inut i1

cài đặt inut

nạp firmware inut

Chuyên mục:

Làm dự án Internet of Things

Liên hệ Mr. Khánh 097.276.8491 để được tư vấn triển khai các dự án IoT

Liên hệ Mr. Đạt ZN 037.3998.468 tư vấn đồ án môn học

Liên hệ Mr. Thân 097.111.3732 để tư vấn thiết kế PCB chất lượng cao 2-40 lớp

Cộng đồng Arduino Việt Nam

Cộng đồng Intel Galileo Việt Nam

Cộng đồng Raspberry Pi Việt Nam

Đăng nhập

Tên người dùng *

Mật khẩu *

  • Tạo tài khoản mới
  • Yêu cầu mật khẩu mới

Đăng nhập bằng Facebook Connect

Mã kiểm tra

Vui lòng nhập vào mã kiểm tra ở ô bên cạnh

Chia sẻ tình yêu với

Hướng dẫn nạp firmware cho ESP8266
Arduino
Hướng dẫn nạp firmware cho ESP8266

Bình luận gần đây

Bài đọc nhiều

mã số thuế