



















Preview text:
BỘ KHOA HỌC VÀ CÔNG NGHỆ
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ------o0o------ Môn IOT và ứng dụng Báo cáo giữa kỳ
Đề tài: Hệ thống giám sát chất lượng không khí
Nhóm 2: Phạm Việt Bách -
Trần Văn Hoàng - B22DCAT129
Nguyễn Minh Khiêm - B22DCDT170
Nguyễn Ngọc Long-B22DCVT319 Hà Nội, 2025 Mục lục Phụ lục hình ảnh 3 1. Giới thiệu chung 4 1.1. Lý do chọn đề tài 4
1.1.1. Thực trạng ô nhiễm không khí hiện nay 4
1.2. Mục đích của project 5 1.3. Phạm vi thực hiện 5
2. Kiến thức cơ bản (Cơ sở lý thuyết) 6
2.1. Tổng quan về IoT (Internet of Things): 6
2.2. Tổng quan về các cảm biến chất lượng không khí 9
2.3. Tổng quan về ESP32 và Arduino 15
2.5.1. Công thức tính AQI cơ bản 23
2.5.2. Phân loại AQI và ý nghĩa thực tế 24
2.5.3. Ứng dụng trong cảnh báo sức khỏe 25 3. Bài toán đặt ra 26 3.1. Vấn đề thực tế 26
3.2. Các yêu cầu đặt ra 26 3.3. Câu hỏi nghiên cứu 27
4. Thiết kế và xây dựng hệ thống 27 4.1. Tổng quan hệ thống 27
4.2. Nguyên lý hoạt động 28
4.3. Thiết kế phần cứng 28
4.3.1. Khối xử lý trung tâm 28 4.3.2. Khối truyền thông 31
4.3. Thiết kế giao diện giám sát 33
4.3.1. Hiển thị chỉ số AQI và cảnh báo màu sắc 33
4.3.2. Hiển thị các thông số môi trường chi tiết 33
4.3.3. Biểu đồ lịch sử AQI theo thời gian 34
4.3.4. Bảng dữ liệu chi tiết 35
4.3.5. Cập nhật dữ liệu tự động 35
5. Quy trình thực tế và vận hành hệ thống 38
5.1. Thu thập và Tiền xử lý dữ liệu tại thiết bị (Edge Data Collection) 38
5.2. Truyền tải dữ liệu IoT (Gateway Communication) 38
5.3. Hiệu chỉnh và Khử nhiễu dữ liệu bằng AI (Cloud AI Processing) 39
5.4. Hiển thị Dashboard và Cảnh báo thông minh 39
5.5. Lưu trữ và Phân tích lịch sử (Historical Analytics) 40 Phụ lục hình ảnh Hình 1: Internet of Things 6
Hình 2: Cảm biến hỗn hợp khí MQ-135 10 Hình 3: Cấu hình Pin 10
Hình 4: Đường đặc tính của các loại khí 12
Hình 6: Biểu đồ thời gian giữa các bit 14
Hình 7: Cảm biến bụi mịn GP2Y1014AU 14
Hình 9: Cấu tạo của ESP32 16
Hình 10: Kết nối giao tiếp UART giữa ESP32 và Arduino 17
Hình 11: Các thiết bị có thể giao tiếp với ESP32 thông qua giao thức UART 19
Hình 12: ESP32 kết nối PC qua UART để nạp code và debug. 20
Hình 13: ESP32 giao tiếp với module SIM7600CE qua UART bằng lệnh AT. 20
Hình 14: Cấu trúc tổng quan của hệ thống 27
Hình 15: Sơ đồ nguyên lý hoạt động 28
Hình 16: Thiết kế khối xử lý trung tâm 29
Hình 17: Các thông số môi trường 34
Hình 18: Biểu đồ tương tác 34
Hình 19: Bảng dữ liệu chi tiết 35
Hình 20: giao diện hiển thị dữ liệu đo đạc của các cảm biến 37
Hình 21: Dữ liệu được đo đạc từ mới đến cũ trong database 38
b. Quy trình Xây dựng Dữ liệu và Huấn luyện (Data & Training Pipeline) 40 1. Giới thiệu chung 1.1. Lý do chọn đề tài
1.1.1. Thực trạng ô nhiễm không khí hiện nay
Ô nhiễm không khí đã và đang trở thành một trong những thách thức môi trường
lớn nhất mà nhân loại phải đối mặt trong thế kỷ 21. Tại Việt Nam, quá trình đô thị hóa,
công nghiệp hóa nhanh chóng cùng với sự gia tăng của các phương tiện giao thông đã
khiến chất lượng không khí ở nhiều thành phố lớn và khu công nghiệp suy giảm đến
mức báo động. Các hạt bụi mịn (PM2.5, PM10), khí độc (CO, SO2, NO2) và các hợp
chất hữu cơ dễ bay hơi (VOCs) thường xuyên vượt ngưỡng an toàn, gây ra những tác
động tiêu cực nghiêm trọng đến sức khỏe con người, là nguyên nhân trực tiếp dẫn đến
các bệnh về đường hô hấp, tim mạch, và làm giảm tuổi thọ trung bình.
Trước thực trạng đáng lo ngại trên, việc giám sát chất lượng không khí một cách
liên tục, chính xác và phổ biến rộng rãi trở nên vô cùng cần thiết. Các trạm quan trắc cố
định tuy cung cấp dữ liệu đáng tin cậy nhưng có số lượng rất ít, độ phủ không cao và
không thể cung cấp thông tin theo thời gian thực đến cho từng hộ gia đình được. Do đó,
người dân thiếu đi một công cụ hữu hiệu để nắm bắt chất lượng không khí tại chính nơi
mình sống và làm việc, từ đó có những biện pháp phòng ngừa kịp thời như đeo khẩu
trang, hạn chế ra ngoài hay sử dụng máy lọc không khí. Việc xây dựng một hệ thống
giám sát nhỏ gọn, linh hoạt và cung cấp dữ liệu tức thời là một nhu cầu thực tiễn và
mang lại giá trị lớn cho cộng đồng.
Với sự phát triển mạnh mẽ của công nghệ Vạn vật kết nối (IoT) và Trí tuệ nhân
tạo (AI), nhóm chúng em xin phép thực hiện dự án đề tài "Giám sát chất lượng không khí
- Air Quality Monitor", được thực hiện với mục đích xây dựng một hệ thống hoàn chỉnh, bao gồm:
● Thiết bị IoT: Thiết kế các thiết bị cảm biến nhỏ gọn để thu thập dữ liệu về các chỉ
số chất lượng không khí quan trọng (nồng độ bụi PM2.5, nhiệt độ, độ ẩm...) theo thời gian thực.
● Nền tảng giám sát: Dữ liệu từ cảm biến sẽ được gửi về máy chủ thông qua kết
nối không dây, cho phép người dùng theo dõi các thông số một cách trực quan qua
ứng dụng di động hoặc trang web giúp dự đoán và cập nhật
● Ứng dụng AI: Tận dụng dữ liệu thu thập được, áp dụng các thuật toán máy học
(Machine Learning) để phân tích, hiệu chỉnh nồng độ khí bụi dựa trên độ ẩm và
nhiệt độ để đưa ra kết quả chính xác hơn.
Bằng cách kết hợp IoT và AI, dự án hướng tới việc cung cấp một giải pháp giám sát
không khí thông minh, dự đoán chính xác, hiệu quả và dễ tiếp cận, giúp nâng cao nhận
thức cho mỗi cá nhân trong việc chủ động bảo vệ sức khỏe của bản thân và gia đình trước
mối đe dọa từ ô nhiễm không khí.
1.2. Mục đích của project
Project hướng tới những mục đích và giá trị sau:
- Xây dựng một hệ thống hoàn chỉnh có khả năng đo lường, thu thập và dự
đoán chỉ số chất lượng không khí (AQI) theo thời gian thực. Mục tiêu cốt lõi
là thiết kế và triển khai một thiết bị IoT có khả năng đo đạc chính xác các thông
số môi trường, đặc biệt là nồng độ bụi mịn PM2.5. Dữ liệu này sau đó được
truyền tải và lưu trữ, rồi dùng hệ thống tính toán và hiển thị chỉ số AQI một cách
liên tục, cung cấp cái nhìn tức thời về tình hình không khí.
- Cung cấp cho người dùng một công cụ tiện lợi để nắm bắt chất lượng không
khí tại khu vực sinh sống và làm việc. Thông qua một giao diện người dùng
thân thiện trên ứng dụng di động hoặc website, người dùng có thể dễ dàng truy
cập vào dữ liệu chất lượng không khí, xem lịch sử đo đạc và nhận các cảnh báo
khi chất lượng không khí suy giảm xuống mức nguy hại. Điều này giúp họ đưa
ra các quyết định sáng suốt để bảo vệ sức khỏe, như lên kế hoạch cho các hoạt
động ngoài trời hoặc áp dụng các biện pháp phòng ngừa cần thiết.
- Ứng dụng công nghệ Trí tuệ nhân tạo (AI) để cải thiện độ chính xác của dữ
liệu và phát triển tính năng trợ lí ảo thông minh. Bằng cách phân tích các
chuỗi dữ liệu lịch sử thu thập được, kết hợp với các yếu tố khác như thời tiết, mô
hình AI sẽ được huấn luyện để nhận dạng các quy luật biến đổi của chất lượng
không khí. Từ đó, hệ thống có thể giúp tăng cường độ tin cậy của các chỉ số đo
đạc. Đồng thời việc kết hợp với trợ lí ảo AI giúp đưa ra những lời khuyên bổ ích
giúp người dùng về việc chú ý sức khỏe và những cảnh báo về ô nhiễm môi trường xung quanh. 1.3. Phạm vi thực hiện
Để đảm bảo tính khả thi và tập trung vào các mục tiêu cốt lõi, project sẽ được giới hạn trong các phạm vi sau:
● Phạm vi không gian: Hệ thống sẽ được triển khai và thử nghiệm ở quy mô nhỏ
trong môi trường phòng học. Việc này cho phép dễ dàng theo dõi, thu thập dữ liệu
và đánh giá hiệu quả hoạt động của thiết bị cũng như độ chính xác của các thuật
toán trước khi xem xét mở rộng ra môi trường thực tế phức tạp hơn.
● Phạm vi công nghệ AI: Project sẽ tập trung vào việc ứng dụng một mô hình AI
đã được huấn luyện trước (pre-trained model) để xử lý dữ liệu. Mô hình này sẽ
được tích hợp vào phía máy chủ (server) để phân tích dữ liệu do thiết bị IoT gửi
về. Phạm vi của project không bao gồm công đoạn thu thập một tập dữ liệu lớn và
huấn luyện lại (retraining) mô hình từ đầu.
● Phạm vi phần cứng: Thiết bị IoT prototype sẽ được xây dựng dựa trên các linh
kiện điện tử phổ biến và dễ tiếp cận. Danh sách các thiết bị chính bao gồm:
○ Vi điều khiển trung tâm: Kit phát triển ESP32.
○ Cảm biến môi trường: Cảm biến nhiệt độ, độ ẩm DHT11.
○ Cảm biến chất lượng không khí: Cảm biến khí độc MQ135 và cảm biến bụi mịn GP2Y1014AU.
○ Thiết bị hiển thị và cảnh báo: Màn hình LCD và đèn LED RGB để cung
cấp phản hồi trực quan tại chỗ.
2. Kiến thức cơ bản (Cơ sở lý thuyết)
2.1. Tổng quan về IoT (Internet of Things): Hình 1: Internet of Things
Khái niệm và nguyên lý hoạt động:
- Khái niệm về IoT: có tên gọi cụ thể là “Mạng lưới vạn vật kết nối Internet” hay
“Mạng lưới thiết bị kết nối Internet”, là một liên mạng kết nối với các đồ vật và
thiết bị thông qua cảm biến, phần mềm hay các công nghệ khác, cho phép các đồ
vật và thiết bị thu nhập và trao đổi dữ liệu với nhau mà không yêu cầu sự tương
tác giữa con người với máy tính. Đây là một khái niệm đánh dấu sự hiện đại hoá
mạnh mẽ của thế giới công nghệ hiện đại khi mà mạng lưới kết nối không chỉ
giới hạn trong việc truyền tải dữ liệu mà còn mở ra một không gian tương tác
linh hoạt giữa các thiết bị và đám mây. - Nguyên lý hoạt động:
Nguyên lý hoạt động của IoT dựa trên việc kết nối các thiết bị với nhau thông
qua mạng Internet để tạo ra một mạng lưới lớn gồm nhiều thiết bị thông minh.
Các thiết bị này có thể là những thiết bị như điện thoại di động, máy tính bảng,
máy tính xách tay, máy lạnh, hệ thống chiếu sáng, cảm biến, xe hơi và nhiều hơn
nữa, đều được trang bị cảm biến và phần mềm để thu thập, xử lý và trao đổi dữ liệu.
Dữ liệu thu thập được từ các thiết bị này sau đó được gửi đến một nền tảng IoT,
nơi mà dữ liệu được phân tích và xử lý để cung cấp thông tin hữu ích cho người
dùng. Thông qua việc phân tích dữ liệu thu thập được, IoT cho phép người dùng
kiểm soát tối ưu hoá các hoạt động. Nhờ vào IoT, người dùng có thể kiểm soát
và quản lý mọi thứ từ xa, từ việc điều chỉnh nhiệt độ trong nhà, quản lý hệ thống
chiếu sáng, đến việc theo dõi tình trạng sức khỏe cá nhân hoặc quản lý quy trình
sản xuất tại các nhà máy.
Không chỉ giúp tối ưu hoá các hoạt động hàng ngày, IoT còn có khả năng cung
cấp các giải pháp cho nhiều vấn đề xã hội như quản lý năng lượng, giảm thiểu ô
nhiễm, thúc đẩy sự phát triển bền vững, và nhiều hơn nữa.
Kiến trúc cơ bản của hệ thống IoT (cảm biến – truyền dẫn – xử lý – giao diện)
- Sự phát triển của kiến trúc IoT không phải là sự phát triển của một công nghệ
riêng lẻ nào mà là sự tổng hợp, thúc đẩy cải tiến không ngừng của hàng loạt các
lĩnh vực công nghệ nền tảng khác nhau. Chính vì mỗi hệ thống IoT có những
yêu cầu và độ phức tạp khác nhau nên cấu trúc về kiến trúc IoT không được
thống nhất trên toàn cầu. Một vài mô hình kiến trúc IoT phổ biến như: kiến trúc
ba lớp; kiến trúc bốn lớp; kiến trúc năm lớp. + Kiến trúc ba lớp:
Đây là kiến trúc được giới thiệu lần đầu tiên ở các nghiên cứu sớm nhất
về IoT, mô hình kiến trúc này gồm ba tầng: Perception, Network, Application.
● Perception: là lớp vật lý của kiến trúc, nơi tồn tại các cảm biến và
các thiết bị được kết nối thu thập nhiều lượng dữ liệu khác nhau
theo nhu cầu của dự án. Tầng này bao gồm các thiết bị biên (edge),
cảm biến và thiết bị truyền động tương tác với môi trường.
● Network: dữ liệu được thu thập cần được truyền và xử lý, tầng này
sẽ kết nối các thiết bị ở tầng Perception với các đối tượng thông
minh, máy chủ và các thiết bị mạng khác.
● Application: lớp ứng dụng chịu trách nhiệm cung cấp các dịch vụ,
ứng dụng cụ thể cho người dùng tương tác. Ví dụ khi triển khai
nhà thông minh, trong đó người dùng nhấn vào một nút trong ứng
dụng để bật máy pha cà phê. + Kiến trúc bốn lớp:
Đây là kiến trúc được sử dụng rộng rãi nhất hiện nay, bao gồm: tầng thu
thập thiết bị trường (Perception Layer - Edge Devices); tầng truyền tải
thông tin (Transport Layer - Gateways); tầng xử lý dữ liệu (Processing
Layer); tầng ứng dụng (Application Layer).
● Tầng thu nhập thiết bị trường (Perception - Edge Devices): Tầng
thiết bị trường chính là những thiết bị vật lý có nhiệm vụ cụ thể như
thu thập dữ liệu, đo đạc thông số của môi trường, nhà máy, cơ thể
con người, thông số kỹ thuật và tình trạng hoạt động của máy
móc…Tầng vật lý thu thập có thể bao gồm các thiết bị như cảm biến
nhiệt độ – độ ẩm,cảm biến bụi mịn, van cảm biến, camera thông
minh, các bộ truyền động… hoạt động theo nhóm được kết nối với
nhau và kết nối với trung tâm thu thập dữ liệu. Hiện nay, với sự phát
triển mạnh mẽ của công nghệ, đa phần các thiết bị trường đã có thể
giao tiếp với nhau và giao tiếp với bộ thu thập thông tin qua giao
thức truyền tải không dây giúp đảm bảo tính toàn vẹn của dữ liệu,
tránh những yếu tố nhiễu từ bên ngoài môi trường và đảm bảo đồng
bộ hoá thông tin theo thời gian thực.
● Tầng truyền tải thông tin (Transport Layer – Gateways): Nếu so sánh
những thiết bị vật lý có nhiệm vụ thu thập dữ liệu tại hiện trường
như các giác quan của con người như mắt,mũi, tai…thì tầng truyền
tải thông tin có nhiệm vụ như những mạch máu và những nơron thần
kinh, có nhiệm vụ truyền tải thông tin thu thập được đến bộ não (bộ
thu thập và xử lý dữ liệu). Hiện nay, với tốc độ phát triển đáng kinh
ngạc của khoa học-kỹ thuật thì việc đảm bảo tính nhất quán của dữ
liệu, tốc độ và bảo mật được đặt lên hàng đầu. Từ những phương
thức truyền thông mạng có dây cũ như RS232, RS485… thì hiện nay
các hệ thống IoT hiện đại đều thay thế bằng những phương thức
truyền tải không dây như WiFi, LoRa,RF kết hợp với truyền tải có
dây tốc độ cao như PROFINET, CAN bus, SPI… giúp nâng cao tốc
độ truyền tải, tránh được những yếu tố gây nhiễu dẫn đến sai lệch
thông tin từ môi trường như ảnh hưởng của từ trường, sụt áp trên
đường dây truyền tải…Các thiết bị vật lý sau khi đo những đại lượng
vật lý như nhiệt độ, áp suất, mức nước…sau đó sẽ chuyển đổi những
tín hiệu này sang tín hiệu điện và được truyền tải theo các giao thức
truyền thông như MQTT, HTTP, Modbus, PROFINET…
● Tầng xử lý dữ liệu (Processing Layer): Nhiệm vụ chính của tầng xử
lý dữ liệu là thu thập dữ liệu từ thiết bị trường thông qua các giao
thức truyền tải, lưu trữ và ứng dụng những thuật toán để dự đoán,
đưa ra quyết định cho người sử dụng. Dữ liệu sau khi thu thập được
sẽ được lưu trữ trong các máy chủ (server) và được lưu trữ dữ liệu
lên cloud. Vì lượng dữ liệu là khổng lồ và quá trình yêu cầu truy vấn
dữ liệu nhanh thì các server cần có cấu hình mạnh, khả năng lưu trữ
lớn và tốc độ xử lý cực kỳ nhanh. Tại đây, những dữ liệu sẽ được xử
lý thông qua những thuật toán như ML (Machine Learning) và biến
chúng thành những dữ liệu mà tầng ứng dụng có thể “đọc được”.
● Tầng ứng dụng (Application Layer): Tầng ứng dụng có nhiệm vụ
cung cấp cho người dùng những thông tin thu thập được từ hệ thống,
tự động hóa quy trình và cải thiện chất lượng, đưa ra quyết định qua
những thiết bị khác nhau như điện thoại thông minh, màn hình HMI
trong hệ thống công nghiệp… giúp thao tác dễ dàng và đơn giản hóa quá trình vận hành. + Kiến trúc năm lớp:
Kiến trúc này được phát triển nhằm đáp ứng nhu cầu của Iot trong thời đại
số và mô hình này gồm năm tầng: Things (thiết bị); Gateways (trạm kết
nối); Network and Cloud (hạ tầng mạng); Edge Computing (xử lý gần); Applications (ứng dụng).
● Tầng Things gồm các thiết bị được kết nối thu thập dữ liệu.
● Tầng Gateways chuyển đổi dữ liệu thành hành động hoặc xử lý dữ liệu theo yêu cầu.
● Tầng Network and Cloud kết nối các thiết bị ở tầng Things với
internet hoặc các mạng khác nhau.
● Tầng Edge Computing xử lý dữ liệu gần nguồn để giảm độ trễ và tăng hiệu quả.
● Tầng Applications cung cấp các dịch vụ và ứng dụng cho người dùng.
Các giao thức truyền thông trong IoT: HTTP, MQTT, WiFi, TCP/IP
Giao thức truyền thông IoT là các quy tắc và quy chuẩn được thiết lập để điều khiển
việc truyền thông dữ liệu giữa các thiết bị IoT và hệ thống mạng. Cách giao thức này
đảm bảo rằng thông tin được truyền tải một cách an toàn, hiệu quả và đáng tin cậy.
Điều này đặc biệt quan trọng trong môi trường IoT, nơi hàng tỷ thiết bị có thể cần giao
tiếp với nhau và với hệ thống trung tâm.
Một số lợi ích của giao thức truyền thông mang lại là:
- Linh hoạt và dễ mở rộng: giao thức đóng vai trò quan trọng trong việc tạo ra tính
linh hoạt và mở rộng cho hệ thống IoT. Điều này giúp tối ưu hóa việc quản lý và
điều khiển các thiết bị IoT từ xa một cách dễ dàng, đồng thời tạo ra khả năng mở
rộng hệ thống một cách linh hoạt theo nhu cầu sử dụng.
- Bảo mật thông tin và dữ liệu: một trong những yếu tố quan trọng không thể thiếu
khi áp dụng công nghệ IoT chính là bảo mật thông tin và dữ liệu. Giao thức cho
phép việc mã hóa dữ liệu truyền tải giữa các thiết bị, từ đó đảm bảo tính an toàn và
bảo mật cho thông tin cá nhân, doanh nghiệp và dữ liệu quan trọng.
- Tối ưu hiệu quả và tiêu thụ năng lượng: giao thức cũng đóng vai trò quan trọng
trong việc tối ưu hóa hiệu quả hoạt động của hệ thống cũng như tiêu thụ năng
lượng của các thiết bị.
- Dễ tích hợp với hệ thống khác: giao thức cung cấp khả năng hỗ trợ tích hợp linh
hoạt giữa các nền tảng và thiết bị khác nhau. Việc sử dụng các giao thức cho phép
các thiết bị IoT có khả năng tương tác với nhau một cách dễ dàng, giúp tạo ra môi
trường kết nối thông minh và toàn diện.
2.2. Tổng quan về các cảm biến chất lượng không khí
MQ-135 (Cảm biến khí cho chất lượng không khí): đo NH₃, NOₓ, CO₂, benzen…
Khi nói đến việc đo lường hoặc phát hiện một loại Khí cụ thể, các cảm biến Khí dòng
MQ là loại cảm biến rẻ tiền nhất và được sử dụng phổ biến. MQ135 có sẵn dưới dạng
mô-đun hoặc chỉ là cảm biến.
Hình 2: Cảm biến hỗn hợp khí MQ-135 Cấu hình Pin: Hình 3: Cấu hình Pin Hình: Pin Tên Pin Mô tả Đối với Module 1 Vcc
Được sử dụng để cấp nguồn cho cảm biến, nói chung
điện áp hoạt động là + 5V. 2 Đất
Được sử dụng để kết nối mô-đun với mặt đất hệ thống. 3 Đầu ra kỹ thuật số
Cũng có thể sử dụng cảm biến này để nhận đầu ra kỹ
thuật số từ chân này, bằng cách đặt giá trị ngưỡng bằng chiết áp. 4 Analog Out
Chân này xuất ra điện áp tương tự 0-5V dựa trên cường độ của khí. Đối với cảm biến 1 H-Pins
Trong số hai chân H, một chân được kết nối với nguồn
cung cấp và chân kia nối đất. 2 A-Pins
Các chân A và chân B có thể hoán đổi cho nhau. Các
chân này sẽ được buộc vào điện áp Nguồn cung cấp. 3 B-Pins
Chân A và chân B có thể hoán đổi cho nhau. Một chân
sẽ hoạt động như đầu ra trong khi chân kia sẽ được kéo xuống đất. - Tính năng:
+ Phạm vi phát hiện rộng.
+ Phản hồi nhanh và độ nhạy cao.
+ Cuộc sống ổn định và lâu dài.
+ Điện áp hoạt động là + 5V.
+ Phát hiện / đo NH3, NOx, rượu, Benzen, khói, CO2, v.v.
+ Điện áp đầu ra tương tự: 0V đến 5V.
+ Điện áp đầu ra kỹ thuật số: 0V hoặc 5V (TTL Logic).
+ Thời gian làm nóng trước 20 giây.
+ Có thể được sử dụng như một cảm biến kỹ thuật số hoặc tương tự.
+ Độ nhạy của chân kỹ thuật số có thể được thay đổi bằng cách sử dụng chiết áp.
- Cách sử dụng cảm biến MQ-135 để đo PPM:
Cảm biến khí MQ-135 áp dụng SnO2 có điện trở cao hơn trong không khí rõ ràng
làm vật liệu cảm biến khí. Khi có sự gia tăng các khí gây ô nhiễm, điện trở của
cảm biến khí sẽ giảm cùng với đó. Để đo PPM bằng cảm biến MQ-135, chúng ta
cần xem xét biểu đồ PPM (Rs / Ro) v / s lấy từ biểu dữ liệu MQ135.
Hình 4: Đường đặc tính của các loại khí
Hình trên cho thấy các đặc tính nhạy cảm điển hình của MQ-135 đối với một số loại
khí. trong chúng: Nhiệt độ: 20, Độ ẩm: 65%, nồng độ O2 21%, RL = 20kΩ.
● Ro: điện trở của cảm biến ở 100ppm của NH3 trong không khí sạch.
● Rs: điện trở của cảm biến ở các nồng độ khí khác nhau.
● Giá trị của Ro là giá trị của điện trở trong không khí trong lành (hoặc không khí
mà chúng ta đang so sánh) và giá trị của Rs là giá trị của điện trở trong nồng độ
khí. Đầu tiên cần hiệu chỉnh cảm biến bằng cách tìm các giá trị của Ro trong
không khí trong lành và sau đó sử dụng giá trị đó để tìm R theo công thức. Sau
khi tính toán các giá trị Ro và Rs, tỷ lệ được tìm thấy và sử dụng biểu đồ trên,
chúng ta có thể tính giá trị PPM của loại khí cụ thể cần đo. ● Thông số kỹ thuật:
❖ Điện áp nguồn <=24V DC
❖ Điện áp của heater: 5V AC/DC
❖ Điện trở tải: Thay đổi được (2kOm -> 47kOm)
❖ Điện trở heater: 33om
❖ Công suất tiêu thụ của heater: Nhỏ hơn 800mW
❖ Nồng độ phát hiện của một số chất: 10 - 300 ppm NH3, 10 - 1000 ppm Benzen, 10 - 300 ppm Alcol.
DHT11: đo nhiệt độ, độ ẩm
Hình 5: Cảm biến nhiệt độ, độ ẩm DHT11
Cảm biến DHT11 bao gồm một bộ phận cảm biến độ ẩm điện dung và một nhiệt điện trở
để cảm biến nhiệt độ. Tụ điện cảm biến độ ẩm có hai điện cực với chất nền giữ ẩm làm
chất điện môi giữa chúng. Sự thay đổi giá trị điện dung xảy ra khi độ ẩm thay đổi. IC đo,
xử lý các giá trị điện trở đã thay đổi này và chuyển chúng thành dạng kỹ thuật số.
Để đo nhiệt độ, cảm biến này sử dụng điện trở nhiệt có hệ số nhiệt độ Âm, làm giảm giá
trị điện trở của nó khi nhiệt độ tăng. Để có được giá trị điện trở lớn hơn ngay cả khi nhiệt
độ thay đổi nhỏ nhất, cảm biến này thường được tạo thành từ gốm bán dẫn hoặc polyme.
Phạm vi nhiệt độ của DHT11 là từ 0 đến 50 độ C với độ chính xác 2 độ. Phạm vi độ ẩm
của cảm biến này là từ 20 đến 80% với độ chính xác 5%. Tốc độ lấy mẫu của cảm biến
này là 1Hz. Tức là nó cho một lần đọc mỗi giây. DHT11 có kích thước nhỏ, điện áp hoạt
động từ 3 đến 5 volt. Dòng điện tối đa được sử dụng trong khi đo là 2,5mA.
Đầu ra được đưa ra bởi chân dữ liệu sẽ theo thứ tự là dữ liệu số nguyên độ ẩm 8 bit + 8
bit dữ liệu thập phân độ ẩm + dữ liệu số nguyên nhiệt độ 8 bit + dữ liệu nhiệt độ phân
đoạn 8 bit + bit chẵn lẻ 8 bit. Để yêu cầu mô-đun DHT11 gửi những dữ liệu này, chân I /
O phải được đặt ở mức thấp trong giây lát và sau đó được giữ ở mức cao như thể hiện
trong biểu đồ thời gian bên dưới.
Hình 6: Biểu đồ thời gian giữa các bit Thông số kỹ thuật:
- Điện áp hoạt động: 3.5V đến 5.5V
- Dòng hoạt động: 0,3mA (đo) 60uA (chế độ chờ)
- Đầu ra: Dữ liệu nối tiếp
- Phạm vi nhiệt độ: 0 ° C đến 50 ° C
- Phạm vi độ ẩm: 20% đến 90%
- Độ phân giải: Nhiệt độ và Độ ẩm đều là 16-bit
- Độ chính xác: ± 1 ° C và ± 1%
Cảm biến bụi mịn PM2.5 GP2Y1014AU
Hình 7: Cảm biến bụi mịn GP2Y1014AU
Cảm biến bụi PM2.5 GP2Y1014AU0F được sử dụng để nhận biết nồng độ bụi PM2.5
trong không khí, nguyên lý hoạt động dựa trên LED phát hồng ngoại tích hợp bên trong
cảm biến, khi có bụi vào thì sẽ bị khúc xạ, làm giảm đi cường độ tia hồng ngoại => điện áp thay đổi. Thông số kỹ thuật: - Điện áp cung cấp: 5-7V -
Nhiệt độ làm việc: -10-65 độ C -
Tiêu thụ hiện tại: tối đa 20mA -
Giá trị phát hiện hạt tối thiểu: 0,8 micron -
Độ nhạy: 0,5V / (0,1mg / m3) -
Điện áp không khí sạch: 0,9V điển hình -
Nhiệt độ làm việc: -10 ~ 65 ° C
- Nhiệt độ lưu trữ: -20 ~ 80 ° C
2.3. Tổng quan về ESP32 và Arduino
Cấu trúc, ưu điểm của ESP32 (WiFi, Bluetooth) - Tổng quan:
ESP32 là một module không dây với tích hợp Wifi và Bluetooth, được phát
triển bởi Espressif Systems. Nó được ra mắt sau sự thành công của người tiền
nhiệm ESP8266, nhưng với nhiều cải tiến và tính năng mới. ESP32 là một lựa
chọn phổ biến trong cộng đồng IoT (Internet of Things) bởi vì nó cung cấp một
giải pháp tự chứa và hiệu quả về chi phí để truyền tải dữ liệu qua Internet. Hình 8: Kit ESP32 - Cấu tạo:
Một mô-đun ESP32 tiêu chuẩn bao gồm bộ vi xử lý, bộ nhớ flash, bộ
khuếch đại điều chỉnh Wi-Fi, Bluetooth, và nhiều bộ phận khác trên một
PCB nhỏ gọn. Phần cứng có thể được mở rộng sử dụng các loại pin và phụ
kiện thông qua các chân GPIO.
Hình 9: Cấu tạo của ESP32 - Các tính năng:
+ Bộ xử lý Tensilica Xtensa LX6 kép nhân, chạy tốc độ lên đến 240MHz.
+ Bộ nhớ SRAM tích hợp với kích thước lớn.
+ Có khả năng kết nối Wi-Fi chuẩn 802.11 b/g/n và Bluetooth v4.2 + BR/EDR và BLE.
+ Hỗ trợ nhiều giao diện giao tiếp bao gồm UART, SPI, I2C, CAN.
+ Nhiều chân GPIO hỗ trợ PWM, ADC, DAC.
+ Hỗ trợ bảo mật WPA/WPA2 và WPA 3 và một số giao thức mạng khác.
+ Cấu hình dễ dàng thông qua AT commands hoặc sử dụng các framework
như ESP-IDF và Arduino.2.1.4. Các loại ESP32 phổ biến
- Ưu điểm, nhược điểm: + Ưu điểm:
● Mạnh mẽ: Vi xử lý kép nhân cung cấp sức mạnh xử lý lớn cho các ứng dụng phức tạp.
● Đa năng: Các giao diện giao tiếp và IO đa dạng giúp kết nối với
nhiều loại cảm biến và thiết bị ngoại vi.
● Kết nối không dây: Hỗ trợ Wifi và Bluetooth tích hợp giúp dễ dàng kết nối vào mạng IoT.
● Lập trình dễ dàng: Hỗ trợ môi trường phát triển phong phú như
Arduino, MicroPython, ESP-IDF.
● Chi phí hiệu quả: Giá cả cạnh tranh so với các giải pháp khác trên thị trường. + Nhược điểm:
● Tiêu thụ năng lượng: Khi hoạt động ở chế độ full-feature, ESP32 có
thể tiêu thụ khá nhiều năng lượng.
● Hạn chế bộ nhớ: Dù có RAM khá lớn nhưng vẫn có thể không đủ
cho các ứng dụng lớn hoặc cần nhiều dữ liệu bộ nhớ cache.
Cách giao tiếp giữa Arduino và ESP32 qua UART
- Giao tiếp UART là: một giao thức truyền thông nối tiếp không đồng bộ. Nó
được sử dụng để truyền dữ liệu giữa các thiết bị điện tử như vi điều khiển, cảm
biến, và module truyền thông.
Trong dự án này, giao tiếp UART (Universal Asynchronous Receiver
-Transmitter) đóng vai trò là cầu nối dữ liệu huyết mạch giữa khối thu thập
(Arduino Uno) và khối truyền tin (ESP32). Do Arduino Uno hoạt động độc lập
để xử lý tín hiệu cảm biến, còn ESP32 chịu trách nhiệm kết nối mạng, chúng cần
một giao thức đơn giản, tin cậy để trao đổi thông tin liên tục.
- Cách thức hoạt động:
+ UART sử dụng hai dây chính: một dây để truyền dữ liệu (Tx) và một dây để nhận dữ liệu (Rx).
+ Dữ liệu được truyền từng bit một, không cần tín hiệu đồng hồ để đồng bộ hóa.
+ Mỗi gói dữ liệu bao gồm một bit bắt đầu, các bit dữ liệu, và một hoặc hai bit dừng
Hình 10: Kết nối giao tiếp UART giữa ESP32 và Arduino - Ưu điểm:
+ Đơn giản và dễ triển khai.
+ Chỉ cần hai dây để truyền và nhận dữ liệu. - Nhược điểm:
+ Tốc độ truyền dữ liệu không cao.
+ Không phù hợp cho các ứng dụng yêu cầu đồng bộ hóa chính xác
Khi sử dụng giao tiếp UART cần lưu ý một số điểm sau:
+ Tốc độ Baud: Đảm bảo cả hai thiết bị giao tiếp có cùng tốc độ baud (baud
rate). Nếu không, dữ liệu sẽ bị lỗi hoặc không thể truyền được.
+ Kết nối đúng chân: Chân Tx của thiết bị này phải kết nối với chân Rx của
thiết bị kia và ngược lại.
+ Điện áp: Đảm bảo các thiết bị có cùng mức điện áp logic. Ví dụ, nếu một
thiết bị hoạt động ở 3.3V và thiết bị kia ở 5V, bạn cần sử dụng bộ chuyển đổi mức điện áp.
+ Ground chung: Các thiết bị phải có chung một điểm ground để đảm bảo tín
hiệu truyền thông ổn định.
+ Kiểm tra lỗi: Sử dụng các bit kiểm tra lỗi (parity bit) nếu cần thiết để phát
hiện và sửa lỗi trong quá trình truyền dữ liệu.
+ Buffer: Kiểm tra và quản lý buffer để tránh tình trạng tràn bộ đệm (buffer
overflow), đặc biệt khi truyền dữ liệu lớn.
+ Khoảng cách: UART không thích hợp cho truyền thông khoảng cách xa.
Nếu cần truyền dữ liệu xa, hãy xem xét các giao thức khác như RS-485. Giao tiếp UART trên ESP32
- Kết nối truyền nhận dữ liệu với PC
- Truyền nhận dữ liệu với vi điều khiển khác
- Kết nối truyền nhận dữ liệu với module hỗ trợ chuẩn giao tiếp UART
Hình 11: Các thiết bị có thể giao tiếp với ESP32 thông qua giao thức UART
Thiết lập giao tiếp UART trên ESP32
Các bước thiết lập giao tiếp UART trên ESP32 khi dùng Arduino IDE - Khởi tạo UART:
+ Serial.begin(baudRate): Khởi tạo UART0.
+ Serial2.begin(baudRate): Khởi tạo UART2.
+ Serial2.begin(baudRate, config, rxPin, txPin): Khởi tạo UART2 với chân RX/TX xác định. - Gửi dữ liệu:
+ Serial.print(data): Gửi dữ liệu qua UART0.
+ Serial.println(data): Gửi dữ liệu kèm theo ký tự xuống dòng qua UART0. - Nhận dữ liệu:
+ Serial.available(): Kiểm tra xem có dữ liệu đến qua UART0 hay không.
+ Serial.read(): Đọc một byte dữ liệu từ UART0.
+ Serial.readString(): Đọc một chuỗi dữ liệu từ UART0.
Có hai cách để dùng giao tiếp UART trên ESP32: - Giao tiếp UART cứng:
+ Sử dụng UART cứng qua hai chân Rx0 và Tx0, lưu ý đây cũng là hai dùng
để nạp chương trình cho ESP32. Có thể sử dụng hai chân Rx2 và Tx2 để giao tiếp UART.
Hình 12: ESP32 kết nối PC qua UART để nạp code và debug. - Giao tiếp UART mềm:
+ Giao tiếp UART mềm bằng cách sử dụng thư viện SoftwareSerial, khi dùng cách
này chúng ta sẽ khai báo hai chân bất kỳ làm chức năng Rx và Tx.
Hình 13: ESP32 giao tiếp với module SIM7600CE qua UART bằng lệnh AT.
Cách truyền nhận dữ liệu qua UART