Esphome là gì
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 |