



















Preview text:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1
BÀI TẬP LỚN/ BÀI TẬP DỰ ÁN HỌC PHẦN
IOT VÀ ỨNG DỤNG
TÊN ĐỀ TÀI: CẢM BIẾN NHIỆT ĐỘ VỚI ARDUINO UNO NHÓM: 02
Hà Nội, tháng 11 năm 2022
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA AN TOÀN THÔNG TIN
TÊN ĐỀ TÀI: CẢM BIẾN NHIỆT ĐỘ VỚI ARDUINO UNO Nhóm: 02
Giảng viên hướng dẫn: TS. Nguyễn Tài Tuyên
Trưởng nhóm: Nguyễn Kiều Trinh – B19DCAT197 Thành viên:
1. Nguyễn Mậu Cường – B19DCAT021
2. Phan Thế Hưng – B19DCAT0
3. Nguyễn Minh Hằng – B19DCAT061
Hà Nội, tháng 11 năm 2022 Lời cam đoan
1. Chúng em xin cam đoan đề tài: CẢM ỨNG NHIỆT ĐỘ VỚI ARDUINO UNO
do nhóm 2 chúng em nghiên cứu và thực hiện.
2. Chúng em đã kiểm tra dữ liệu theo quy định hiện hành.
3. Kết quả bài làm của đề tài này là trung thực và không sao chép từ bất kỳ bài tập của nhóm khác.
4. Các tài liệu được sử dụng trong tiểu luận có nguồn gốc, xuất xứ rõ ràng. Lời cảm ơn
Chúng em xin được cảm ơn thầy TS. Nguyễn Tài Tuyên – giảng viên môn IoT và ứng
dụng, đã tạo điều kiện hỗ trợ, giúp đỡ nhóm 2 chúng em trong suốt quá trình học tập và
nghiên cứu đề tài này.
Đề tài nghiên cứu của chúng em, mặc dù có cố gắng, nhưng sẽ không thể tránh khỏi
những hạn chế và thiếu sót, nhóm 2 chúng em mong nhận được những ý kiến đóng góp
quý báu của thầy để kiến thức của chúng em trong lĩnh vực này được hoàn thiện hơ . n
MỤC LỤC
I. Phần mở đầu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
II. Phần nội dung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1. Khái quát về Arduino ESP32 và ESP8266. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. ESP8266 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
III. Yêu cầu của hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1. Các thiết bị mà nhóm sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Các ứng dụng mà nhóm sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. Arduino IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Blynk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
IV. Xây dựng hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1. Lưu đồ thuật toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
V. Mã nguồn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
VI. Kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1. Hệ thống IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2. Blynk cập nhật thông tin độ ẩm/nhiệt độ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 VII.
Phần kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1. Vấn đề gặp phải và hướng giải quyết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1. Vấn đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2. Hướng giải quyết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2. Những điều chưa đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3. Những điều đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
TÀI LIỆU THAM KHẢO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
PHỤ LỤC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
I. Phần mở đầu
IoT là sự kết nối của nhiều các thiết bị (vật thể) trong một mạng lưới Internet, tất
cả các thiết bị đều được quản lý, kiểm soát thông qua kết nối không dây. Công nghệ
Internet of Things (IoT) nói chung và công nghệ cảm biến không dây (Wireless Sensor)
nói riêng được tích hợp từ các kỹ thuật điện tử, tin học và viễn thông tiên tiến vào trong
nhiều mục đích như nghiên cứu, giải trí, sản xuất kinh doanh,… phạm vi này ngày càng
mở rộng để đáp ứng phục vụ cho các nhu cầu của con người.
Hiện nay, mặc dù khái niệm IoT và công nghệ cảm biến không dây đã trở nên
khá quen thuộc và được ứng dụng khá nhiều trong lĩnh vực của đời sống cong người,
đặc biệt ở các nước phát triển có nền khoa học công nghệ tiên tiến. Tuy nhiên, những
công nghệ này chưa được áp dụng một cách rộng rãi ở nước ta, do những điều kiến về
kinh tế, kỹ thuật, nhu cầu sử dụng. Song nó vẫn hứa hẹn là một đích đến tiêu biểu cho
các nhà nghiên cứu, cho những mục đích phát triển đầy tiềm năng.
Với sự phát triển nhanh chóng của các nước phát triển và các nước đang phát
triển về nền công nghiệp hóa – hiện đại hóa, vấn đề thay đổi khí hậu luôn làm các nhà
khoa học phải đau đầu. Ô nhiễm môi trường dẫn đến nhiều hậu quả như thiên tai, lũ
lụt, ô nhiễm nhà kính, thay đổi khí hậu và việc nóng lên toàn cầu. Nhóm chúng em đã
đưa ra một phương pháp đo cảm biến nhiệt độ môi trường bằng cảm biến nhiệt độ độ
ẩm, và đưa ra màu sắc của đèn báo khi nhiệt độ vượt quá mức cho phép. 1
II. Phần nội dung
1. Khái quát về Arduino ESP32 và ESP8266
ESP8266 và ESP32 là hai bộ vi điều khiển giá rẻ thường được sử dụng làm
thiết bị IoT. Cả hai đều có chức năng tương tác với các nền tảng IoT khác. Hai thiết
bị này đều là những công cụ rất quan trọng của IoT nhưng mỗi cái có ưu và nhược điểm riêng. 1.1. ESP32
ESP32 là một dòng vi điều khiển hệ thống trên chip giá rẻ. ESP32 là phiên bản
nâng cao của dòng ESP8266. Dòng ESP được tạo ra và phát triển bởi Espressif
Systems. ESP32 có bộ đồng xử lý lõi kép và công suất cực thấp. Nó được phát triển
vì sự thiếu bảo mật trong ESP2866.
ESP32 có ưu điểm cung cấp dual-core 160MHZ đến 240MHZ, có thể điều
khiển và giám sát thiết bị với sự trợ giúp của Wifi hoặc Blutooth với mức giá rẻ.
ESP32 cung cấp nhiều GPIO hơn ESP8266; cung cấp cho tốc độ cao 150Mbps. 1.2. ESP8266
ESP8266 là một hệ thống hoàn chỉnh hoặc khép kín trên mạch chíp (SOC),
module Wifi với ngăn xếp giao thức IP/TCP. ESP8266 cho phép truy cập vào bất
kỳ bộ vi điều khiển nào thông qua kết nối wifi. Một trong những chức năng chính
của ESP8266 là lưu trữ bất kỳ ứng dụng nào hoặc giảm tải tất cả các chức năng
mạng wifi. Nó có độ bền cao và có thể hoạt động ổn định ngay cả trong môi trường
công nghiệp khắc nghiệt. Điều này là do phạm vi nhiệt độ hoạt động rộng của nó.
Nó cũng cung cấp kiến trúc tiết kiệm năng lượng và bộ xử lý Tensilica 32-bit.
Ưu điểm của ESP8266 là rẻ hơn ESP32. Module ESP8266 cung cấp khả năng
xử lý và lưu trữ tích hợp mạnh mẽ, cho phép nó tích hợp với các cảm biến và các
ứng dụng khác, có mức độ tích hợp trên chip cao và tích hợp trên chip cho phép
người dùng sử dụng rất ít mạch tham chiếu bên ngoài.
ESP8266 đi kèm với APSD cho các giao diện cùng tồn tài của các ứng dụng
Blutooth và VoIP. Nó cũng chứa một tần số vô tuyến tự hiệu chuẩn (RF) cho phép 2
nó hoạt động với mọi điều kiện hoạt động và không yêu cầu bất kỳ bộ phận tần số vô tuyến nào.
Nhược điểm của ESP8266 là không có kết nối Bluetooth giống với module
ESP32. GPIO trong ESP8266 cũng ít hơn.
III. Yêu cầu của hệ thống
1. Các thiết bị mà nhóm sử dụng
a) Kit wifi ESP8266 CH340
Lí do sử dụng ESP8266: do giá thành của ESP8266 rẻ; yêu cầu bài toán chỉ
đơn giản đo nhiệt độ (có thể thêm độ ẩm), điều này thì ESP8266 hoàn toàn có thể
xử lý được mà không cần đến nhiều chức năng khác của ESP32.
Hình 1: Module ESP8266
b) Cảm biến nhiệt độ - độ ẩm DHT11
DHT11 là một cảm biến kỹ thuật số giá rẻ để cảm nhận nhiệt độ và độ ẩm.
Cảm biến này có thể dễ dàng giao tiếp với bất kỳ bộ vi điều khiển nào như Arduino,
Rasperry Pi,… để đo độ ẩm và nhiệt độ ngay lập tức. DHT11 là một cảm biến độ
ẩm nhiệt độ tương đối. Đề đô không khí xung quanh, cảm biến này sử dụng một
điện trở nhiệt và một cảm biến độ ẩm điện dung.
Sơ đồ chân DHT11 (gồm có 3 chân): 3
(1) Vcc – Nguồn 3.5V đến 5.5V
(2) Data – Đầu ra cả nhiệt độ và độ
ẩm thông qua dữ liệu nối tiếp.
(3) Ground – Chân nối đất.
Hình 2: Sensor nhiệt độ- độ ẩm
Cảm biến Nhiệt độ và độ ẩm DHT11 là cảm biến rất thông dụng hiện nay vì
chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp 1 dây truyền dữ
liệu duy nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp có được dữ liệu
chính xác mà không phải qua bất kỳ tính toán nào. So với cảm biến đời mới hơn là
DHT22 thì DHT11 cho khoảng đo và độ chính xác kém hơn rất nhiều.
c) Dây breadboard
Dây breadboard là dây dùng để nối giữa breadboard với các mạch khác. Nó
gồm 3 loại: male to male (dương - dương); male to female (dương – âm) và female to female (âm – âm).
Trong bài này bọn em sử dụng dây cắm dương – dương 4
Hình 3: Dây nối dương - dương
d) Đèn led
Hình 4: Đèn led
2. Các ứng dụng mà nhóm sử dụng 2.1. Arduino IDE
Arduino IDE là một phần mềm mã nguồn mở chủ yếu được sử dụng để viết và
biên dịch mã vào module Arduino. Đây là một phần mềm Arduino chính thức, giúp
cho việc biên dịch mã trở nên dễ dàng. Môi trường IDE chủ yếu chứa hai phần cơ 5
bản: Trình chỉnh sửa và trình biên dịch, phần đầu sử dụng để viết mã được yêu cầu
và phần sau được sử dụng để biên dịch và tải mã lên module Arduino. Môi trường
này hỗ trợ cả ngôn ngữ C và C++. Hình 5: Arduino IDE 2.2. Blynk
Blynk là một nền tảng với các ứng dụng điện thoại thông minh cho phép dễ
dàng tương tác với bộ vi điều khiển như Arduino, ESP8266, ESP32 hoặc Raspberry
qua Internet. Blynk App là một bảng điều khiển kỹ thuật số cho phép xây dựng giao
diện đồ họa cho dự án của mình bằng cách kéo và thả widget khác nhau mà nhà
cung cấp thiết kế sẵn.
Blynk không bị ràng buộc với một số bo hoặc shield cụ thể. Thay vào đó, nó
hỗ trợ phần cứng như Arduino hoặc Rasberry Pi liên kết với Internet qua Wifi,
Ethernet hoặc chip ESP8266. Blynk Server – chịu trách nhiệm về tất cả các giao tiếp
giữa điện thoại thông minh và phần cứng. Có thể sử dụng Blynk Cloud hoặc chạy
cục bộ máy chủ Blynk riêng của mình. Nó là mã nguồn mở, có thể dễ dàng xử lý hàng nghìn thiết bị.
Thư viện Blynk – dành cho tất cả các nền tảng phần cứng phổ biến – cho phép
giao tiếp với máy chủ và xử lý tất cả các lệnh đến và lệnh đi. Mỗi khi nhấn một nút 6
trong ứng dụng Blynk, thông điệp sẽ truyền đến không gian của đám máy Blynk, và
tìm đường đến phần cứng của bạn. Mọi thứ cần để xây dựng và quản lý phần cứng
được kết nối: cung cấp thiết bị, hiển thị dữ liệu cảm biến, điều khiển từ xa với các
ứng dụng web và di động, cập nhật chương trình cơ sở qua mạng, bảo mật, phân
tích dữ liệu, quản lý người dùng và truy cập, cảnh báo, tự động hóa và nhiều thứ khác hơn,…
Hình 6: Cách hoạt động của Blynk 7
IV. Xây dựng hệ thống
1. Lưu đồ thuật toán
Hình 7: Lưu đồ thuật toán hệ thống IoT đo độ ẩm/nhiệt độ V. Mã nguồn
- Điền thông tin template blynk
- Gọi các thư viện cần thiết
- Sử dụng chân D5 để kết nối với sensor DHT11
- Sử dụng 3 chân D6, D7, D8 để gắn đèn LED
- Đặt tốc độ truyền 8
- Thiết đặt chân ledPin là OUTPUT
- Khai báo các biến đọc nhiệt độ, độ ẩm
- Hàm xử lý dữ liệu sensor thu được, bao gồm thông báo và điều khiển đèn LED 9 10
VI. Kết quả
1. Hệ thống IoT
1.1. Mô phỏng
Hình 8. Hệ thống IoT mô phỏng
1.2. Thực tế
Hình 9. Hệ thống IoT thực tế 11
2. Kết quả đầu ra 2.1. Trên terminal
Hình 10. Arduino thông báo kết quả độ ẩm/nhiệt độ trên terminal
2.2. Hệ thống đèn
a) Đèn xanh bật khi nhiệt độ thấp 12
Hình 11. Đèn xanh bật khi nhiệt độ thấp
b) Đèn vàng bật khi nhiệt độ trung bình
Hình 12. Đèn vàng bật khi nhiệt độ trung bình
c) Đèn đỏ bật khi nhiệt độ cao
Hình 13. Đèn đỏ bật khi nhiệt độ cao 13
3. Blynk cập nhật thông tin độ ẩm/nhiệt độ
Hình 9. Blynk cập nhật kết quả lên hệ thống 14
VII. Phần kết luận
1. Vấn đề gặp phải và hướng giải quyết
1.1. Vấn đề
- Cần nghiên cứu, phát triển hệ thống IoT sử dụng Arduino Uno kết hợp sensor để
đo nhiệt độ và cập nhật kết quả lên ứng dụng Blynk
1.2. Hướng giải quyết
- Dựa vào các kiến thức ký thuyết đã được học và tìm hiểu trên lớp để chuẩn bị linh
kiện, đề tài sao cho phù hợp với điều kiện thực tế, bao gồm kiến thức và kinh phí
của nhóm sinh viên.
- Nhóm chủ động trong việc phân công công việc, bao gồm mua linh kiện, lắp đặt,
tìm tài liệu hướng dẫn cách triển khai một hệ thống IoT bao gồm Arduino Uno, sử
dụng sensor DHT11 đơn giản.
2. Những điều chưa đạt được
- Nhóm có mong muốn phát triển hệ thống IoT có khả năng ứng dụng vào thực tế
nhiều hơn, như tự động bơm nước khi môi trường đạt độ ẩm hoặc nhiệt độ ở mức
nhất định, nhưng chưa có điều kiện để hoàn thành.
3. Những điều đạt được
- Nhóm đã được tiếp cận với những linh kiện IoT ngoài đời và dâ tương tác, tìm
hiểu để triển khai, cố gắng phát triển trong ứng dụng ngoài dời thực. Ngoài ra
nhóm đã có kiến thức cơ bản về cấu trúc một hệ thống IoT đơn giản để từ đó làm
nền tảng mở rộng những hệ thống mang tính ứng dụng hơn vào thực tế. 15
TÀI LIỆU THAM KHẢO
[1] Đ. t. t. lai, "So sánh esp32 và esp8266," [Online]. Available:
https://dientutuonglai.com/esp32-va-esp8266.html.
[2] auduinikit, "Giám sát nhiệt độ, độ ẩm bằng App Blynk sử dụng NodeMCU ESP8266,"
2020. [Online]. Available: https://arduinokit.vn/cam-bien-nhiet-do-dht11-su-dung-
blynk/?fbclid=IwAR1lI8ypQK5lxk9e7AvKn0NAej54OE__oxvcprMpz2R5Mii- VuJpXeb9R7Q.
[3] Đ. t. t. lai, "Cảm biến độ ẩm và nhiệt độ," [Online]. Available:
https://dientutuonglai.com/cam-bien-nhiet-do-va-do-am-dht11.html.
[4] arduinokit, "Hướng dẫn cài đặt ESP8266 và kết nối với Blynk," 2022. [Online].
Available: https://arduinokit.vn/cai-dat-esp8266-voi-blynk/.
[5] N.-. l. k. đ. tử, "Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với
ESP8266," [Online]. Available: https://nshopvn.com/blog/huong-dan-cai-dat-va-su-
dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266/.
PHỤ LỤC
Hình 1: Module ESP8266 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Hình 2: Sensor nhiệt độ- độ ẩm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Hình 3: Dây nối dương - dương . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Hình 4: Đèn led . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Hình 5: Arduino IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Hình 6: Cách hoạt động của Blynk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 16