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ị

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.

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.

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ự.

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.

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. 

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)

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.

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/<Device Id>

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ợ ([email protected])

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é.

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é.

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

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

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

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

Để 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.

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é!

lên
10 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

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Vấn đề của số chấm động và số nguyên trong ngôn ngữ lập trình C++ trên board mạch Arduino

Có bao giờ bạn tự hỏi: "Dự án của mình làm tốt thế này, chạy ngon lành rành rành thế này, chắc không có bugs đâu?". Thực sự, nếu dự án của bạn không có phần xử lý số thực chấm động trong đó thì mình nghĩ phần code của bạn sẽ hoạt động ngon lành theo thời gian. Nhưng mà có số thực thì từ từ, chúng ta cần xét lại code. Trước đây, có một số bạn nhắn tin riêng hỏi mình về code với điểm chung là "code mình chạy ngon lành lúc đầu, sau đó bị lỗi, không rõ nguyên nhân". Loại trừ các phần code logic sai ra, thì hầu hết đều là do lỗi khi xử lý số chấm động mà không quan tâm đến nền tảng lập trình bên dưới! Mà cũng đúng, chúng ta rất dễ bị đánh lừa bởi chính đoạn code chúng ta viết. Vì nó có báo lỗi biên dịch đâu mà, kaka. Qua bài viết này, mình muốn phân tích và cùng các bạn rút kinh nghiệm về số chấm động float, cách hạn chế lỗi sai với số chấm động.

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

Arduino UNO R3 là gì?

Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta thường nói tới chính là dòng Arduino UNO. Hiện dòng mạch này đã phát triển tới thế hệ thứ 3 (R3). Bạn sẽ bắt đầu đến với Arduino qua thứ này. Bạn có thể dùng Arduino Nano cũng được nhưng tôi khuyên bạn nên dùng cái này.

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