



















Preview text:
ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆN- ĐIỆN TỬ
BÁO CÁO THỰC TẬP KỸ THUẬT
Đề tài: Tìm hiểu và ứng dụng ESP32 trong IOT
Sinh viên thực hiện : Nguyễn Nam Phong MSSV : 20214038 Lớp : ET1-02 K66
Giảng viên hướng dẫn : PGS.TS Trần Quang Vinh
Hà Nội, 8/2024
MỤC LỤC
A, LỜI NÓI ĐẦU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
B, NỘI DUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Chương 1: Giới thiệu về đơn vị tiếp nhận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.1: Giới thiệu về VNPT Technology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2: Điều lệ tổ chức và hoạt động . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1: Lịch sử hình thành và phát triển . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2: Lĩnh vực kinh doanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.3: Cơ cấu tổ chức . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.4: Sứ mệnh và tầm nhìn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Chương 2: Nội dung thực tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1: Giới thiệu về ESP32 và Platform IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1: Giới thiệu về ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2: Giới thiệu vầ Platform IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2: Lập trình Wifi Station, Smart config wifi ESP32 . . . . . . . . . . . . . . . . . . . . . .7
2.2.1: Lập trình WiFi Station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2: Lập trình Smart Config Wifi ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3: Lập trình HTTP Client Write, Read Data gửi lên ThingSpeak . . . . . . . . . . . . 8
2.4: Lập trình MQTT xử lý chuỗi JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4.1: Giới thiệu về MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4.2: Giới thiệu về Hivemq Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4.3: Lập trình MQTT cho ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5: Lập trình OTA, tạo Server Local lưu Firmware Update . . . . . . . . . . . . . . . . 13
2.6: Sử dụng tính năng Flash Encytion để mã hóa dữ liệu Flash . . . . . . . . . . . . . 16
Chương 3: Nhận xét và đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1: Nhận xét . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2: Đánh giá của công ty. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
C, KẾT LUẬN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1
A, LỜI NÓI ĐẦU
Hiện nay, ESP32 là một vi điều khiển mạnh mẽ, tích hợp Wi-Fi và Bluetooth,
giúp dễ dàng kết nối không dây trong các dự án IoT. Với khả năng tiết kiệm năng
lượng và hỗ trợ nhiều giao thức truyền thông, ESP32 được ứng dụng rộng rãi trong
các hệ thống nhà thông minh, giám sát từ xa và các thiết bị cảm biến. Sự linh hoạt
của nó khiến ESP32 trở thành lựa chọn lý tưởng cho việc phát triển các ứng dụng IoT sáng tạo.
Qua thời gian thực tập tại công ty VNPT Technology, em đã có cơ hội tiếp
cận và làm quen với lập trình nhúng thông qua việc sử dụng ESP32, một vi điều
khiển mạnh mẽ được ứng dụng rộng rãi trong các thiết bị IoT. Đề tài này không chỉ
giúp em củng cố kiến thức lý thuyết đã học mà còn rèn luyện kỹ năng thực hành, từ
đó nâng cao khả năng giải quyết vấn đề thực tế trong lĩnh vực công nghệ.
Em xin cảm ơn công ty VNPT Technology cùng các anh, chị phụ trách đã tạo
mọi điều kiện thuận lợi, cùng với sự hướng dẫn nhiệt tình, tỉ mỉ để em thực tập trong
thời gian qua, giúp chúng em có một môi trường làm việc tốt, có tác phong, kỉ luật và chuyên nghiệp.
Em xin gửi lời cảm ơn đến Ban lãnh đạo Trường Điện – Điện tử - Trường
Đại học Bách Khoa Hà Nội đã tạo điều kiện cho chúng em được tham gia khóa thực
tập kỹ thuật này. Qua khoa thực tập này, đã cung cấp cho sinh viên chúng em những
kiến thức bổ ích về cả chuyên ngành và kỹ năng mềm để sau này có thể tham gia
vào công việc một cách chủ động và dễ dàng hơn.
Em cũng xin cảm ơn thầy Trần Quang Vinh đã tạo mọi điều kiện thuận lợi để
chúng em hoàn thiện tốt đợt thực tập. 2 B, NỘI DUNG
Chương 1: Giới thiệu về đơn vị tiếp nhận
1.1 Giới thiệu về VNPT Technology
Tên đầy đủ: Công ty Cổ phần Công nghệ Công nghiệp Bưu chính Viễn thông
Tên giao dịch quốc tế: Vietnam Post and Telecommunication Industry Technology JSC Địa chỉ liên hệ:
- Trụ sở chính: Khu Công nghiệp công nghệ cao I, Khu Công nghệ cao Hòa Lạc, Xã
Hạ Bằng, Huyện Thạch Thất, Hà Nội
- Văn phòng: 84-24 3748 0922 - Fax: 84-24 3784 0925
- Website: ht ps:/ www.vnpt-technology.vn
1.2 Điều lệ tổ chức và hoạt động
1.2.1 Lịch sử hình thành và phát triển
- VNPT Technology được thành lập ngày 6/1/2011 bởi Tập đoàn Bưu chính Viễn
thông Việt Nam (VNPT) và 2 cổ đông khác là VNPost và Pacifab, với vốn điều lệ 500
tỷ đồng, được tổ chức và hoạt động theo hình thức công ty cổ phần.
- Ngay sau khi thành lập, VNPT Technology mua lại phần vốn góp của Alcatel Lucent
tại công ty Liên doanh ANSV và phần vốn góp của Siemens tại công ty Liên doanh
TELEQ, chuyển đổi 2 công ty này trở thành công ty thành viên của VNPT Technology.
- Kế thừa nguồn lực và kinh nghiệm tích lũy sau gần 20 năm của các công ty liên
doanh ANSV và TELEQ; sở hữu và tiếp tục phát triển đội ngũ chuyên gia trưởng
thành từ những ngày đầu của thời kỳ số hóa mạng viễn thông, cùng với hạ tầng kỹ
thuật được tích lũy và tiếp tục phát triển từ các liên doanh; VNPT Technology ngày
càng khẳng định vị thế và vai trò của một đơn vị tiên phong trong nghiên cứu phát
triển và sản xuất các thiết bị điện tử, viễn thông và công nghệ thông tin, xứng đáng là
đơn vị chủ lực của VNPT trong lĩnh vực Công nghệ, Công nghiệp Bưu chính, Viễn
thông, Công nghệ thông tin, Truyền thông và Công nghiệp Nội dung số.
1.2.2 Lĩnh vực kinh doanh
- VNPT Technology hoạt động trong các lĩnh vực: Nghiên cứu phát triển, Sản xuất
Công nghệ Công nghiệp; Kinh doanh quốc tế; Thương mại & Dịch vụ kỹ thuật; phát
triển và kinh doanh các nền tảng. 3
- Nghiên cứu phát triển sản phẩm công nghệ & ODM: Là hoạt động cốt lõi của Công
ty nhằm tạo ra những giá trị từ tri thức, tạo ra tài sản trí tuệ và hàng hóa dịch vụ với
hàm lượng công nghệ cao. Nghiên cứu và phát triển các công nghệ lõi trong 5 lĩnh
vực: Băng rộng cố định, băng rộng không dây, IoT, công nghệ 5G và Chuyển đổi số
nhằm tạo ra những sản phẩm toàn diện từ Phần cứng/Thiết bị, các nền tảng cho tới
các ứng dụng người dùng. Đồng thời công ty đang đẩy mạnh mảng kinh doanh các
sản phẩm thiết kế từ kết quả R&D.
- Sản xuất thiết bị công nghệ công nghiệp & EMS: Các sản phẩm tạo ra từ quá trình
nghiên cứu và phát triển, được sản xuất hàng loạt qua hoạt động sản xuất công nghiệp
điện tử đáp ứng nhu cầu thị trường trong và ngoài nước. Bên cạnh đó dịch vụ sản xuất
điện tử - EMS được mở rộng giúp Công ty tận dụng được năng lực và hạ tầng sẵn có
đồng thời tham gia sâu rộng hơn vào chuỗi cung ứng toàn cầu.
- Tích hợp hệ thống mạng viễn thông, Công nghệ thông tin: Với gần 30 năm kinh
nghiệm tích hợp các hệ thống lớn như mạng Viễn thông, Công ty xác định trở thành
đơn vị dẫn đầu trong lĩnh vực tích hợp hệ thống mạng Viễn thông và Công nghệ thông
tin. Hoạt động tích hợp hệ thống toàn diện từ Phân tích, Xây dựng giải pháp tổng thể,
Thiết kế, Triển khai và Đào tạo chuyển giao.
- Thương mại, dịch vụ kỹ thuật ICT trong nước và quốc tế: Hoạt động kinh doanh
phát triển thị trường nhằm cung cấp các sản phẩm phẩm công nghệ, các giải pháp tích
hợp, dịch vụ kỹ thuật ICT trong nước và quốc tế với các mảng thị trường bao gồm:
Kinh doanh phát triển thị trường truyền thống/các nhà mạng; Kinh doanh phát triển
thị trường Doanh nghiệp và khách hàng cá nhân; và Kinh doanh phát triển thị trường quốc tế.
1.3 Cơ cấu tổ chức
- VNPT Technology là đơn vị chủ lực của Tập đoàn VNPT trong lĩnh vực Công nghệ,
Công nghiệp Điện tử Viễn thông, Công nghệ thông tin, Truyền thông và Công nghiệp nội dung số.
- Hiện tại VNPT Technology có ba công ty thành viên, hoạt động theo mô hình hợp nhất nguồn lực: 4
Hình 1.3.1: Cơ cấu tổ chức VNPT Techonology
1.4 Sứ mệnh và tầm nhìn
- Sứ mệnh của VNPT Technology là tạo ra các sản phẩm công nghệ chất lượng cao
mang thương hiệu Việt phục vụ mạng viễn thông CNTT cũng như đông đảo cộng đồng.
- VNPT Technology với vai trò doanh nghiệp chủ lực của Tập đoàn VNPT trong lĩnh
vực công nghệ, công nghiệp điện tử viễn thông, công nghệ thông tin, truyền thông và
công nghiệp nội dung số có tầm nhìn trở thành doanh nghiệp công nghệ cao hàng đầu
tại Việt Nam và tiến tới trở thành một trong những công ty công nghệ hàng đầu khu vực. 5
Chương 2: Nội dung thực tập
2.1 Giới thiệu về ESP32 và Platform IO
2.1.1 Giới thiệu về ESP32
ESP32 là một vi điều khiển giá rẻ, năng lượng thấp có hỗ trợ WiFi và dual-mode
Bluetooth (tạm dịch: Bluetooth chế độ kép). Dòng ESP32 sử dụng bộ vi xử lý
Tensilica Xtensa LX6 ở cả hai biến thể lõi kép và lõi đơn, và bao gồm các công tắc
antenna tích hợp, RF balun, bộ khuếch đại công suất, bộ khuếch đại thu nhiễu thấp,
bộ lọc và module quản lý năng lượng.
ESP32 được chế tạo và phát triển bởi Espressif Systems, một công ty Trung Quốc có
trụ sở tại Thượng Hải, và được sản xuất bởi TSMC bằng cách sử dụng công nghệ
40 nm. ESP32 là sản phẩm kế thừa từ vi điều khiển ESP8266.
Có thể nói ESP32 là sự nâng cấp hoàn hảo của ESP8266, với ESP8266 phù hợp với
các dự án nhỏ và tiết kiệm chi phí. ESP32 lại phù hợp với các dự án phức tạp hơn, tốc
độ xử lý cao hơn và tích hợp nhiều ngoại vi mạnh mẽ hơn.
ESP8266 là 17 chân GPIO, ADC độ phân giải 10 bit, 8 kênh PWM mềm trong khi đó
ESP 32 có tới 30/36 chân GPIO, 18 kênh ADC độ phân giải 12-bit, 16 kênh PWM
mềm, Touch Sensor, Hal Effect Sensor, Ethernet MAC Interface, Cảm biến nhiệt độ được tích hợp sẵn.
Về bộ nhớ ESP32 có thêm 4MB External Flash và 520KB SRAM (static random
access memory) trong đó 8 KB RAM RTC tốc độ cao – 8 KB RAM RTC tốc độ thấp
(dùng ở chế độ DeepSleep).
ESP32 hỗ trợ Bluetooth 4.2 và BLE (Bluetooth Low Energy). Việc hỗ trợ cả bluetooth
khiến ESP32 có thể tương tác với các thiết bị như là bàn phím, chuột, điện thoại khi mà không có wifi.
2.1.2 Giới thiệu vầ Platform IO
PlatformIO là một môi trường phát triển tích hợp (IDE) dành cho các dự án nhúng và
IoT, hỗ trợ nhiều vi điều khiển và bảng mạch như Arduino, ESP32, STM32, và nhiều
hơn nữa. Nó cung cấp các công cụ mạnh mẽ như quản lý thư viện, gỡ lỗi, và tích hợp
với các trình biên dịch khác nhau.
PlatformIO có thể được sử dụng dưới dạng một plugin cho Visual Studio Code, giúp
lập trình viên dễ dàng phát triển, kiểm thử, và triển khai mã nguồn trên các thiết bị nhúng.
Để sử dụng PlatformIO, ta cần cài đặt nó như một plugin trong Visual Studio Code,
sau đó tạo hoặc mở dự án mới với cấu trúc thư mục tự động tạo ra. Ta có thể thêm các
thư viện cần thiết thông qua quản lý thư viện, biên dịch và tải mã nguồn trực tiếp lên vi điều khiển . 6
2.2 Lập trình Wifi Station, Smart config wifi ESP32
2.2.1 Lập trình WiFi Station
WiFi Station là chế độ mà ESP32 kết nối với một mạng WiFi hiện có như một client,
tương tự như cách điện thoại hoặc máy tính kết nối với mạng WiFi. Trong chế độ này,
bạn cần cung cấp thông tin SSID và mật khẩu của mạng WiFi mà ESP32 sẽ kết nối.
Đây là cách thông thường và phổ biến để kết nối ESP32 với internet hoặc mạng nội bộ.
Hình 2.2.1: Thiết lập WiFi Station cho ESP32
2.2.2 Lập trình Smart Config Wifi ESP32
Smart Config là một tính năng đặc biệt cho phép cấu hình WiFi của ESP32 mà không
cần cung cấp trực tiếp thông tin SSID và mật khẩu trong mã lập trình. Thay vào đó,
bạn sử dụng một ứng dụng trên thiết bị di động để gửi thông tin mạng WiFi (SSID và
mật khẩu) đến ESP32 thông qua sóng WiFi.
Cơ chế hoạt động cơ bản của Smart Config như sau:
- Thiết bị di động: Ứng dụng trên thiết bị di động gửi thông tin SSID và mật khẩu qua các gói UDP.
- ESP32: Nhận các gói UDP này, giải mã thông tin và kết nối với mạng WiFi.
Smart Config hữu ích trong các trường hợp:
- Không muốn mã hóa cứng thông tin mạng WiFi vào mã lập trình, để dễ dàng
thay đổi thông tin mạng khi cần.
- Tạo sự thuận tiện cho người dùng cuối khi họ có thể cấu hình thiết bị qua một ứng dụng di động. 7
Để sử dụng Smart Config trên ESP32, bạn có thể sử dụng thư viện WiFi của Arduino
hoặc ESP-IDF với các hàm hỗ trợ Smart Config. Và có thể dùng app Esp Touch để
điều chỉnh thông tin WIFI kết nối.
Hình 2.2.2: Thiết lập Smart Config trên ESP32
2.3 Lập trình HTTP Client Write, Read Data gửi lên ThingSpeak
ThingSpeak là một dịch vụ IoT (Internet of Things) cho phép bạn thu thập, lưu trữ,
phân tích và hiển thị dữ liệu từ các cảm biến và thiết bị thông qua giao thức HTTP.
Khi lập trình một HTTP Client để gửi và nhận dữ liệu từ ThingSpeak, bạn có thể sử
dụng các phương pháp HTTP như GET (đọc dữ liệu) và POST (gửi dữ liệu) để tương tác với kênh của mình.
Các bước để tạo Server Thingspeak
a) Bước 1: Tạo tài khoản/Đăng nhập ThingSpeak
b) Bước 2: Tạo Channels ThingSpeak 8
Hình 2.3.1: Tạo Channel Thingspeak
c) Lấy Channel ID, Write API Key và Read API keys
Hình 2.3.2: Lấy Channel ID, Write API Key và Read API keys
Để lập trình HTTP client cho ESP32 để gửi và đọc dữ liệu từ ThingSpeak, bạn có thể
sử dụng thư viện HTTPClient có sẵn trong Arduino IDE.
Cú pháp URL để gửi dữ liệu:
ht ps:/ api.thingspeak.com/update?api_key=WRITE_API_KEY&field1=value1&fiel d2=value2. .
Cú pháp URL để đọc dữ liệu mới nhất:
ht ps:/ api.thingspeak.com/channels/CHANNEL_ID/feeds/last.json?api_key=READ _API_KEY
Cú pháp URL để đọc lịch sử dữ liệu: 9
ht ps:/ api.thingspeak.com/channels/CHANNEL_ID/feeds.json?api_key=READ_AP I_KEY&results=NUM_RESULTS
Hình 2.3.3: Kết quả thu được trên ThingSpeak
2.4 Lập trình MQTT xử lý chuỗi JSON
2.4.1 Giới thiệu về MQTT
MQTT (Message Queuing Telemetry Transport) là giao thức truyền thông điệp
(message) theo mô hình publish/subscribe (cung cấp / thuê bao), được sử dụng cho
các thiết bị IoT với băng thông thấp, độ tin cậy cao và khả năng được sử dụng trong
mạng lưới không ổn định. Nó dựa trên một Broker (tạm dịch là “Máy chủ môi giới”)
“nhẹ” (khá ít xử lý) và được thiết kế có tính mở (tức là không đặc trưng cho ứng dụng
cụ thể nào), đơn giản và dễ cài đặt.
Tồn tại ba mức độ tin cậy cho việc truyền dữ liệu (QoS: Quality of service)
+ QoS 0: Broker/client sẽ gửi dữ liệu đúng một lần, quá trình gửi được xác nhận bởi chỉ giao thức TCP/IP.
+ QoS 1: Broker/client sẽ gửi dữ liệu với ít nhất một lần xác nhận từ đầu kia, nghĩa là
có thể có nhiều hơn 1 lần xác nhận đã nhận được dữ liệu.
+ QoS 2: Broker/client đảm bảo khi gửi dữ liệu thì phía nhận chỉ nhận được đúng một
lần, quá trình này phải trải qua 4 bước bắt tay.
2.4.2 Giới thiệu về Hivemq Broker
HiveMQ là một nền tảng MQTT broker hiệu suất cao được thiết kế để xử lý hàng triệu
kết nối IoT đồng thời, cung cấp khả năng truyền dữ liệu tin cậy và bảo mật giữa các
thiết bị và ứng dụng.
HiveMQ Broker chia thành 2 loại: 10
+ Public broker: Sử dụng cổng 1883, không có bảo mật, thường dùng để test ứng dụng
hoặc các sản phẩm đơn giản.
+ Private broker: Sử dụng cổng 8883 và bảo mật SSL/TLS. Ta có thể sử dụng nó trong
các sản phẩm thương mại.
Hình 2.4.1: Giao diện của HiveMQ
2.4.3 Lập trình MQTT cho ESP32
Để lập trình ESP32 MQTT, ta sẽ dùng thư viện pubsubclient
Hình 2.4.2: Kết nối với Broker 11
Hình 2.4.3: Publish dữ liệu lên MQTT
Mỗi khi có dữ liệu thay đổi trên broker, hàm cal back sẽ được gọi:
• Hình 2.4.4: Subcrible dữ liệu từ MQTT 12
2.5 Lập trình OTA, tạo Server Local lưu Firmware Update
FOTA (Firmware Over The Air) là thuật ngữ chỉ việc nạp firmware từ xa mà không
cần sử dụng mạch nạp, chỉ cần có 1 kết nối không dây là có thể sử dụng được. FOTA
được sử dụng rộng rãi trong các sản phẩm IOT.
Để có thể nạp firmware từ xa cho ESP32 qua Internet. Chúng ta cần 1 máy chủ lưu
giữ. Khi cập nhật hệ thống sẽ tuân theo các bước sau:
+ Nhà phát triển Upload firmware lên máy chủ
+ ESP32 sẽ gọi 1 API lên server đó, truy vấn xem có bản cập nhật mới không. Việc
hỏi này sẽ được lặp lại liên tục có thể 1 vài phút 1 lần hoặc 1 vài ngày, tùy người phát triển
+ Nếu nhận được thông tin thay đổi version, ESP32 sẽ download firmware về thông qua internet.
+ Khởi động lại với firmware mới
Hình 2.5.1: Thiết lập trên server ESP32
Hình 2.5.2: Thiết lập giao diện login 13
Hình 2.5.3: Thiết lập giao diện upload
Để nạp Firmware vào ESP32, ta sử dụng các thư viện Update với các hàm
Update.begin, Update.buf, Update.end
Hình 2.5.4: Cập nhập firmware trên ESP32 (1) 14
Hình 2.5.5: Cập nhập firmware trên ESP32 (2)
Hình 2.5.6: Giao diện cập nhật firmware 15
2.6 Sử dụng tính năng Flash Encytion để mã hóa dữ liệu Flash
Flash Encryption là một tính năng bảo mật quan trọng được sử dụng trong các vi điều
khiển, đặc biệt là những vi điều khiển của Espressif (như ESP32). Tính năng này giúp
mã hóa dữ liệu lưu trữ trong bộ nhớ Flash, bao gồm cả firmware, nhằm ngăn chặn
việc truy xuất trái phép và bảo vệ các ứng dụng khỏi bị sao chép hoặc tấn công.
Để sử dụng tính năng Flash Encryption trên ESP32 nhằm mã hóa dữ liệu Flash và bảo
vệ Firmware, bạn cần thực hiện một số bước cơ bản.
a) Bước 1: Kích hoạt Flash Encryption
Cấu hình sdkconfig: Bạn cần cấu hình sdkconfig để bật tính năng Flash Encryption.
Trong thư mục dự án, mở file sdkconfig và tìm các mục sau:
CONFIG_FLASH_ENCRYPTION_ENABLED=y
CONFIG_FLASH_ENCRYPTION_MODE=y
b) Bước 2: Tạo Key Encryption
Khởi tạo Flash Encryption: Bạn cần khởi tạo và lập trình khóa mã hóa cho Flash. Sử
dụng công cụ espsecure đi kèm với ESP-IDF. Ví dụ, để tạo khóa và lập trình chúng,
bạn có thể chạy lệnh:
espsecure.py gen_keypair flash_encryption_key.pem
Sau đó, lập trình khóa vào ESP32:
espsecure.py --keyfile flash_encryption_key.pem write_flash_encryption_key --port /dev/t yUSB0 --baud 115200
c) Bước 3: Xây dựng và nạp Firmware
Biên dịch Firmware: Biên dịch firmware của bạn bằng PlatformIO. Lệnh này có thể
thực hiện từ terminal: pio run
Nạp Firmware vào ESP32: Sau khi biên dịch thành công, nạp firmware vào ESP32
với lệnh: pio run --target upload 16
Chương 3: Nhận xét và đánh giá 3.1 Nhận xét
Trong suốt quá trình thực tập tại Công ty VNPT Technology, em đã có cơ hội tham
gia vào nhiều hoạt động thực tế, từ đó tích lũy được nhiều kinh nghiệm quý báu cho
bản thân. Những công việc được giao tại phòng giải pháp phần mềm không chỉ giúp
em củng cố kiến thức lý thuyết mà còn mở rộng hiểu biết về các quy trình công việc
thực tế, kỹ năng giải quyết vấn đề và khả năng làm việc nhóm.
Những ưu điểm nổi bật trong quá trình thực tập bao gồm:
- Khám phá công nghệ mới: Thực tập đã giúp em tiếp cận và tìm hiểu sâu hơn về
những công nghệ mới mà trước đây em chưa từng làm quen, từ đó mở rộng tầm hiểu
biết và khả năng sáng tạo trong việc áp dụng các giải pháp công nghệ.
- Rèn luyện khả năng làm việc độc lập: Trong suốt quá trình thực tập, em đã có cơ hội
tự mình thực hiện nhiều nhiệm vụ, từ đó nâng cao khả năng tự quản lý và chủ động trong công việc.
- Môi trường làm việc thân thiện và hỗ trợ: VNPT Technology đã mang đến cho em
một môi trường làm việc thân thiện, nơi các anh chị đồng nghiệp luôn sẵn sàng chia
sẻ kinh nghiệm và hỗ trợ khi cần thiết, giúp em cảm thấy tự tin hơn trong quá trình
học hỏi và phát triển.
3.2 Đánh giá của công ty
VNPT Technology đã đánh giá cao sự nỗ lực và tiến bộ của em trong suốt quá trình
thực tập. Công ty nhận xét rằng em đã thể hiện được sự chủ động trong công việc, khả
năng tiếp thu nhanh chóng các công nghệ mới, và luôn hoàn thành tốt các nhiệm vụ
được giao. Đồng thời, công ty cũng đánh giá cao tinh thần hợp tác và khả năng làm
việc nhóm của em, góp phần tích cực vào các dự án của phòng giải pháp phần mềm. 17
C, KẾT LUẬN
Quá trình thực tập tại VNPT Technology với đề tài “Tìm hiểu và ứng dụng
ESP32” đã mang lại cho em nhiều kiến thức và kinh nghiệm thực tế quý báu. Từ việc
nghiên cứu lý thuyết đến triển khai các ứng dụng thực tế, em đã có cơ hội tiếp cận và
làm quen với các khía cạnh khác nhau của lập trình nhúng và Internet of Things (IoT).
Những kiến thức này không chỉ giúp em củng cố nền tảng học thuật mà còn mở ra
những hướng phát triển mới trong lĩnh vực công nghệ.
Trong suốt thời gian thực tập, em đã được làm việc trong một môi trường
chuyên nghiệp, nơi mà các anh chị đồng nghiệp và các thầy cô luôn sẵn sàng hỗ trợ
và chia sẻ kinh nghiệm. Điều này đã giúp em không chỉ phát triển về mặt chuyên môn
mà còn nâng cao kỹ năng mềm như giao tiếp, quản lý thời gian và làm việc nhóm.
Những bài học thu được từ quá trình này sẽ là hành trang quý giá giúp em tự tin hơn
trong sự nghiệp tương lai.
Đề tài về ESP32 đã giúp em hiểu rõ hơn về tầm quan trọng của công nghệ IoT
trong cuộc sống hiện đại. Từ việc kết nối thiết bị, quản lý dữ liệu đến việc xây dựng
các ứng dụng thông minh, em đã nhận thức được rằng ESP32 là một nền tảng mạnh
mẽ và linh hoạt, có khả năng đáp ứng nhiều yêu cầu khác nhau trong các dự án IoT.
Sự thành công trong việc triển khai các ứng dụng thực tế từ đề tài này đã khẳng định
giá trị của những kiến thức mà em đã học được.
Em xin chân thành cảm ơn VNPT Technology đã tạo điều kiện cho em thực
hiện quá trình thực tập này. Sự hỗ trợ và hướng dẫn tận tình từ công ty, cùng với môi
trường làm việc đầy chuyên nghiệp, đã giúp em hoàn thành đề tài một cách tốt nhất.
Những kinh nghiệm mà em tích lũy được tại đây sẽ là nền tảng vững chắc cho con
đường sự nghiệp sau này.
Cuối cùng, em xin gửi lời tri ân sâu sắc đến tất cả những ai đã đồng hành và
hỗ trợ em trong suốt thời gian thực tập. Quá trình này không chỉ giúp em trưởng thành
hơn về mặt kiến thức và kỹ năng mà còn định hình tư duy làm việc chuyên nghiệp,
góp phần vào sự phát triển cá nhân trong tương lai. 18