# Cài đặt phần mềm Thonny

### 1. [Tải xuống và cài đặt Thonny](/huong-dan-phan-mem/cai-dat-phan-mem-thonny.md) <a href="#yi-xia-zai-an-zhuang-thonny" id="yi-xia-zai-an-zhuang-thonny"></a>

***

Thonny là một nền tảng phần mềm mã nguồn mở miễn phí có kích thước nhỏ, giao diện đơn giản, dễ vận hành và nhiều chức năng. Đây là một IDE Python phù hợp cho người mới bắt đầu. Trong hướng dẫn này, chúng tôi sử dụng Thonny IDE để phát triển ESP32 trong suốt quá trình thực nghiệm. Thonny hỗ trợ nhiều hệ điều hành, bao gồm Windows, Mac OS và Linux.

#### 1.1 Cửa sổ <a href="#id-11windows-xi-tong" id="id-11windows-xi-tong"></a>

(1) Tải phần mềm và chia sẻ thư viện mã nguồn mở

* Cơ sở mã nguồn mở của Thonny
* [Trang web chính thức của phần mềm Thonny](https://thonny.org/) (vui lòng chọn tùy chọn tương ứng để tải xuống và cài đặt theo hệ điều hành của bạn)

  Sau khi tải xuống, chạm chuột vào khu vực được chỉ định bởi mũi tên trong hình bên dưới, lựa chọn phiên bản tải xuống Windows chính thức sẽ xuất hiện. Vui lòng chọn phiên bản tương ứng để tải xuống theo hệ điều hành của bạn. Tốt nhất là bạn nên tải xuống phiên bản mới nhất, nếu không phiên bản mới nhất có thể không hỗ trợ ESP32.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image7.jpeg" alt=""><figcaption></figcaption></figure>

(2) Sau khi tải xuống hoàn tất, nhấp đúp vào "thonny-4.0.2.exe" bằng nút chuột trái. Hộp thoại "Chọn chế độ cài đặt thiết lập" xuất hiện, chọn "Cài đặt cho tất cả người dùng". Bạn cũng có thể chọn " **Chỉ cài đặt cho tôi** ".

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image9.jpeg" alt=""><figcaption></figcaption></figure>

(3) Nếu bạn không quen với việc cài đặt phần mềm máy tính, bạn có thể tiếp tục nhấp vào " **Tiếp theo** " cho đến khi quá trình cài đặt hoàn tất.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image10.jpeg" alt=""><figcaption></figcaption></figure>

(4) Đường dẫn cài đặt phần mềm Thonny. Tiếp tục bước tiếp theo với đường dẫn cài đặt mặc định này và nhấp vào " **Tiếp theo** ". Nếu bạn muốn chọn một thư mục khác, hãy nhấp vào \*\*Duyệt...\*\* để sửa đổi.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image11.jpeg" alt=""><figcaption></figcaption></figure>

(5) Chương trình sẽ tạo một phím tắt đến chương trình trong thư mục Start Menu bên dưới. Tiếp tục bước tiếp theo theo mặc định và nhấp vào " **Tiếp theo** ". Nếu bạn muốn chọn một thư mục khác, hãy nhấp vào \*\*Duyệt...\*\*.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image12.jpeg" alt=""><figcaption></figcaption></figure>

(6) Chọn “ **Tạo biểu tượng trên màn hình** ” để tạo lối tắt trên màn hình.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image13.jpeg" alt=""><figcaption></figcaption></figure>

(7) Nhấp vào “ **Cài đặt** ” để cài đặt phần mềm. Chờ quá trình cài đặt thành công.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image14.jpeg" alt=""><figcaption></figcaption></figure>

(8) Sau khi cài đặt xong, nhấp vào “ **Finish** ” để kết thúc cài đặt.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image15.jpeg" alt=""><figcaption></figcaption></figure>

#### 1.2 Máy Mac <a href="#id-12mac-xi-tong" id="id-12mac-xi-tong"></a>

Khi chuột chạm vào mũi tên trong hình bên dưới, phiên bản tải xuống chính thức của MacOS sẽ xuất hiện. Vui lòng chọn phiên bản tương ứng để tải xuống theo hệ điều hành của bạn. Tốt nhất là bạn nên tải xuống phiên bản mới nhất, nếu không phiên bản mới nhất có thể không hỗ trợ ESP32.

Vui lòng tham khảo **phần 1.1** để biết các bước cài đặt .

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image16.jpeg" alt=""><figcaption></figcaption></figure>

### 2. Cấu hình cơ bản và giới thiệu phần mềm Thonny <a href="#er-thonny-ruan-jian-ji-ben-pei-zhi-yu-jie-shao" id="er-thonny-ruan-jian-ji-ben-pei-zhi-yu-jie-shao"></a>

#### 2.1 Cấu hình cơ bản của phần mềm Thonny <a href="#id-21thonny-ruan-jian-ji-ben-pei-zhi" id="id-21thonny-ruan-jian-ji-ben-pei-zhi"></a>

(1) Nhấp đúp vào biểu tượng phần mềm Thonny trên màn hình nền. Giao diện lựa chọn ngôn ngữ và cài đặt ban đầu sẽ xuất hiện.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image19.jpeg" alt=""><figcaption></figcaption></figure>

Đối với Ngôn ngữ, chọn “ **Tiếng Trung giản thể** ”. Sau đó nhấp vào "\*\*Bắt đầu thôi!\*\*" để hoàn tất thiết lập.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image20.jpeg" alt=""><figcaption></figcaption></figure>

(2) Nhấp vào " **View** " và kiểm tra " **Shell** " và "File"

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image22.jpeg" alt=""><figcaption></figcaption></figure>

#### 2.2 Giới thiệu về Thonny Software <a href="#id-22thonny-ruan-jian-de-jie-shao" id="id-22thonny-ruan-jian-de-jie-shao"></a>

#### (1) Giới thiệu thanh công cụ <a href="#id-1-gong-ju-lan-jie-shao" id="id-1-gong-ju-lan-jie-shao"></a>

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image23.jpeg" alt=""><figcaption></figcaption></figure>

| Cái nút                                                                                                | Chức năng                             |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------- |
| ![hình ảnh24](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image24.jpeg) | Mới                                   |
| ![hình ảnh25](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image25.jpeg) | Mở                                    |
| ![hình ảnh26](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image26.jpeg) | cứu                                   |
| ![hình ảnh27](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image27.jpeg) | Chạy tập lệnh hiện tại                |
| ![hình ảnh28](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image28.jpeg) | Gỡ lỗi tập lệnh hiện tại              |
| ![hình ảnh29](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image29.jpeg) | Đi bộ qua                             |
| ![hình ảnh30](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image30.jpeg) | Bước đi                               |
| ![hình ảnh31](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image31.jpeg) | Bước ra ngoài                         |
| ![hình ảnh32](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image32.jpeg) | Tiếp tục thực hiện                    |
| ![hình ảnh33](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image33.jpeg) | Dừng/khởi động lại tiến trình phụ trợ |

#### [(2) Giới thiệu giao diện](https://emakefun.github.io/emakefun-docsify/#/zh-cn/software/thonny/thonny.zh-CN?id=%ef%bc%882%ef%bc%89%e7%95%8c%e9%9d%a2%e4%bb%8b%e7%bb%8d) <a href="#id-2-jie-mian-jie-shao" id="id-2-jie-mian-jie-shao"></a>

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image34.jpeg" alt=""><figcaption></figcaption></figure>

### 3. Cài đặt trình điều khiển <a href="#san-an-zhuang-qu-dong" id="san-an-zhuang-qu-dong"></a>

Tham khảo [tài liệu trình](/arduino-products/huong-dan-ban-dau-arduino-ide/cai-dat-driver-ch340-tren-mac-os.md) điều khiển CH340 để cài đặt.

### [4. Ghi firmware](https://emakefun.github.io/emakefun-docsify/#/zh-cn/software/thonny/thonny.zh-CN?id=%e5%9b%9b%e3%80%81%e7%83%a7%e5%bd%95%e5%9b%ba%e4%bb%b6) <a href="#si-shao-lu-gu-jian" id="si-shao-lu-gu-jian"></a>

Để chạy chương trình Python trên bo mạch ESP32, trước tiên chúng ta cần ghi chương trình cơ sở vào bo mạch ESP32.

#### 4.1 Tải xuống chương trình cơ sở Micropython <a href="#id-41-xia-zai-micropython-gu-jian" id="id-41-xia-zai-micropython-gu-jian"></a>

* [trang web chính thức của microPython](http://micropython.org/)
* [Phần mềm cơ sở ESP32 cho microPython](https://micropython.org/download/esp32/) Mở trang web phần mềm cơ sở ESP32 cho microPython và tải xuống phần mềm cơ sở.

  **Lưu ý: Hướng dẫn này sử dụng phần mềm V1.20.0 của trang web chính thức làm ví dụ. Hiện tại, phần mềm đã được cập nhật lên phiên bản "ESP32\_GENERIC-20231005-v1.21.0", bổ sung chức năng tải xuống Bluetooth. Phần mềm được cập nhật sau đó được ghi theo cùng một cách! ! !**

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image48.jpeg" alt=""><figcaption></figcaption></figure>

Phần mềm cơ sở được sử dụng trong hướng dẫn này là: **esp32-20230426-v1.20.0.bin** . Phiên bản phần mềm này cũng được cung cấp trong tài liệu của chúng tôi. Đường dẫn như trong hình bên dưới. Chúng tôi cũng **khuyên bạn nên sử dụng phiên bản phần mềm V1.21** .

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image49.jpeg" alt=""><figcaption></figcaption></figure>

#### 4.2 Ghi chương trình cơ sở Micropython (minh họa với Board esp32)  <a href="#id-42-shao-lu-micropython-gu-jian" id="id-42-shao-lu-micropython-gu-jian"></a>

(1) Kết nối bo mạch chủ ESP32 với máy tính thông qua cáp Type-C.

![hình ảnh50](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image50.jpeg)

(2) Đảm bảo trình điều khiển đã được cài đặt thành công và có thể xác định đúng cổng COM. Mở Trình quản lý thiết bị và mở rộng Cổng. (Số cổng không cố định ở COM6, nó có thể khác, điều này là bình thường.)

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image51.jpeg" alt=""><figcaption></figcaption></figure>

(3) Mở Thonny, nhấp vào " **Chạy** ", và chọn " **Cấu hình Trình thông dịch** ".

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image52.jpeg" alt=""><figcaption></figcaption></figure>

Trên trang Trình thông dịch, chọn " **Micropython (ESP32)\*\*" cho trình thông dịch và "USB-SERIAL CH340 COM6)\*\*" cho cổng hoặc WebREPL** (số COM dựa trên cổng trên máy tính của bạn). Sau đó nhấp vào "Cài đặt hoặc Cập nhật MicroPython".

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image53.jpeg" alt=""><figcaption></figcaption></figure>

Trang "Trình cài đặt phần mềm ESP32" hiện ra. Chọn " **USB-SERIAL CH340 (COM6) " từ menu thả xuống " Cổng** " . " **Phần mềm** " Nhấp vào " **Duyệt... \*\*" và chọn phần mềm microPython đã tải xuống "** esp32-20230426-v1.20.0.bin **". Kiểm tra xem "** Chế độ Flash **" có được chọn là "** Từ tệp hình ảnh (Giữ) **" và "** Xóa flash trước khi cài đặt **" có được chọn không. Cuối cùng, nhấp vào "** Cài đặt\*\*" và đợi thông báo hoàn tất cài đặt.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image54.jpeg" alt=""><figcaption></figcaption></figure>

(4) Sau khi cài đặt hoàn tất, nhấp vào " **Đóng** ".

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image55.jpeg" alt=""><figcaption></figcaption></figure>

**Nhấp vào OK** trên trang Tùy chọn Thonny .

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image56.jpeg" alt=""><figcaption></figcaption></figure>

(5) Nhấp vào nút “ **Dừng/Khởi động lại quy trình Backend** ”.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image58.jpeg" alt=""><figcaption></figcaption></figure>

Bây giờ, mọi sự chuẩn bị đã sẵn sàng.

**Lưu ý:** Do các phiên bản Thonny khác nhau, lỗi cập nhật sau đây có thể xảy ra ở bước 3 của quá trình cài đặt.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image53.jpeg" alt=""><figcaption></figcaption></figure>

Nếu điều này xảy ra, hãy nhấp vào nút bên dưới để hiển thị giao diện bình thường.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image89.jpeg" alt=""><figcaption></figcaption></figure>

Sau đó tiếp tục ghi chương trình cơ sở bằng cách tham khảo các bước 3-5.

### 5. Kiểm tra mã <a href="#wu-ce-shi" id="wu-ce-shi"></a>

#### 5.1 Lệnh kiểm tra Shell <a href="#id-51-ce-shi-shell-ming-ling" id="id-51-ce-shi-shell-ming-ling"></a>

**Gõ " print('hello world** ')" vào cửa sổ " **Shell** " và nhấn **Enter** .

![hình ảnh61](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image61.jpeg)

#### 5.2 Hoạt động trực tuyến <a href="#id-52-zai-xian-yun-xing" id="id-52-zai-xian-yun-xing"></a>

ESP32 cần được kết nối với máy tính khi chạy trực tuyến. Người dùng có thể sử dụng Thonny để viết và gỡ lỗi chương trình.

(1) Mở Tonny và nhấp vào ![hình ảnh62](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image62.jpeg), sau đó nhấp vào " **Máy tính này** ".

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image63.jpeg" alt=""><figcaption></figcaption></figure>

(2) Trên trang bật lên, chọn tệp Python " **lesson\_01\_HelloWorld.py** " theo đường dẫn " **Basic Input Module\01 HelloWorld\MicroPython** " , sau đó nhấp vào " **Open** ".

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image64.jpeg" alt=""><figcaption></figcaption></figure>

(3) Nhấp ![hình ảnh65](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image65.jpeg)hoặc nhấn phím "F5", cửa sổ Shell sẽ in ra dòng chữ " **Hello World** ".

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image66.jpeg" alt=""><figcaption></figcaption></figure>

**Lưu ý:** Nếu bạn nhấn nút reset trên ESP32 khi đang chạy trực tuyến, mã của bạn sẽ không được thực thi lại. Nếu bạn muốn chạy mã tự động sau khi đặt lại, vui lòng tham khảo phần **5.3 Chạy ngoại tuyến** sau .

#### [5.3 Hoạt động ngoại tuyến](https://emakefun.github.io/emakefun-docsify/#/zh-cn/software/thonny/thonny.zh-CN?id=_53-%e7%a6%bb%e7%ba%bf%e8%bf%90%e8%a1%8c) <a href="#id-53-li-xian-yun-xing" id="id-53-li-xian-yun-xing"></a>

Sau khi ESP32 được thiết lập lại, trước tiên hãy chạy tệp boot.py trong thư mục gốc, sau đó chạy tệp mã của bạn và cuối cùng nhập "Shell". Do đó, để ESP32 thực thi chương trình người dùng sau khi thiết lập lại, chúng ta cần thêm bộ nạp khởi động vào boot.py để thực thi mã người dùng.

(1) Mở Thonny và nhấp vào " **Máy tính này\Vị trí thư mục\sp32-iot-kit\Mô-đun đầu vào cơ bản\00 Khởi động\Chương trình MicroPython** " trong hộp quản lý tệp.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image68.jpeg" alt=""><figcaption></figcaption></figure>

(2) Mở rộng " **00 Boot** " và nhấp đúp vào " **boot.py** " để cho phép chương trình trong " **thiết bị MicroPython " chạy ngoại tuyến.**

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image69.jpeg" alt=""><figcaption></figcaption></figure>

(3) Nếu bạn muốn chạy chương trình ngoại tuyến, bạn cần tải " **boot.py** " mà chúng tôi cung cấp và mã chương trình bạn đã viết lên " **thiết bị MicroPython** ", sau đó nhấn nút reset của ESP32. Mở rộng thư mục 00 Boot. Nhấp chuột phải vào **boot.py** và chọn \*\*Tải lên /\*\*.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image70.jpeg" alt=""><figcaption></figcaption></figure>

Nhấp vào **OK** .

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image72.jpeg" alt=""><figcaption></figcaption></figure>

(4) Tương tự, tải “ **lesson\_01\_HelloWorld.py** ” lên “ **thiết bị MicroPython** ”.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image73.jpeg" alt=""><figcaption></figcaption></figure>

Bạn có thể thấy trong **Thiết bị MicroPython** rằng mã đã được tải lên thành công.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image74.jpeg" alt=""><figcaption></figcaption></figure>

(6) Nhấn **nút Reset** trên ESP32 và bạn sẽ thấy mã được thực thi trong cửa sổ Shell.

!\[image75 ]\(hình ảnh/image75 .jpeg)

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image76.jpeg" alt=""><figcaption></figcaption></figure>

### 6. Các[ hoạt động chung của Thonny](/huong-dan-phan-mem/cai-dat-phan-mem-thonny.md) <a href="#liu-thonny-chang-jian-de-cao-zuo" id="liu-thonny-chang-jian-de-cao-zuo"></a>

#### 6.1 Tải mã lên ESP32 <a href="#id-61-shang-chuan-dai-ma-dao-esp32" id="id-61-shang-chuan-dai-ma-dao-esp32"></a>

Để thuận tiện, chúng tôi lấy **boot.py** làm ví dụ. Nếu chúng ta thêm boot.py vào mỗi thư mục mã. Mỗi lần ESP32 khởi động lại, đầu tiên nó sẽ thực thi " **boot.py** " trong thư mục gốc .

**Chọn " boot.py** " trong thư mục Boot 00 , nhấp chuột phải, chọn " **Upload to** /" để tải mã lên thư mục gốc của ESP32, sau đó chọn " **OK** ".

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image78.jpeg" alt=""><figcaption></figcaption></figure>

#### 6.2 Tải mã xuống máy tính của bạn <a href="#id-62-xia-zai-dai-ma-dao-dian-nao" id="id-62-xia-zai-dai-ma-dao-dian-nao"></a>

Chọn " **boot.py** " trong " **MicroPython Device** " , nhấp chuột phải và chọn " **Download to D:\Code** " để tải mã xuống máy tính của bạn.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image79.jpeg" alt=""><figcaption></figcaption></figure>

#### [6.3 Xóa các tập tin trong thư mục gốc của ESP32](https://emakefun.github.io/emakefun-docsify/#/zh-cn/software/thonny/thonny.zh-CN?id=_63-%e5%88%a0%e9%99%a4esp32%e6%a0%b9%e7%9b%ae%e5%bd%95%e4%b8%8b%e7%9a%84%e6%96%87%e4%bb%b6) <a href="#id-63-shan-chu-esp32-gen-mu-lu-xia-de-wen-jian" id="id-63-shan-chu-esp32-gen-mu-lu-xia-de-wen-jian"></a>

Chọn " **boot.py** " trong " **MicroPython Device** " , nhấp chuột phải vào đó và chọn " **Delete** " để xóa " **boot.py** " khỏi thư mục gốc của ESP32.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image80.jpeg" alt=""><figcaption></figcaption></figure>

#### 6.4 Tạo và lưu mã <a href="#id-64-chuang-jian-bing-bao-cun-dai-ma" id="id-64-chuang-jian-bing-bao-cun-dai-ma"></a>

Nhấp vào **Tệp** , sau đó chọn **Mới** .

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image82.jpeg" alt=""><figcaption></figcaption></figure>

Nhập mã vào tệp mới mở.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image83.jpeg" alt=""><figcaption></figcaption></figure>

Nhấp vào thanh menu ![hình ảnh84](https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image84.jpeg)để lưu mã vào máy tính hoặc ESP32 của bạn. Tại đây, hãy chọn lưu vào "Thiết bị MicroPython".

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image85.jpeg" alt=""><figcaption></figcaption></figure>

Đặt tên cho tệp là " **main.py** " và nhấp vào " **OK** ".

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image86.jpeg" alt=""><figcaption></figcaption></figure>

Mã đã được tải lên ESP32.

<figure><img src="https://emakefun.github.io/emakefun-docsify/zh-cn/software/thonny/pictures/image87.jpeg" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.linhkientot.vn/huong-dan-phan-mem/cai-dat-phan-mem-thonny.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
