



















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ÁO CÁO BÀI TẬP LỚN
NÔNG NGHIỆP THÔNG MINH Thành viên nhóm 6:
Họ và tên: Nguyễn An Tân MSV: K22DTCN024
Họ và tên: Nguyễn Tuấn Đạt MSV: K22DTCN004
Họ và tên: Vũ Quang Đạt MSV: K22DTCN006 Lớp: D22TXCN01- K Giảng viên hướng dẫn: TS Nguyễn Đức Minh HÀ NỘI - 2025 Mục lục
MỞ ĐẦU...................................................................................................................... 3
1. Tính cấp thiết của đề tài.........................................................................................3
2. Lý do chọn đề tài...................................................................................................3
3. Mục đích nghiên cứu.............................................................................................3
4. Kết cấu đề tài.........................................................................................................4
Chương 1: Tổng quan về các thiết bị sử dụng trong hệ thống.................................5
1.1. Vi điều khiển...................................................................................................5
1.2. Các cảm biến......................................................................................................8
a. Cảm biến DHT11................................................................................................8
b. Cảm biến ánh sáng quang trở CDS Light Sensor..............................................10
1.3. Các giao thức truyền thông được sử dụng trong bài tập lớn..............................10
1.3.1. Tại sao chọn giao thức HTTP?...................................................................11
1.3.2. Cách hoạt động của giao thức HTTP trong bài tập lớn...............................11
1.3.3. Ví dụ về việc sử dụng HTTP trong bài tập lớn...........................................11
1.3.4. Lợi ích của việc sử dụng HTTP trong bài tập lớn.......................................13
1.4. Các Server Trong Bài Tập Lớn - ThingSpeak...................................................13
1.4.1. Giới thiệu về ThingSpeak...........................................................................13
1.4.2. Vai trò của ThingSpeak trong bài tập lớn...................................................13
1.4.3. Các loại Server trong ThingSpeak..............................................................14
1.4.4. Các Tính Năng Của ThingSpeak Server.....................................................14
1.4.5. Cách Thiết Lập ThingSpeak Server............................................................15
Chương 2: Cấu tạo và nguyên tắc hoạt động của hệ thống....................................15
2.1. Sơ đồ khối chức năng........................................................................................15
2.1.1. Phần Local..................................................................................................16
2.1.2. Phần ThinkSpeak (Dịch vụ đám mây)........................................................16
2.1.3. Kết nối giữa Local và ThinkSpeak.............................................................17
2.2. Sơ đồ mạch điện chi tiết....................................................................................18
Thực hiện việc kết nối dây giữa module cảm biến DHT11, LDR và ESP32 trên
KIT thí nghiệm IoT theo bảng sau:.......................................................................18
2.3. Hoạt Động Hệ Thống IoT.................................................................................19
Thành Phần Hệ Thống..........................................................................................19 1
Kiến Trúc và Hoạt Động......................................................................................19
2.4 Bảng Dữ Liệu Thực Tế......................................................................................20
Phân Tích Dữ Liệu...............................................................................................20
2.5. Kết luận, đánh giá và nhận xét..........................................................................21
Đánh Giá..............................................................................................................21
Nhận Xét và Đề Xuất...........................................................................................21
Kết Luận............................................................................................................... 21 2 MỞ ĐẦU
1. Tính cấp thiết của đề tài
Nông nghiệp nước ta vẫn còn nhiều hạn chế trong việc ứng dụng khoa học kỹ thuật,
đặc biệt là trong công tác tưới tiêu. Hiện nay, nhiều quy trình trồng trọt và chăm sóc
cây trồng vẫn chủ yếu dựa vào kinh nghiệm, thiếu tính tự động hóa, dẫn đến tình trạng
tưới nước không hợp lý – gây lãng phí tài nguyên và ảnh hưởng đến năng suất cây trồng.
Tưới nước là một trong những yếu tố quan trọng quyết định sự sinh trưởng của cây
trồng. Việc tưới đúng và đủ không chỉ giúp hạn chế sâu bệnh mà còn giảm nhu cầu sử
dụng thuốc bảo vệ thực vật, góp phần tăng năng suất và chất lượng nông sản. Ngoài
ra, tại các đô thị, việc tưới cây vẫn chủ yếu được thực hiện bằng phương pháp thủ
công như xe tưới nước, gây ùn tắc giao thông và tiềm ẩn nguy cơ mất an toàn.
Trong bối cảnh công nghiệp hóa – hiện đại hóa, việc ứng dụng công nghệ tưới nước
thông minh vào sản xuất nông nghiệp là xu hướng tất yếu, giúp nâng cao hiệu quả
canh tác và tối ưu hóa nguồn tài nguyên nước. Một trong những mô hình tưới tiêu hiệu
quả nhất hiện nay là hệ thống tưới thông minh của Israel – quốc gia tiên phong trong
lĩnh vực nông nghiệp công nghệ cao. 2. Lý do chọn đề tài
Israel đã phát triển thành công hệ thống tưới nhỏ giọt và tưới thông minh, giúp tiết
kiệm nước, tăng hiệu suất tưới tiêu và nâng cao năng suất cây trồng ngay cả trong điều
kiện khí hậu khô hạn. Hệ thống này sử dụng các cảm biến đo độ ẩm, nhiệt độ, pH của
đất để điều chỉnh lượng nước tưới phù hợp. Bên cạnh đó, công nghệ IoT và trí tuệ
nhân tạo (AI) còn giúp tự động hóa quá trình tưới, tối ưu hóa nguồn nước và nhân lực.
Từ những bài học thành công của Israel, đề tài nghiên cứu và phát triển hệ thống tưới
nước tự động tại Việt Nam sẽ mang lại nhiều lợi ích quan trọng, giúp:
· Giảm thiểu tình trạng lãng phí nước và nâng cao hiệu suất tưới tiêu.
· Ứng dụng công nghệ cao (cảm biến, IoT, AI) để tự động hóa quá trình tưới.
· Hỗ trợ nông dân tiếp cận với phương pháp tưới hiện đại, giảm công lao động và chi phí sản xuất.
3. Mục đích nghiên cứu
Mục tiêu của đề tài là nghiên cứu, thiết kế và chế tạo mô hình hệ thống tưới nước tự
động, từ đó ứng dụng vào thực tế nhằm: 3
· Giúp tối ưu hóa quy trình tưới tiêu cây trồng, tiết kiệm tài nguyên nước.
· Tích hợp cảm biến thông minh để kiểm soát và điều chỉnh lượng nước tưới phù hợp.
· Tận dụng công nghệ IoT để điều khiển hệ thống tưới từ xa, nâng cao hiệu suất canh tác.
4. Kết cấu đề tài
Đề tài bao gồm các nội dung chính sau:
- Tổng quan về các thiết bị sử dụng trong hệ thống
- Cấu tạo và nguyên tắc hoạt động của hệ thống. 4
Chương 1: Tổng quan về các thiết bị sử dụng trong hệ thống 1.1. Vi điều khiển KIT Arduino ESP32
ESP32-WROOM-32 là một module với nhiều tính năng cải tiến hơn các module dòng
ESP8266 khi hỗ trợ thêm các tính năng Bluetooth và Bluetooth Low Energy (BLE)
bên cạnh tính năng WiFi. Sản phẩm sử dụng chip ESP32-D0WDQ6 với 2 CPU có thể
được điều khiển độc lập với tần số xung clock lên đến 240 MHz.
Module hỗ trợ các chuẩn giao tiếp SPI, UART, I2C và I2S và có khả năng kết nối với
nhiều ngoại vi như các cảm biến, các bộ khuếch đại, thẻ nhớ (SD card),…
Ở chế độ sleep dòng điện hoạt động là 5 µA nên thích hợp cho các ứng dụng dùng pin
như các thiết bị điện tử đeo tay. Ngoài ra module còn hỗ trợ cập nhật firmware từ xa
(OTA) do đó người dùng vẫn có thể có những bản cập nhật mới nhất của sản phẩm.
Hình vẽ 1.1 KIT ESP32-WROOM-32 5
Hình vẽ 1.2 KIT ESP32-WROOM-32 Thông số kĩ thuật
- Kích thước: 18 mm x 20 mm x 3 mm
- CPU: Xtensa Dual-Core 32-bit LX6 với tần số hoạt động lên đến 240 MHz - Bộ nhớ trong:
- 448 KBytes ROM cho booting và các tính năng của lõi chip.
- 520 KBytes SRAM trên chip dùng cho dữ liệu và các lệnh instruction.
- 8 KBytes SRAM trong RTC (gọi là RTC SLOW Memory) để truy xuất bởi các bộ co-processor
- 8 KBytes SRAM trong RTC (gọi là RTC FAST Memory) dùng cho lữu dữ liệu,
truy xuất bởi CPU khi RTC đang boot từ chế độ Deep-sleep.
- 1 Kbit EFUSE, với 256 bit cho hệ thống (địa chỉ MAC và cấu hình chip), 768
còn lại cho ứng dụng người dùng, gồm cả mã hóa bộ nhớ Flash và định ID cho chip. - Kết nối WiFi: - Wi-Fi: 802.11 b/g/n/e/i
- Bluetooth: BR/EDR phiên bản v4.2 và BLE
- Ethernet MAC hỗ trợ chuẩn: DMA và IEEE 1588 - Bus hỗ trợ mang CAN 2.0 - Giao tiếp ngoại vi: 6
- Bộ chuyển đổi ADC 12 bit, 16 kênh
- Bộ chuyển đổi 8-bits DAC: 2 kênh
- 10 chân để giao tiếp với cảm biến chạm (touch sensor) - IR (TX/RX)
- Ngõ ra PWM cho điều khiển Motor - LED PWM: 16 kênh - Cảm biến Hall - Cảm biến nhiệt độ - 4 X SPI - X I²S - X I²C - X UART
- Nhiệt độ hoat động ổn định: -40C đến 85C
- Điện áp hoạt động: 2.2-3.6V
- Dòng tiêu thụ ổn định: 80mA Bảo mật
- IEEE 802.11 hỗ trợ các chuẩn bảo mật: WFA, WPA/WPA2 và WAPI - Mã hóa Flash
- 1024-bit OTP, 768-bit cho người dùng Ứng dụng
- Module được dùng nhiều trong các ứng dụng thu thập dữ liệu và điều khiển
thiết bị qua WiFi, Bluetooth.
- Sử dụng cho các ứng dụng tiết kiệm năng lượng, điều khiển mạng lưới cảm
biến, mã hóa hoặc xử lí tiếng nói, xử lí Analog-Digital trong các ứng dụng phát
nhạc, hoặc vói các file MP3…
- Module cũng có thể dùng cho các thiết bị điện tử đeo tay như đồng hồ thông minh… 7 1.2. Các cảm biến a. Cảm biến DHT11
Hỉnh vẽ 1.3. Cảm biến nhiệt độ độ ẩm DHT1
DHT11 là một cảm biến nhiệt độ và độ ẩm thường được sử dụng. Cảm biến đi kèm
với một NTC chuyên dụng để đo nhiệt độ và một bộ vi điều khiển 8 bit để xuất ra các
giá trị nhiệt độ và độ ẩm dưới dạng dữ liệu nối tiếp. Cảm biến cũng được hiệu chuẩn
tại nhà máy và do đó dễ dàng giao tiếp với các bộ vi điều khiển khác. THÔNG SỐ KĨ THUẬT
- Điện áp hoạt động: 5VDC.
- Chuẩn giao tiếp: TTL, 1 wire.
- Khoảng đo độ ẩm: 20%-80%RH sai số ± 5%RH.
- Khoảng đo nhiệt độ: 0-50°C sai số ± 2°C.
- Tần số lấy mẫu tối đa 1Hz (1 giây / lần).
- Kích thước: 28mm x 12mm x10m.
- DHT11 có 4 chân: VCC, DATA, NC, GND
- Module DHT11 đã được gắn sẵn điện trở và led báo nguồn, nên có 3 chân. 8 + VCC: Nguồn 3.3 - 5.5VDC +DATA: Chân dữ liệu + GND: Nối đất, cực âm
CÔNG DỤNG SẢN PHẨM
- DHT11 là cảm biến nhiêt độ và độ ẩm giao tiếp với 1 chân dữ liệu, DHT11 đo được
giá trị độ ẩm từ 20% đến 90%RH và nhiệt độ từ 0oC đến 50oC, độ chính xác: ± 5%RH và ±2oC.
-Xin lưu ý chỉ sử dụng cảm biến độ ẩm nhiệt độ DHT11 trong môi trường độ ẩm
thuần là hơi nước, các môi trường đặc biệt ủ kín như ủ tỏi đen, ủ yếm khí…sẽ sinh ra
nấm và vi khuẩn bám lên bề mặt cảm biến làm hư hỏng cảm biến.Sử dụng SHT3x rất
đơn giản bởi tiêu chuẩn I2C. Nó có thể được hiệu chuẩn hoàn toàn và Giao diện I2C
có sẵn với tốc độ truyền thông lên đến 1 MHz và hai địa chỉ do người dùng lựa chọn
(0x44 hoặc 0x45). Nó cung cấp thời gian khởi động và đo lường rất nhanh. Thư viện
cho DHT11 cũng rất phổ biến. Trong ví dụ sau chúng ta sử dụng thư viện chuẩn của Adafruit.
Hình vẽ 1.4. Cài đặt Thư viện 9
b. Cảm biến ánh sáng quang trở CDS Light Sensor
Cảm biến ánh sáng quang trở CDS Light Sensor có tích hợp sẵn opamp và biến trở
so sánh mức tín hiệu giúp cho việc nhận biết tín hiệu trở nên dễ dàng, thường được
sử dụng để nhận biết hay bật tắt thiết bị theo cường độ ánh sáng môi trường.
Hình vẽ 1.5. Hỉnh ảnh Cảm biến ánh sáng quang trở CDS Light Sensor
Thông số kỹ thuật:
- Điện áp sử dụng: 3.3~5VDC - Sử dụng quang trở CDS.
- Kích thước nhỏ gọn: 36x16mm
- Xuất tín hiệu Digital và Analog rất dễ sử dụng. AO Ngõ ra tín hiệu Analog DO Ngõ ra tín hiệu Digital VCC Nguồn GND Chân đất
1.3. Các giao thức truyền thông được sử dụng trong bài tập lớn
Trong bài tập lớn này, giao thức HTTP (HyperText Transfer Protocol) được sử dụng
để truyền tải dữ liệu giữa các thiết bị IoT (Internet of Things) và nền tảng ThingSpeak.
Giao thức HTTP là một giao thức phổ biến được sử dụng trong các ứng dụng web và 10
IoT để trao đổi dữ liệu giữa các máy khách và máy chủ thông qua các yêu cầu GET, POST, và PUT.
1.3.1. Tại sao chọn giao thức HTTP?
HTTP là một giao thức bất đồng bộ và mở, giúp dễ dàng tích hợp giữa các thiết bị và
nền tảng dựa trên web như ThingSpeak. Điều này đặc biệt quan trọng trong môi
trường IoT, nơi các thiết bị như ESP32 hoặc ESP8266 cần gửi hoặc nhận dữ liệu qua Internet.
Ưu điểm của giao thức HTTP trong bài tập lớn này:
Đơn giản và dễ sử dụng: HTTP là giao thức rất phổ biến, được hỗ trợ rộng rãi trên hầu
hết các thiết bị và nền tảng.
Khả năng tương thích tốt: ThingSpeak cung cấp API HTTP cho phép thiết bị IoT (như
ESP32) gửi và nhận dữ liệu trực tiếp từ nền tảng này.
Dễ dàng tích hợp: Các thiết bị IoT sử dụng HTTP có thể giao tiếp với các máy chủ
web hoặc các dịch vụ đám mây mà không cần cấu hình phức tạp.
1.3.2. Cách hoạt động của giao thức HTTP trong bài tập lớn
Trong bài tập này, ESP32 sẽ sử dụng giao thức HTTP để gửi và nhận dữ liệu từ
ThingSpeak. Giao thức HTTP cho phép ESP32 thực hiện các yêu cầu GET và POST
để truyền tải thông tin từ cảm biến (ví dụ: nhiệt độ, độ ẩm, ánh sáng) lên ThingSpeak
và nhận các lệnh điều khiển (như bật/tắt đèn) từ nền tảng ThingSpeak.
Gửi dữ liệu lên ThingSpeak (POST): ESP32 thu thập dữ liệu từ các cảm biến (như
cảm biến DHT11 để đo nhiệt độ và độ ẩm) và gửi dữ liệu này đến ThingSpeak qua
một yêu cầu HTTP POST. Điều này giúp cập nhật dữ liệu trong các trường (Field) trên kênh ThingSpeak.
Nhận dữ liệu từ ThingSpeak (GET): ESP32 cũng có thể gửi yêu cầu GET đến
ThingSpeak để nhận lệnh điều khiển từ người dùng (ví dụ: bật/tắt đèn). ThingSpeak sẽ
trả về dữ liệu dưới dạng JSON và ESP32 sẽ phân tích dữ liệu này để thực hiện các hành động tương ứng.
1.3.3. Ví dụ về việc sử dụng HTTP trong bài tập lớn
Gửi dữ liệu lên ThingSpeak: ESP32 sử dụng HTTP để gửi các dữ liệu cảm biến như
nhiệt độ, độ ẩm đến ThingSpeak.
// Gửi dữ liệu từ ESP32 lên ThingSpeak
void sendFieldsToThingSpeak() { 11
// Gửi dữ liệu từ sensorData vào các trường (fields) của ThingSpeak
ThingSpeak.setField(1, data.sensorData.tempAndHumidity.temperature); // Field 1: Nhiệt độ
ThingSpeak.setField(2, data.sensorData.tempAndHumidity.humidity); // Field 2: Độ ẩm
ThingSpeak.setField(3, data.sensorData.tempAndHumidity.dewPoint); // Field 3: Điểm sương
ThingSpeak.setField(4, data.sensorData.tempAndHumidity.heatIndex); // Field 4: Chỉ số nhiệt
ThingSpeak.setField(5, data.sensorData.lightLevel); // Field 5: Mức ánh sáng
// Gửi trạng thái thiết bị vào các trường (fields) của ThingSpeak
ThingSpeak.setField(6, data.deviceStatus.led_dht ? 1 : 0); // Field 6: Trạng
thái LED DHT (1 - Bật, 0 - Tắt)
ThingSpeak.setField(7, data.deviceStatus.led_ldr ? 1 : 0); // Field 7: Trạng
thái LED LDR (1 - Bật, 0 - Tắt)
ThingSpeak.setField(8, data.deviceStatus.controlMode); // Field 8: Chế độ
điều khiển (0 - Tự động, 1 - Thủ công)
// Gửi tất cả các trường lên ThingSpeak
int x = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey); if (x == 200) {
Serial.println("Updated to ThingSpeak"); } else {
Serial.print("Failed to update. Error code: "); Serial.println(x); } } 12
Nhận dữ liệu từ ThingSpeak: ESP32 sử dụng HTTP để nhận giá trị từ Field 5 trên
ThingSpeak và điều khiển đèn.
//Lấy dữ liệu từ ThingSpeak
// Điều khiển thủ công replay 1 qua ThingSpeak
void controlReplay1FromThingSpeak() {
int field6 = ThingSpeak.readFloatField(myChannelNumber, 6); // Đọc field 6 if (field6 == 1) { // Bật
digitalWrite(RELAY_DHT_PIN, HIGH);
Serial.println("Bật replay 1");
} else if (field6 == 0) { // Tắt
digitalWrite(RELAY_DHT_PIN, LOW);
Serial.println("Tắt replay 1"); } }
Phương thức ThingSpeak.setField và ThingSpeak.readFloatField sử dụng HTTP
để gửi yêu cầu GET tới ThingSpeak server, lấy giá trị trường dữ liệu dưới dạng số
thực (float) từ một kênh đã được chỉ định, giúp người dùng truy cập và thu thập thông
tin đã lưu trên ThingSpeak trong các ứng dụng IoT.
1.3.4. Lợi ích của việc sử dụng HTTP trong bài tập lớn
Đơn giản và dễ triển khai: HTTP rất phổ biến và dễ sử dụng, giúp giảm bớt các bước
cấu hình phức tạp trong giao tiếp giữa ESP32 và ThingSpeak.
Tương thích tốt với các nền tảng khác: Hầu hết các nền tảng và dịch vụ đám mây đều
hỗ trợ HTTP, giúp dễ dàng tích hợp với các hệ thống khác.
Hiệu quả trong môi trường IoT: HTTP đáp ứng tốt trong các ứng dụng IoT cần truyền
tải dữ liệu từ cảm biến lên các nền tảng đám mây hoặc nhận lệnh điều khiển từ người dùng.
1.4. Các Server Trong Bài Tập Lớn - ThingSpeak
Trong bài tập lớn này, ThingSpeak đóng vai trò là nền tảng server để thu thập, lưu
trữ và phân tích dữ liệu từ các thiết bị IoT. ThingSpeak là một dịch vụ IoT mở cho
phép người dùng thu thập và gửi dữ liệu từ các cảm biến lên đám mây, đồng thời cũng
hỗ trợ phân tích dữ liệu trong thời gian thực. 13
1.4.1. Giới thiệu về ThingSpeak
ThingSpeak là một nền tảng IoT do MathWorks phát triển, được sử dụng để xây dựng
và quản lý các ứng dụng IoT. ThingSpeak cung cấp các công cụ để thu thập và phân
tích dữ liệu từ các cảm biến, từ đó giúp người dùng giám sát và điều khiển thiết bị từ xa.
1.4.2. Vai trò của ThingSpeak trong bài tập lớn
Trong bài tập lớn này, ThingSpeak đóng vai trò là nơi tiếp nhận và lưu trữ dữ liệu
cảm biến từ các thiết bị IoT (như ESP32). Ngoài việc lưu trữ, ThingSpeak còn giúp
thực hiện các chức năng như:
Gửi và nhận dữ liệu từ ESP32: ESP32 gửi dữ liệu cảm biến như nhiệt độ, độ
ẩm, ánh sáng lên ThingSpeak qua giao thức hoặc HTTP MQTT. ThingSpeak
sử dụng API để xử lý các yêu cầu GET và POST để nhận và gửi dữ liệu.
Quản lý và phân tích dữ liệu: ThingSpeak cung cấp công cụ để phân tích dữ
liệu (tính toán trung bình, tổng, v.v.) và hiển thị dữ liệu dưới dạng biểu đồ hoặc báo cáo.
Điều khiển thiết bị từ xa: ThingSpeak cũng cho phép người dùng điều khiển
thiết bị từ xa. Trong bài tập này, người dùng có thể thay đổi giá trị của Field 5
trên ThingSpeak để bật/tắt đèn.
1.4.3. Các loại Server trong ThingSpeak
1. ThingSpeak API Server: o
API của ThingSpeak cho phép các thiết bị IoT như ESP32 giao tiếp với
server thông qua các yêu cầu hoặc HTTP
MQTT. Các thiết bị có thể sử
dụng API Write Key để gửi dữ liệu và API Read Key để nhận dữ liệu. o
Các API của ThingSpeak hỗ trợ:
Update Data: Gửi dữ liệu cảm biến lên các Field trong kênh.
Read Data: Đọc dữ liệu từ các Field của kênh.
Control Device: Nhận lệnh điều khiển từ người dùng và gửi lệnh
đến thiết bị IoT (như bật/tắt đèn).
2. ThingSpeak Data Server: o
Đây là phần server dùng để lưu trữ và xử lý dữ liệu từ các thiết bị IoT.
Dữ liệu được gửi từ các cảm biến sẽ được lưu trữ trên Field của
Channel trên ThingSpeak. Dữ liệu này có thể được phân tích và hiển thị
trực quan qua các biểu đồ hoặc báo cáo.
3. ThingSpeak MATLAB Analysis Server: 14 o
ThingSpeak cung cấp tính năng phân tích dữ liệu sử dụng MATLAB.
Các hàm phân tích có thể được sử dụng để xử lý và tính toán các dữ liệu
cảm biến trong thời gian thực hoặc sau khi dữ liệu đã được lưu trữ.
1.4.4. Các Tính Năng Của ThingSpeak Server
Thu thập dữ liệu từ cảm biến và các thiết bị IoT qua giao thức HTTP hoặc MQTT.
Lưu trữ và phân tích dữ liệu: Dữ liệu có thể được phân tích trong thời gian
thực hoặc được xử lý sau khi thu thập.
Hiển thị dữ liệu: ThingSpeak cung cấp các công cụ trực quan hóa dữ liệu dưới
dạng biểu đồ hoặc báo cáo.
Tạo biểu đồ và bảng điều khiển: Người dùng có thể tạo các Dashboard để
theo dõi dữ liệu cảm biến.
Cung cấp API và hỗ trợ MQTT: ThingSpeak cung cấp API để tương tác với
các thiết bị và giao tiếp với các dịch vụ khác.
1.4.5. Cách Thiết Lập ThingSpeak Server
1. Tạo Kênh: Đăng nhập vào ThingSpeak, vào phần Channels và tạo một kênh
mới. Sau khi tạo, bạn sẽ nhận được Channel ID, Write API Key, và Read
API Key để sử dụng trong lập trình với ESP32.
2. Cập nhật dữ liệu: Gửi dữ liệu từ ESP32 lên ThingSpeak bằng cách sử dụng
các yêu cầu HTTP POST hoặc MQTT.
3. Nhận và xử lý dữ liệu: Đọc dữ liệu từ ThingSpeak và sử dụng nó để thực hiện
các thao tác điều khiển thiết bị từ xa (ví dụ: bật/tắt đèn).
Chương 2: Cấu tạo và nguyên tắc hoạt động của hệ thống
2.1. Sơ đồ khối chức năng 15 2.1.1. Phần Local
- Device (ESP32): Là thiết bị trung tâm kết nối với cảm biến và bộ kích hoạt. Có thể
truy cập Resource (Tài nguyên), bao gồm:
+ Network Resource (Tài nguyên mạng): là API, MQTT, hoặc dịch vụ đám mây.
+ On Device Resource (Tài nguyên trên thiết bị): Xử lý cục bộ.
- Controller Service (Dịch vụ điều khiển): Điều phối các tài nguyên trên thiết bị, có
thể điều khiển thiết bị thông qua các tài nguyên mạng.
- Sensor (Cảm biến: LDR, DHT): Thu thập dữ liệu môi trường như ánh sáng (LDR) và
nhiệt độ, độ ẩm (DHT).
- Activator (Relay): Điều khiển thiết bị điện như quạt, đèn.
2.1.2. Phần ThinkSpeak (Dịch vụ đám mây)
- Service: Thu thập dữ liệu từ thiết bị ESP32, lưu trữ dữ liệu vào Database (Cơ sở dữ
liệu), có thể xử lý lệnh và điều khiển thiết bị. 16
- App: Người dùng có thể Subscribe (Đăng ký) và gửi lệnh điều khiển thông qua App.
Có thể điều khiển hệ thống từ xa thông qua ThinkSpeak.
- Virtual Entity Room: liên kết với Physical Entity Room để hiển thị trạng thái của căn phòng.
- Virtual Entity Appliance: liên kết với Physical Entity Appliance để hiển thị trạng thái của thiết bị điện.
2.1.3. Kết nối giữa Local và ThinkSpeak
ESP32 gửi dữ liệu của cảm biến lên dịch vụ ThinkSpeak để xử lý và lưu trữ vào Database.
Người dùng có thể thông qua ứng dụng dịch vụ đám mây gửi lệnh điều khiển đến
ESP32 thông qua Controller Service.
Ứng dụng trên ThinkSpeak cũng có thể tự đọc dữ liệu, giám sát và tự động gửi lệnh điều khiển. 17
2.2. Sơ đồ mạch điện chi tiết
Thực hiện việc kết nối dây giữa module cảm biến DHT11, LDR và ESP32 trên KIT
thí nghiệm IoT theo bảng sau: Chân của ESP32 Đèn Chân của module VCC 3.3V DHT-11 GND GND OUT 4 Chân relay DHT-11 VCC 5V GND GND IN 13 NO 3.3V COM VCC Chân đèn 1 GND GND Chân của LDR VCC 3.3V GND GND D0 15 Chân relay LDR V 5V GND GND IN 14 NO 3.3V COM VCC Chân đèn 2 GND GND 18
2.3. Hoạt Động Hệ Thống IoT
Hệ thống IoT này được thiết kế để giám sát các yếu tố môi trường như nhiệt độ, độ ẩm
và thời gian ánh sáng, đồng thời tự động điều khiển các thiết bị bên ngoài thông qua 2
relay dựa trên dữ liệu từ cảm biến. Hệ thống sử dụng module ESP32 làm bộ xử lý
trung tâm, cảm biến DHT11 để đo nhiệt độ và độ ẩm, cảm biến ánh sáng để xác định
cường độ và thời gian sáng. Dữ liệu thu thập được gửi lên cloud Thingspeak để lưu
trữ, phân tích và hiển thị, cho phép người dùng giám sát từ xa.
Thành Phần Hệ Thống
Module ESP32: Bộ vi điều khiển tích hợp Wi-Fi, đảm nhiệm vai trò xử lý và kết nối mạng.
Cảm Biến DHT11: Đo nhiệt độ và độ ẩm môi trường xung quanh.
Cảm Biến Ánh Sáng: Đo cường độ ánh sáng và tính toán thời gian sáng (có
thể là photoresistor hoặc cảm biến tương tự).
Hai Relay: Điều khiển bật/tắt các thiết bị điện bên ngoài.
Thingspeak: Nền tảng cloud để lưu trữ dữ liệu, hiển thị biểu đồ và hỗ trợ giám sát từ xa.
Kiến Trúc và Hoạt Động
Hệ thống hoạt động theo quy trình sau:
1. Thu thập dữ liệu: ESP32 đọc dữ liệu từ cảm biến DHT11 (nhiệt độ và độ ẩm)
và cảm biến ánh sáng theo chu kỳ định kỳ. 19