Đồ án tốt nghiệp hệ thống IoT điều khiển và giám sát ngôi nhà - Trường ĐH SPKT TP. HCM

Tìm hiểu chi tiết hệ thống IoT điều khiển và giám sát ngôi nhà thông minh. Khám phá công nghệ tự động hóa, cảm biến thông minh và các giải pháp IoT hiệu quả.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2018

159
1
0

Phí lưu trữ

45 Point

Tóm tắt

I. Tổng quan về hệ thống IoT điều khiển và giám sát ngôi nhà

Hệ thống IoT điều khiển và giám sát ngôi nhà là một giải pháp công nghệ tích hợp phần cứng và phần mềm, cho phép người dùng theo dõi, quản lý và điều khiển các thiết bị trong nhà từ xa qua mạng Internet. Hệ thống sử dụng các vi điều khiển như STM32F407 VGT6 và Arduino Mega làm trung tâm xử lý, kết hợp với module WiFi ESP8266 để truyền nhận dữ liệu không dây. Các cảm biến được bố trí khắp ngôi nhà thu thập thông tin về nhiệt độ, độ ẩm, khí gas, chuyển động và độ ẩm đất. Dữ liệu được xử lý và hiển thị trên nhiều giao diện khác nhau bao gồm web server, ứng dụng Android và phần mềm WPF trên Windows. Hệ thống còn tích hợp module RFID để nhận diện người dùng, relay điều khiển đóng ngắt thiết bị điện và module thời gian thực DS1307 để quản lý lịch trình hoạt động. Giải pháp này mang lại sự tiện lợi, an toàn và tiết kiệm năng lượng cho ngôi nhà hiện đại.

1.1. Kiến trúc tổng thể của hệ thống IoT nhà thông minh

Kiến trúc hệ thống IoT nhà thông minh được thiết kế theo mô hình nhiều lớp. Lớp cảm biến bao gồm các thiết bị đo lường như cảm biến nhiệt độ, độ ẩm, khí gas, PIR và độ ẩm đất. Lớp xử lý trung tâm sử dụng STM32F407 và Arduino Mega để thu thập, xử lý dữ liệu từ cảm biến và điều khiển các thiết bị đầu ra. Lớp truyền thông sử dụng giao thức UART, I2C, SPI để giao tiếp giữa các module. Lớp kết nối mạng dùng ESP8266 để truyền dữ liệu lên cloud và giao diện người dùng.

1.2. Các thành phần phần cứng chính trong mô hình

Phần cứng của hệ thống bao gồm nhiều thành phần quan trọng. Vi điều khiển STM32F407 VGT6 đóng vai trò xử lý trung tâm với tốc độ cao và nhiều ngoại vi. Arduino Mega được sử dụng cho các tác vụ điều khiển cụ thể. Module WiFi ESP8266 kết nối hệ thống với mạng Internet. Module thời gian thực DS1307 quản lý thời gian chính xác. Các cảm biến bao gồm cảm biến nhiệt độ, độ ẩm, khí gas, PIR và độ ẩm đất. RFID phục vụ nhận diện người dùng, relay điều khiển các thiết bị điện.

II. Phân tích các vấn đề trong thiết kế hệ thống IoT giám sát nhà

Thiết kế hệ thống IoT giám sát và điều khiển ngôi nhà đặt ra nhiều thách thức kỹ thuật cần giải quyết. Vấn đề đầu tiên là lựa chọn giao thức truyền thông phù hợp giữa các module. Hệ thống sử dụng đồng thời UART, I2C và SPI, mỗi chuẩn có ưu nhược điểm riêng về tốc độ, khoảng cách và độ phức tạp. Việc tích hợp nhiều loại cảm biến khác nhau đòi hỏi xử lý tín hiệu analog và số một cách đồng bộ. Module WiFi ESP8266虽然 giá thành thấp nhưng có giới hạn về bộ nhớ Flash và tốc độ xử lý, cần tối ưu firmware. Quản lý nguồn điện cho nhiều thiết bị cùng lúc cũng là vấn đề quan trọng. Độ tin cậy của kết nối mạng và khả năng hoạt động ổn định trong thời gian dài cần được đảm bảo. Việc thiết kế mạch nguồn và bố trí linh kiện hợp lý ảnh hưởng trực tiếp đến hiệu suất toàn hệ thống.

2.1. Thách thức trong giao tiếp và truyền thông liên thiết bị

