Hướng dẫn nạp firmware cho ESP8266
Show
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ị
2. Tiến hành https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers ESP thường sử dụng chip CP2102 để giao tiếp PC.
Mình dùng: cd C:\Python27\Scripts pip install esptool Nếu chạy command trên không được thì bạn có thể thử: pip2 install esptool
esptool.py --chip esp32 --port – Với esp8266 thì đổi esp32 thành esp8266 – – 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
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).
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. Chúc bạn thành công! Tấn Lĩnh – Wiki
ksp gửi vào Thứ bảy, 13 Tháng 12, 2014 - 21:33
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
ksp gửi vào Thứ tư, 4 Tháng 6, 2014 - 10:39 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ị iNutBạn có một DỰ ÁN hay giống thế này? Chia sẻ nhé! ksp gửi vào Chủ nhật, 3 Tháng 6, 2018 - 08:30
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:
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 firmwareVớ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 firmwareBướ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.
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ôngKhi 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 iNutBạ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é! 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
Đăng nhập
Tên người dùng * Mật khẩu *
Đăng nhập bằng Facebook Connect Mã kiểm traVui lòng nhập vào mã kiểm tra ở ô bên cạnh
Chia sẻ tình yêu vớiArduino
Bình luận gần đây
Bài đọc nhiều
mã số thuế |