Giao tiếp giữa các thiết bị trong hệ thống IoT sử dụng ba chuẩn chính. UART hỗ trợ truyền dữ liệu nối tiếp đơn giản giữa ESP8266 và vi điều khiển. I2C kết nối module thời gian thực DS1307 với nhiều thiết bị trên cùng bus dây. SPI truyền dữ liệu tốc độ cao giữa vi điều khiển và các module. Việc phối hợp đồng thời nhiều giao thức đòi hỏi quản lý tài nguyên phần cứng cẩn thận, tránh xung đột và đảm bảo độ trễ thấp.

2.2. Vấn đề xử lý tín hiệu cảm biến và độ chính xác

Hệ thống tích hợp nhiều loại cảm biến với tín hiệu đầu ra khác nhau. Cảm biến khí gas và độ ẩm đất cho tín hiệu analog cần chuyển đổi ADC. Cảm biến PIR phát hiện chuyển động qua tín hiệu số. Cảm biến nhiệt độ và độ ẩm có thể dùng giao thức digital riêng. Độ chính xác của từng cảm biến phụ thuộc vào điều kiện môi trường và cách hiệu chuẩn. Cần thiết kế mạch lọc nhiễu và thuật toán xử lý tín hiệu để đảm bảo dữ liệu thu thập đáng tin cậy.

III. Giải pháp thiết kế và triển khai hệ thống IoT điều khiển nhà

Giải pháp thiết kế hệ thống IoT điều khiển ngôi nhà áp dụng phương pháp modular, chia nhỏ hệ thống thành các khối chức năng độc lập. Vi điều khiển STM32F407 VGT6 đảm nhận xử lý trung tâm nhờ tốc độ clock 168MHz và nhiều giao tiếp ngoại vi. Arduino Mega xử lý các tác vụ con như đọc cảm biến và điều khiển relay. Module ESP8266 kết nối WiFi hoạt động ở tần số 2.4GHz, tích hợp bộ xử lý 32-bit Tensilica với tốc độ 80-160MHz. Giao diện người dùng được xây dựng trên ba nền tảng: web server truy cập qua trình duyệt, ứng dụng Android di động và phần mềm WPF trên máy tính. Hệ thống sử dụng RFID cho phân quyền truy cập, relay điều khiển đóng ngắt thiết bị điện và bơm nước. Module thời gian thực DS1307 quản lý lịch trình hoạt động tự động.

3.1. Thiết kế mạch nguồn và hệ thống cấp điện

Mạch nguồn là thành phần quan trọng đảm bảo hoạt động ổn định cho toàn hệ thống. Thiết kế bao gồm bộ nguồn chuyển đổi AC-DC, mạch ổn áp cho từng module riêng biệt. Vi điều khiển STM32 cần nguồn 3.3V, Arduino Mega hoạt động ở 5V, còn ESP8266 yêu cầu nguồn 3.3V với dòng đỉnh cao khi truyền WiFi. Mạch nguồn phải có khả năng chống nhiễu, bảo vệ quá dòng và quá áp để tránh hư hỏng thiết bị.

3.2. Lập trình firmware cho vi điều khiển và module WiFi

Phần mềm hệ thống được lập trình cho ba nền tảng chính. Firmware STM32F407 xử lý thu thập dữ liệu cảm biến, điều khiển thiết bị và giao tiếp với ESP8266 qua UART. Chương trình Arduino Mega quản lý các module cảm biến và relay. Firmware ESP8266 đóng vai trò gateway, kết nối hệ thống với mạng WiFi và truyền dữ liệu lên server. Code được tối ưu để giảm độ trễ, tiết kiệm bộ nhớ và đảm bảo hoạt động ổn định lâu dài.

IV. Kết luận và ứng dụng thực tế của hệ thống IoT nhà thông minh

Đồ án tốt nghiệp về hệ thống IoT điều khiển và giám sát ngôi nhà đã hoàn thành các mục tiêu đề ra. Hệ thống hoạt động ổn định với khả năng giám sát nhiệt độ, độ ẩm, khí gas, chuyển động và độ ẩm đất thời gian thực. Chức năng điều khiển từ xa qua web server, ứng dụng Android và phần mềm WPF đáp ứng nhu cầu sử dụng thực tế. Module RFID đảm bảo an ninh truy cập, trong khi relay điều khiển thiết bị điện và bơm nước tự động. Hệ thống có tính mở cao, dễ dàng mở rộng thêm cảm biến và thiết bị mới. Kết quả thực nghiệm cho thấy ESP8266 hoạt động ổn định với chi phí thấp, phù hợp triển khai quy mô gia đình. Công nghệ này có tiềm năng ứng dụng rộng rãi trong quản lý nhà thông minh, văn phòng và các tòa nhà thương mại.

4.1. Kết quả đạt được và đánh giá hiệu suất hệ thống

Hệ thống đã đạt được các chỉ tiêu kỹ thuật đề ra. Tốc độ phản hồi lệnh điều khiển dưới 500ms, độ chính xác cảm biến nhiệt độ đạt ±0.5°C, cảm biến khí gas phát hiện kịp thời nguy hiểm. Kết nối WiFi ổn định trong phạm vi 30m. Giao diện web và Android thân thiện, dễ sử dụng. Module RFID nhận diện thẻ nhanh với khoảng cách đọc 5cm. Hệ thống hoạt động liên tục 24/7 không gặp lỗi phần cứng nghiêm trọng.

4.2. Tiềm năng phát triển và ứng dụng mở rộng

Hệ thống IoT nhà thông minh có nhiều hướng phát triển tiềm năng. Tích hợp trí tuệ nhân tạo để dự đoán thói quen người dùng và tối ưu hóa năng lượng. Kết nối thêm camera giám sát và hệ thống báo động. Mở rộng sang quản lý tòa nhà văn phòng, khách sạn và khu công nghiệp. Phát triển ứng dụng trên nền tảng iOS bổ sung cho Android. Tích hợp trợ lý ảo giọng nói để điều khiển rảnh tay. Áp dụng blockchain để bảo mật dữ liệu người dùng.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

21/04/2026
Đồ án tốt nghiệp hệ thống iot điều khiển và giám sát ngôi nhà

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN - Giao tiếp Wifi - Giao tiếp SIM900A - Công nghệ RFID Chương 3: Tính toán và thiết kế - Thiết kế sơ đồ khối - Thiết kế cho từng khối - Sơ đồ nguyên lý toàn mạch Chương 4: Thi công hệ thống - Thi công các board mạch - Thi công mô hình - Lưu đồ, giới thiệu phần mềm lập trình và viết chương trình Chương 5: Kết quả_nhận xét_đánh giá - Kết quả đạt được - Kết quả thực nghiệm - Nhận xét đánh giá Chương 6: Kết luận_hướng phát triển - Kết luận - Hướng phát triển BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Chương 2: CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU CÁC THIẾT BỊ VÀO RA SỬ DỤNG TRONG ĐỀ TÀI - Thiết bị đầu vào: Cảm biến nhiệt độ - độ ẩm DHT11, cảm biến nhiệt độ DS18B20, cảm biến khí gas, cảm biến chuyển động PIR, cảm biến độ ẩm đất, nút nhấn, RFID, Module thời gian thực DS1307. - Thiết bị đầu ra: thiết bị công suất: động cơ servo, bơm nước, động cơ DC, đèn 220V; thiết bị giao tiếp công suất: transistor, opto, relay; thiết bị hiển thị: LCD 16x2, Oled. - Thiết bị điều khiển trung tâm: STM32F407VGT6, Arduino Mega. - Module wifi: Esp8266 NodeMCU.

- Các chuẩn truyền dữ liệu: UART, I2C, SPI. - Thiết bị giao diện điều khiển: điện thoại Android, Laptop. - Web server, app android, WPF, Module Sim900A.2 GIỚI THIỆU PHẦN CỨNG 2. Cảm biến nhiệt độ - độ ẩm Cảm biến có chức năng đo nhiệt độ, độ ẩm, khí gas.

Hiện nay có rất nhiều loại cảm biến có thể làm được chức năng này như LM35, DS18B20, DHT11, DHT21…  Cảm biến LM35: Là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ C. Chúng cũng không yêu cầu cân chỉnh ngoài vì vốn chúng đã được cân chỉnh. Cảm biến LM35 hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại chân Vout (chân giữa) ứng với mỗi mức nhiệt độ.1: Cảm biến LM35 và sơ đồ nối chân BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Thông số kỹ thuật: - Điện áp đầu vào từ 4V đến 30V - Điện áp ra: -1V đến 6V - Công suất tiêu thụ là 60uA - Độ phân giải điện áp đầu ra là 10mV/℃ - Độ chính xác cao ở 25℃ là 0.5℃ - Trở kháng đầu ra thấp 0.1 cho 1mA tải - Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng -55°C tới 150°C  Cảm biến DS18B20: Là cảm biến đã chuyển đổi ADC sẵn và lưu trữ giá trị trong Eeprom của chính nó, có thể chọn đọc nhiều độ phân giải. Sử dụng giao tiếp 1 dây rất gọn gàng, dễ lập trình và giao tiếp nhiều DS18B20 trên cùng 1 dây.

Để đo được nhiệt độ ta cần thêm 1 điện trở 4.7k Ohm nối từ chân DQ lên VCC.2: Cảm biến DS18B20 và sơ đồ nối chân Thông số kỹ thuật: - Nguồn: 3 → 5.5V - Dải đo nhiệt độ: -55 → 125℃ ( -67 → 257℉) - Sai số: ±0.5℃ khi đo ở dải -10 → 85℃ - Độ phân giải: người dùng có thể chọn từ 9 → 12 bits - Chuẩn giao tiếp: 1-Wire (1 dây). - Có cảnh báo nhiệt khi vượt ngưỡng cho phép và cấp nguồn từ chân data. - Thời gian chuyển đổi nhiệt độ tối đa: 750ms (khi chọn độ phân giải 12bit). BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 6 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT - Mỗi IC có một mã riêng (lưu trên Eeprom của IC) nên có thể giao tiếp nhiều DS18B20 trên cùng 1 dây.

- Mỗi DS18B20 đều có mã định danh với độ lớn 64 bit duy nhất được lưu trong ROM. - 8 bit thấp nhất của ROM chứa đựng mã quy ước của họ dòng đo nhiệt độ 1 dây DS18B20 với mã là: 28h. - 48 bit tiếp theo là số serial duy nhất của thiết bị. - 8 bit cuối cùng mà mã kiểm tra CRC tính toán từ 56 bit trước.3: Bộ nhớ ROM 64 bit Bộ nhớ Bộ nhớ của DS18B20 bao gồm bộ nhớ nháp (SRAM scratchpad), thanh ghi lưu trữ kích hoạt cảnh báo cao và thấp (TH và TL) và thanh ghi cấu hình, cả hai thanh ghi này đều trang bị bộ nhớ Eeprom.

Nếu nếu chức năng cảnh báo không được sử dụng thì thanh ghi TH và TL có thể được sử dụng như bộ nhớ đa mục đích. Byte 0 và Byte 1 của bộ nhớ nháp chứa đựng LSB và MSB của thanh ghi nhiệt độ. Những Byte này chỉ có thể đọc. Byte 2 và 3 truy cập thanh ghi T H và TL.

Byte 4 chứa đựng dữ liệu của thanh ghi cấu hình. Byte 5, 6 và 7 để dành riêng cho sử dụng bởi thiết bị, ta không thể ghi đến các byte này. Byte 8 chứa đựng mã CRC của byte 0 đến byte 7 của bộ nhớ nháp. Dữ liệu trong các thanh ghi EEPROM không mất đi khi ngắt nguồn cấp, khi có nguồn cấp lại dữ liệu trong các thanh ghi này sẻ được nạp vào bộ nhớ nháp theo vị trí byte tương ứng.

Dữ liệu này có thể nạp lại bằng lệnh từ EEPROM bằng lệnh E2 [B8h] BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Hình 2.4: Tổ chức bộ nhớ ROM của cảm biến DS18B20 Bộ nhớ SRAM scratchpad Thanh ghi cấu hình: Byte thứ 4 của bộ nhớ nháp chứa đựng thanh ghi cấu hình. Người dùng có thể thiết lập độ phân giải của DS18B20 sử dụng bit R0 và R1. Khi cấp nguồn mặc định R0=1, R1=1 (độ phân giải 12 bit). Bit thứ 7 và bit 0 đến bit 4 trong thanh ghi cấu hình được để dành riêng cho thiết bị và không thể ghi đè.5: Byte thanh ghi điều khiển của cảm biến DS18B20 Bảng 2.1: Độ phân giải và thời gian chuyển đổi Độ phân giải R1 R0 Thời gian chuyển đổi tối đa (Bit) 0 0 9 93.5ms (tCONV/4) 1 0 11 375ms (tCONV/2) 1 1 12 750ms (tCONV) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 8 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Các lệnh cơ bản: SEARCH ROM [F0h] Khi hệ thống đươc cấp nguồn, thiết bị đóng vai trò master phải xác định mã ROM của tất cả các thiết bị slave được đấu trên cùng bus, việc làm này cho phép thiết bị master xác định số lượng thiết bị salve và kiểu thiết bị.

READ ROM (33h) Lệnh này chỉ dùng khi trên bus có 1 cảm biến DS1820, nếu không sẽ xảy ra xung đột trên bus do tất cả các thiết bị tớ cùng đáp ứng. Nó cho phép đọc 64 bit mã ROM (8 bit mã định tên linh kiện (10h), 48 bit số xuất xưởng, 8 bit kiểm tra CRC) và không sử dụng quy trình Search Rom. MATCH ROM (55h) Lệnh này được gửi đi cùng với 64 bit ROM tiếp theo, cho phép bộ điều khiển bus chọn ra chỉ một cảm biến DS1820 cụ thể khi trên bus có nhiều cảm biến DS1820 cùng nối vào. Chỉ có DS1820 nào có 64 bit trên ROM trung khớp với chuỗi 64 bit vừa được gửi tới mới đáp ứng lại các lệnh về bộ nhớ tiếp theo.

Còn các cảm biến DS1820 có 64 bit ROM không trùng khớp sẽ tiếp tục chờ một xung reset. Lệnh này được sử dụng cả trong trường hợp có một cảm biến một dây, cả trong trường hợp có nhiều cảm biến một dây. SKIP ROM (CCh) Thiết bị master có thể sử dụng lệnh này để gửi đến tất cả các thiết bị slave trên bus một các đồng thời mà không cần gửi mã ROM định danh của thiết bị. Ví dụ như thiết bị master ra lệnh cho tất cả các DS18B20 trên Bus chuyển đổi nhiệt độ một cách đồng thời bởi gửi lệnh SKIP ROM và lệnh CONVERT T (44h) Lệnh READ SCRATCHPAD có thể theo sau lệnh SKIP ROM chỉ khi trên bus chỉ có một thiết bị slave.

Trong trường hợp này, ta tiết kiệm được thời gian bởi nó cho phép đọc từ thiết bị slave mà không cần gửi mã ROM của thiết bị. Trong trường hợp trên bus có nhiều thiết bị tớ nếu ta sử dụng 2 lệnh này sẻ xãy ra xung đột dữ liệu. ALARM SEARCH (ECh) Tiến trình của lệnh này giống hệt như lệnh Search ROM, nhưng cảm biến DS1820 chỉ đáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đo nhiệt độ cuối cùng. Điều kiện cảnh báo ở đây được định nghĩa là giá trị nhiệt độ đo được lớn hơn giá trị TH BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 9 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất và nhiệt độ thấp nhất đã được đặt trên thanh ghi trong bộ nhớ của cảm biến.

Sau khi thiết bị chủ (thường là một vi điều khiển) sử dụng các lệnh ROM để định địa chỉ cho các cảm biến một dây đang được đấu vào bus, thiết bị chủ sẽ đưa ra các lệnh chức năng DS1820. Bằng các lệnh chức năng thiết bị chủ có thể đọc ra và ghi vào bộ nhớ nháp (scratchpath) của cảm biến DS1820. Khởi tạo quá trình chuyển đổi giá trị nhiệt độ đo được và xác định chế độ cung cấp điện áp nguồn. Các lệnh chức năng có thể được mô tả ngắn gọn như sau: WRITE SCRATCHPAD (4Eh) Lệnh này cho phép ghi 2 byte dữ liệu vào bộ nhớ nháp của DS1820.

Byte đầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai được ghi vào thanh ghi TL (byte 3 của bộ nhớ nháp). Dữ liệu truyền theo trình tự đầu tiên là bit có ý nghĩa nhất và kế tiếp là những bit có ý nghĩa giảm dần. Cả hai byte này phải được ghi trước khi thiết bị chủ xuất ra một xung reset hoặc khi có dữ liệu khác xuất hiện. READ SCRATCHPAD (BEh) Lệnh này cho phép thiết bị chủ đọc nội dung bộ nhớ nháp.

Quá trình đọc bắt đầu từ bit có ý nghĩa nhất của byte 0 và tiếp tục cho đến byte thứ 9 (byte 8 – CRC). Thiết bị chủ có thể xuất ra một xung reset để làm dừng quá trình đọc bất kỳ lúc nào nếu như chỉ có một phần của dữ liệu trên bộ nhớ nháp cần được đọc. COPYSCRATCHPAD (48h) Lệnh này copy nội dung của hai thanh ghi TH và TL (byte 2 và byte 3), và thanh ghi cấu hình từ bộ nhớ nháp đến bộ nhớ EEPROM. Nếu cảm biến được sử dụng trong chế độ sử dụng nguồn ký sinh, trong 10us (tối đa) sau khi truyền lệnh này, thiết bị master phải cho phép một “strong pull-up” lên bus.

Sau khi chuyển đổi giá trị kết quả đo nhiệt độ được lưu trữ trên thanh ghi nhiệt độ 2 byte trong bộ nhớ nháp.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