Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh khoa học kỹ thuật thế kỷ 21 phát triển với sự phổ biến của các thiết bị thông minh (điện thoại thông minh, tivi thông minh), nhu cầu của con người về không gian sống ngày càng đòi hỏi mức độ tiện nghi, an toàn và khả năng hỗ trợ tự động cao. Sự mở rộng của mạng lưới Internet toàn cầu thúc đẩy xu hướng điều khiển và giám sát thiết bị từ xa trở thành một nhu cầu tất yếu trong kỹ thuật điều khiển và tự động hóa dân dụng.

Theo tác giả, hệ thống nhà thông minh (Smart Home / Home Automation) là mô hình công trình được tích hợp các thiết bị điện, điện tử nhằm tự động hóa toàn bộ hoặc bán tự động các tác vụ quản trị, vận hành, thay thế con người trong các thao tác điều khiển thường nhật. Khái niệm nhà thông minh trong đồ án được xác định dựa trên 4 phương diện kỹ thuật cốt lõi:

  1. Khả năng tự động hóa: Trang bị hệ thống cảm biến môi trường (nhiệt độ, độ ẩm, khí gas, báo cháy, vật cản, ánh sáng, cảm biến mưa) có khả năng tự động xử lý và điều khiển thiết bị chấp hành tương ứng với điều kiện môi trường thực tế, hỗ trợ giám sát điện năng và nguồn nước.
  2. Khả năng thỏa mãn nhu cầu người dùng: Cho phép gia chủ chủ động vận hành thiết bị theo ý muốn hoặc kích hoạt các kịch bản lập trình sẵn.
  3. Khả năng bảo mật và giám sát an ninh: Tự động phát hiện và gửi tín hiệu cảnh báo xâm nhập trái phép, báo cháy, rò rỉ khí gas qua Internet.
  4. Khả năng điều khiển và cảnh báo từ xa qua Internet: Kết nối các thiết bị sinh hoạt (đèn chiếu sáng, quạt, điều hòa, cửa, rèm) vào mạng dữ liệu để theo dõi thông số cảm biến và can thiệp điều khiển thông qua giao diện mạng (Wifi, 3G).

Đồ án khảo sát các mô hình nhà thông minh thương mại trên thế giới (Compro Technology, IEI Integration, Eco-Future-World tại thị trường Bắc Mỹ và châu Âu) và tại Việt Nam (BKAV, Lumi Smarthome). Từ việc phân tích các giải pháp điều khiển truyền thống (hồng ngoại bị giới hạn khoảng cách, đường dây điện thoại chưa tối ưu), tác giả lựa chọn phát triển giải pháp điều khiển và giám sát nhà thông minh qua mạng Internet/Wifi trên nền tảng phần cứng mã nguồn mở, phù hợp với điều kiện kinh tế và công nghệ trong nước.

Nhiệm vụ nghiên cứu được giao bao gồm:

  1. Phân tích, lựa chọn thiết kế mô hình nhà thông minh với các thiết bị có khả năng điều khiển tự động, tương tác lẫn nhau và có chức năng giám sát từ xa, bảo đảm an ninh và an toàn.
  2. Thiết kế hệ thống giao tiếp, quản lý và điều khiển nhà thông minh qua môi trường mạng Internet.
  3. Nghiên cứu khả năng mở rộng kết nối của mô hình đối với các thiết bị và hệ thống ngoại vi.
  • Đối tượng nghiên cứu: Hệ thống phần cứng nhúng (vi điều khiển, mạch mở rộng Ethernet, cảm biến, cơ cấu chấp hành), giao thức truyền thông nối tiếp/mạng và giao diện Web Server nhúng quản lý nhà thông minh.
  • Phạm vi nghiên cứu: Thiết kế và chế tạo mô hình thực nghiệm sa bàn nhà ở kích thước 1000 mm × 800 mm cho một gia đình 4 người, gồm 6 phân khu chức năng (vườn và ngoại vi, phòng khách, phòng ngủ, phòng bếp, phòng giải trí/xem phim, gara để xe và khu vệ sinh), thực hiện tại Bộ môn Cơ Điện Tử, Viện Cơ khí, Trường Đại học Bách Khoa Hà Nội (tháng 9/2018).

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình kiến trúc

Nghiên cứu ứng dụng các nguyên lý kỹ thuật cơ điện tử, truyền thông nối tiếp và mạng máy tính, bao gồm:

  • Kiến trúc điều khiển phân tán (Distributed Control Architecture): Sử dụng mô hình Master-Slave đa vi điều khiển để giảm tải xử lý, trong đó 01 vi điều khiển trung tâm làm nhiệm vụ gom dữ liệu/giao tiếp mạng và các vi điều khiển thứ cấp quản lý cục bộ từng khu vực phòng.
  • Chuẩn truyền thông công nghiệp và nối tiếp:
    • Giao tiếp ngoại vi SPI (Serial Peripheral Interface): Chuẩn truyền đồng bộ 4 dây (CSn/SS, MOSI, MISO, SCK) tốc độ cao giữa vi điều khiển ATmega2560 và chip Ethernet W5100.
    • Chuẩn truyền thông nối tiếp RS-232 / UART TTL: Định dạng bất đồng bộ gồm start bit, data bit (5–8 bit), parity bit và stop bit, truyền tín hiệu hai chiều giữa bộ điều khiển trung tâm và các bộ điều khiển phòng với tốc độ baud 9600 bps và 19200 bps.
    • Giao thức mạng TCP/IP và hệ thống mạng cục bộ (LAN/Ethernet theo chuẩn quốc tế IEC 61158): Đóng gói dữ liệu điều khiển qua cổng giao tiếp RJ45, vận hành máy chủ Web nhúng (Embedded Web Server) trên cổng dịch vụ chuẩn (Port 80) sử dụng địa chỉ IP tĩnh.

Phương pháp nghiên cứu

  • Phương pháp phân tích - tổng hợp: Nghiên cứu cấu trúc phần cứng vi điều khiển AVR (ATmega328P, ATmega2560), phân tích đặc tính điện học của cảm biến và cơ cấu chấp hành để xây dựng sơ đồ mạch nguyên lý tổng thể.
  • Phương pháp thiết kế mô-đun hóa phần cứng: Phân chia hệ thống điện tử thành 4 khối chức năng:
    • Khối cảm biến: Cảm biến nhiệt độ LM35 (tương tự), cảm biến khí gas MQ2 (số/tương tự), cảm biến chuyển động hồng ngoại HC-SR510 (số), cảm biến ánh sáng (quang trở), cảm biến mưa (số), cảm biến hồng ngoại phát hiện người.
    • Khối xử lý: 03 bo mạch Arduino Uno R3 (ATmega328P, 14 chân Digital, 6 chân Analog, thạch anh 16 MHz, 32 KB Flash, 2 KB SRAM) và 01 bo mạch Arduino Mega 2560 (ATmega2560, 54 chân Digital, 16 chân Analog, 4 cổng UART phần cứng, 256 KB Flash, 8 KB SRAM).
    • Khối truyền thông: Bo mạch Arduino Ethernet Shield W5100 (tích hợp chip phần cứng W5100, buffer nội 16 KB, hỗ trợ đồng thời tối đa 4 socket TCP/UDP độc lập, tốc độ kết nối 10/100 Mbps, kết nối với Router Wifi qua cổng SI-40138 RJ45).
    • Khối chấp hành: Động cơ servo SG90 (momen xoắn 1.8 kg/cm, điện áp 4.8–5V, điều khiển góc quay bằng độ rộng xung 1–2 ms), động cơ bước DC 5.1A kết hợp mô-đun điều khiển A4988 (5 chế độ vi bước 1; 1/2; 1/4; 1/8; 1/16 bước, điều khiển qua chân STEP, DIR, ENABLE), động cơ một chiều (DC), hệ thống relay đóng cắt đèn/quạt, còi chip báo động (Buzzer) và màn hình hiển thị LCD 16×2 kết nối chuẩn I2C (địa chỉ 0x3F).
  • Phương pháp lập trình và nhúng phần mềm: Lập trình firmware điều khiển thời gian thực bằng ngôn ngữ C/C++ trên môi trường Arduino IDE; sử dụng kỹ thuật ngắt cứng ngoài (External Interrupt), ngắt tràn bộ định thời (Timer 1 Overflow Interrupt); thiết kế giao diện web điều khiển bằng mã HTML/CSS nhúng trực tiếp trong bộ nhớ Flash của vi điều khiển, phần đăng nhập bảo mật viết bằng PHP.
  • Phương pháp thực nghiệm kiểm chứng: Gia công, lắp ráp mô hình sa bàn vật lý 3D; kết nối hệ thống dây dẫn tín hiệu; nạp code kiểm thử hoạt động của từng phòng chức năng và kiểm tra khả năng truyền nhận dữ liệu hai chiều giữa giao diện Web với sa bàn qua mạng Wifi thực tế.

Nguồn dữ liệu

  • Tín hiệu đo đạc điện áp từ các đầu dò cảm biến tương tự (chuyển đổi qua bộ ADC 10-bit của vi điều khiển) và mức logic (HIGH/LOW) từ các cảm biến số.
  • Dữ liệu trạng thái logic và giá trị đo đạc môi trường gửi/nhận qua chuỗi ký tự nối tiếp UART và các bản tin giao thức HTTP gửi về máy khách (Client).

Thiết kế và triển khai hệ thống kỹ thuật

Kiến trúc phân tầng và luồng dữ liệu

Hệ thống được thiết kế theo cấu trúc phân tầng liên kết chặt chẽ:

  • Tầng giao diện người dùng: Trình duyệt Web trên máy tính hoặc điện thoại thông minh truy cập địa chỉ IP tĩnh của Ethernet Shield (192.168.0.58:80). Giao diện HTML cung cấp các nút nhấn điều khiển ảo và bảng hiển thị thông số môi trường, tự động làm mới dữ liệu sau mỗi 3 giây thông qua thẻ lệnh <meta http-equiv="Refresh" content="3">.
  • Tầng điều khiển trung tâm (Gateway / Master): Arduino Mega 2560 kết hợp Ethernet Shield W5100 tiếp nhận yêu cầu HTTP từ Web Server, phân tích chuỗi ký tự điều khiển (ví dụ: DENNGUON, DENNGUOFF, REMON, REMOFF, CUACHINHON), sau đó đóng gói dữ liệu thành mã nhị phân gửi qua giao tiếp nối tiếp RS-232 (các cổng Serial1, Serial2, Serial3) tới vi điều khiển phòng tương ứng. Đồng thời, Mega 2560 liên tục đọc dữ liệu nối tiếp từ các phòng gửi về để cập nhật biến trạng thái lên Web.
  • Tầng điều khiển cục bộ (Slave): Các bo mạch Arduino Uno R3 tại từng khu vực đọc tín hiệu cảm biến, xử lý điều khiển cơ cấu chấp hành trực tiếp (qua relay, driver A4988, servo), quản lý nút bấm vật lý và phản hồi dữ liệu trạng thái ngược lại cho bộ điều khiển trung tâm.
[Giao diện Web Client (PC/Smartphone)]
[Arduino Ethernet Shield W5100 (IP: 192.168.0.58)]
[Bộ điều khiển trung tâm: Arduino Mega 2560]
[Uno R3 - Phòng khách & Gara] [Uno R3 - Phòng ngủ] [Uno R3 - Khu bếp & Ngoại vi]
[Cảm biến / Chấp hành]     [Cảm biến / Chấp hành]  [Cảm biến / Chấp hành]

Bảng tổng hợp bố trí thiết bị phần cứng theo khu vực

Khu vực chức năng Cảm biến & Thiết bị giám sát Cơ cấu chấp hành Bộ xử lý & Giao tiếp
Vườn & Ngoại vi 02 Cảm biến hồng ngoại (cổng, cửa chính), Bàn phím ma trận mật mã 4×4 Đèn cổng, đèn cửa, còi báo động hú khi nhập sai mật khẩu 3 lần Arduino Uno R3
Phòng khách 01 Cảm biến nhiệt độ LM35, 01 Cảm biến độ ẩm, 01 Cảm biến PIR ngoài cửa, LCD 16×2 02 Động cơ servo SG90 mở cửa chính, relay đèn/quạt, đèn cầu thang tự động trễ 3s, còi báo nhiệt Arduino Uno R3 + Arduino Mega 2560 & W5100
Gara để xe Nút bấm vật lý gắn tường 01 Động cơ servo SG90 nâng/hạ cửa gara Dùng chung Uno R3 phòng khách
Phòng ngủ 01 Cảm biến nhiệt độ LM35, 01 Cảm biến ánh sáng (quang trở), LCD 16×2 01 Servo SG90 kéo rèm qua bộ truyền đai-bánh răng, 01 Động cơ bước + driver A4988 cho quạt thông gió Arduino Uno R3
Phòng giải trí/xem phim Tín hiệu lệnh kích hoạt kịch bản 01 Servo SG90 kéo rèm, máy chiếu, relay quạt và đèn Arduino Uno R3
Khu bếp 01 Cảm biến nhiệt độ LM35, 01 Cảm biến khí gas MQ2, 01 Cảm biến PIR cửa sổ, 01 Cảm biến mưa 01 Servo SG90 kéo dàn phơi thông minh, relay đèn/quạt hút, còi báo cháy/gas/trộm Arduino Uno R3

Nội dung chính theo từng chương

CHƯƠNG 1: TỔNG QUAN VỀ NHÀ THÔNG MINH

  • Nội dung lý luận: Phân tích lịch sử phát triển của nhà thông minh từ các thế hệ điều khiển từ xa bằng sóng hồng ngoại (bị giới hạn tầm nhìn thẳng), điều khiển qua đường dây điện thoại cố định đến công nghệ không dây và mạng Internet.
  • Khảo sát thị trường: Phân tích biểu đồ tăng trưởng thị trường Smart Home thế giới và khu vực Bắc Mỹ đạt giá trị hàng tỷ USD. Đánh giá các giải pháp công nghệ quốc tế của Compro Technology, IEI Integration, Eco-Future-World và các sản phẩm thương mại tại Việt Nam của BKAV SmartHome, Lumi.
  • Lựa chọn hướng thiết kế: Xác định xu hướng tích hợp điều khiển giọng nói và trí tuệ nhân tạo trong tương lai; quyết định lựa chọn hướng thiết kế hệ thống điều khiển và giám sát nhà thông minh qua mạng Internet/Wifi trên sa bàn kích thước 1000 mm × 800 mm, tập trung vào tính khả thi kỹ thuật và phù hợp kinh tế.

CHƯƠNG 2: THIẾT KẾ TỔNG QUAN HỆ THỐNG ĐIỀU KHIỂN NHÀ THÔNG MINH

  • Kết cấu kiến trúc: Thiết kế mặt bằng mô hình nhà ở 1 tầng gồm vườn/ngoại vi, phòng khách, phòng ngủ, phòng bếp, gara để xe, phòng xem phim và nhà vệ sinh cho 4 người sử dụng.
  • Hệ thống chức năng: Liệt kê 8 nhóm chức năng vận hành (mở cửa mật mã Passcode, rèm cửa tự động theo quang thông, đo thông số nhiệt/ẩm hiển thị LCD, dây phơi tự động thu khi mưa, chế độ xem phim tự động, báo cháy/gas tự động, điều hòa/đèn/quạt tự động, điều khiển từ xa qua Web).
  • Thiết kế phần cứng vi điều khiển: Trình bày chi tiết sơ đồ chân, khối nguồn (7–12V khuyên dùng, cấp qua chân Vin/jack DC), bộ nhớ và cấu trúc vào/ra của Arduino Uno R3 (ATmega328P) và Arduino Mega 2560 (ATmega2560).
  • Phân tích giải pháp trạm trung chuyển: Luận chứng giải pháp dùng 01 Arduino Mega 2560 làm trạm trung gian kết hợp 01 Ethernet Shield W5100 giao tiếp với 3 bo Arduino Uno R3, giải quyết bài toán tiết kiệm chi phí phần cứng (thay vì phải mua 3 shield Ethernet cho 3 phòng) và tránh hiện tượng quá tải cho Uno R3 khi phải xử lý đa nhiệm truyền thông mạng cường độ cao.

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG CƠ CẤU CHẤP HÀNH CHO NGÔI NHÀ THÔNG MINH

  • Đặc tính kỹ thuật cơ cấu chấp hành:
    • Động cơ RC Servo SG90: Hoạt động ở điện áp 4.8–5V, momen 1.8 kg/cm, tốc độ 60°/0.1s, chu kỳ xung điều khiển góc quay từ 1 ms (0°) đến 2 ms (180°). Ứng dụng điều khiển đóng/mở cửa chính, cửa gara, hệ thống kéo rèm và thu dây phơi.
    • Động cơ bước và mô-đun driver A4988: Thiết lập chân điều khiển bước STEP, chân chiều quay DIR, chân kích hoạt ENABLE (mức LOW là bật), cấu hình vi bước qua chân MS1, MS2, MS3, điều chỉnh dòng định mức bằng biến trở tích hợp. Ứng dụng điều tốc quạt thông gió phòng ngủ.
  • Nguyên lý hoạt động chi tiết tại các phòng:
    • Vườn & Ngoại vi: Cảm biến hồng ngoại phát hiện chuyển động tự động bật đèn cổng/cửa, tự tắt sau 3 giây khi người rời đi. Khóa số Passcode 4×4 yêu cầu mã PIN 6 số, sai 3 lần liên tiếp sẽ kích hoạt còi báo động.
    • Phòng khách: 2 servo mở cửa khi nhập đúng Passcode hoặc nhận lệnh từ Web. Cảm biến hồng ngoại cầu thang tự bật đèn/quạt trễ 3s. Cảm biến LM35 đọc nhiệt độ hiển thị lên LCD, nếu vượt ngưỡng an toàn sẽ bật còi chip cảnh báo.
    • Phòng ngủ: Động cơ servo kết hợp bộ truyền đai răng kéo rèm tự động theo cường độ ánh sáng môi trường đo từ cảm biến quang trở (hoặc lệnh từ Web). Động cơ bước điều khiển quạt thông gió tự động tăng giảm vận tốc theo 3 dải nhiệt độ phòng.
    • Phòng giải trí: Kích hoạt chế độ "Xem phim" sẽ đồng thời bật máy chiếu, bật quạt, tắt đèn chiếu sáng và kéo đóng rèm cửa.
    • Phòng bếp: Động cơ servo kết hợp cảm biến mưa thu dây phơi quần áo vào mái hiên khi có nước mưa tác động lên bề mặt cảm biến; giám sát nồng độ khí gas và nhiệt độ bếp.

CHƯƠNG 4: THIẾT KẾ HỆ THỐNG GIÁM SÁT, CẢNH BÁO CHO NGÔI NHÀ THÔNG MINH

  • Nguyên lý và thông số cảm biến:
    • Cảm biến nhiệt độ LM35: Cảm biến tương tự tích hợp chính xác cao, dải đo từ -55°C đến 150°C, điện áp đầu vào 4–30V, hệ số tỷ lệ tuyến tính chuẩn $10\text{ mV}/^\circ\text{C}$ ($250\text{ mV}$ tại $25^\circ\text{C}$, $1500\text{ mV}$ tại $150^\circ\text{C}$), trở kháng ra thấp $0.1\ \Omega$. Thuật toán quy đổi trên Arduino: Nhiet_do = (5.0 * analogRead(Pin) * 100.0) / 1024.0.
    • Cảm biến khí gas MQ2: Sử dụng màng bán dẫn thiếc dioxit ($\text{SnO}2$), độ dẫn điện tăng theo nồng độ các khí dễ cháy (LPG, $\text{H}2$). Cung cấp 2 ngõ ra: ngõ tương tự $A{\text{out}}$ ($0–4.5\text{V}$) và ngõ số $D{\text{out}}$ (mức logic 0 khi nồng độ vượt ngưỡng chỉnh bởi biến trở so sánh dùng IC LM358).
    • Cảm biến chuyển động hồng ngoại thụ động (PIR) HC-SR510: Điện áp hoạt động 4.3V, góc quét dưới 100°, cự ly phát hiện 2–4.5 m, tích hợp lăng kính Fresnel phân chia vùng không gian nhiệt thành 2 điện cực (+/-) kích hoạt xung điện vi sai khi có thân nhiệt chuyển động cắt ngang.
  • Thuật toán và mã nguồn giám sát:
    • Hệ thống báo cháy: Đo nhiệt độ từ LM35, nếu $T > 60^\circ\text{C}$ thì kích hoạt còi báo động digitalWrite(buzz, HIGH) và bật quạt thông gió hút khói.
    • Hệ thống báo rò rỉ khí gas: Đọc chân $D_{\text{out}}$ cảm biến MQ2 (hoặc giá trị ADC $> 50$), xuất mức logic 1 kích còi báo động.
    • Hệ thống chống đột nhập: Nút nhấn ngắt ngoài button_baodong đảo trạng thái chế độ an ninh (bật/tắt hiển thị LCD); khi kích hoạt, nếu cảm biến chuyển động CBCD1 hoặc CBCD2 lên mức HIGH sẽ lập tức kích còi báo động.

CHƯƠNG 5: HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN NHÀ THÔNG MINH QUA MẠNG INTERNET

  • Lý thuyết mạng và chuẩn truyền thông: Phân tích cấu trúc địa chỉ IPv4 (Net ID và Host ID), mô hình mạng chuyển mạch gói TCP/IP, cổng dịch vụ Web HTTP (Port 80).
  • Thông số kỹ thuật chuẩn giao tiếp RS-232 / Serial:
    • Chiều dài cáp tối đa: 15 m; Tốc độ truyền cực đại theo chuẩn TIA/EIA-232-F: 20 Kbps.
    • Mức điện áp: Mức logic 0 (+3V đến +12V - Space), Mức logic 1 (-12V đến -3V - Mark); dải không định nghĩa từ -3V đến +3V.
    • Khung truyền bất đồng bộ gồm: Bit Start (mức 0), 5–8 Bit Data (mã ASCII), Bit kiểm tra chẵn lẻ (Parity bit), 1–2 Bit Stop.
  • Nguyên lý truyền nhận dữ liệu hai chiều:
    • Chiều điều khiển (Web $\rightarrow$ Thiết bị): Thao tác nút bấm trên trình duyệt $\rightarrow$ gửi URL request $\rightarrow$ Ethernet Shield W5100 nhận gói tin $\rightarrow$ Arduino Mega 2560 bóc tách chuỗi $\rightarrow$ gửi mã số qua cổng Serial nối tiếp $\rightarrow$ Arduino Uno phòng nhận mã $\rightarrow$ đóng cắt relay/servo.
    • Chiều giám sát (Thiết bị $\rightarrow$ Web): Trạng thái nút bấm vật lý / cảm biến tại phòng $\rightarrow$ Uno gửi mã trạng thái qua Serial $\rightarrow$ Mega 2560 nhận và cập nhật vào biến toàn cục $\rightarrow$ xuất ra mã HTML phản hồi cho Web Server để hiển thị.
  • Phân tích mã nguồn Web Server và Firmware: Trình bày chi tiết cấu trúc code máy chủ Web trên Mega 2560 cấu hình IP tĩnh 192.168.0.58, xử lý chuỗi ký tự nhận diện thiết bị phòng ngủ, bếp, phòng khách và mã nguồn nhận ngắt UART tại Uno R3 phòng ngủ điều khiển relay đèn và chân PWM.

CHƯƠNG 6: THIẾT KẾ, CHẾ TẠO MÔ HÌNH THỰC NGHIỆM

  • Chế tạo sa bàn thực tế: Sa bàn kích thước 1000 mm × 800 mm được phân chia 6 không gian chức năng hoàn chỉnh, lắp đặt 03 bo mạch Arduino Uno R3, 01 Arduino Mega 2560, 01 Ethernet Shield W5100 cùng hệ thống chấp hành servo, động cơ bước, quạt, đèn led chiếu sáng và hệ thống dây bus tín hiệu.
  • Giao diện Web điều khiển: Thiết kế trang web hoàn chỉnh hiển thị bảng trạng thái an ninh ("An toàn" / "NGUY HIỂM !!!"), bảng giám sát nhiệt độ và nút bấm điều khiển độc lập cho từng phòng (Phòng khách, 2 Phòng ngủ, Khu bếp, Cửa chính).
  • Kết quả đo đạc thực nghiệm:
    • Giao diện web hiển thị chính xác cảnh báo khi có đột nhập và khi nồng độ khí gas/nhiệt độ tăng cao.
    • Cập nhật số liệu nhiệt độ thời gian thực của phòng khách và phòng ngủ đạt giá trị xấp xỉ nhiệt độ thực tế trong phòng thí nghiệm là $37^\circ\text{C}$.
    • Điều khiển đóng/mở cửa, bật/tắt thiết bị thành công từ cả máy tính để bàn và điện thoại thông minh kết nối mạng nội bộ.

Kết quả và đóng góp

Kết quả chính kèm số liệu thực nghiệm

  • Chế tạo thành công mô hình sa bàn nhà thông minh hoàn chỉnh với kích thước vật lý $1000\text{ mm} \times 800\text{ mm}$.
  • Tích hợp và vận hành ổn định hệ thống mạng phần cứng gồm 01 Arduino Mega 2560 đóng vai trò Master Gateway kết hợp Arduino Ethernet Shield W5100 và 03 Arduino Uno R3 Slave điều khiển phân tán 6 khu vực chức năng.
  • Thiết lập thành công máy chủ Web nhúng tại địa chỉ IP 192.168.0.58, cổng mạng 80, tự động làm mới dữ liệu sau mỗi chu kỳ $3\text{ giây}$.
  • Giám sát chính xác nhiệt độ môi trường thực tế tại phòng khách và phòng ngủ hiển thị lên Web đạt mức xấp xỉ $37^\circ\text{C}$.
  • Hệ thống cảnh báo an ninh và an toàn kích hoạt chính xác theo ngưỡng:
    • Còi báo cháy và quạt hút tự kích hoạt khi cảm biến LM35 phát hiện nhiệt độ vượt ngưỡng $60^\circ\text{C}$.
    • Còi báo rò rỉ khí gas kích hoạt khi ngõ ra cảm biến MQ2 chuyển mức logic hoặc giá trị đo vượt ngưỡng 50 đơn vị.
    • Đèn chiếu sáng cổng và cửa ra vào tự động duy trì bật và tự tắt chính xác sau $3\text{ giây}$ khi người rời khỏi vùng quét cảm biến hồng ngoại.
    • Hệ thống quạt thông gió phòng ngủ tự động điều tốc qua driver A4988 theo 3 mức thời gian trễ bước: $950\ \mu\text{s}$ (khi $T < 30^\circ\text{C}$), $700\ \mu\text{s}$ (khi $30^\circ\text{C} \le T \le 40^\circ\text{C}$) và $500\ \mu\text{s}$ (khi $T > 40^\circ\text{C}$).
    • Hệ thống rèm cửa tự động xoay servo đóng/mở tương ứng theo 3 vùng giá trị quang trở: trời sáng ($A_{\text{out}} \le 150$), ánh sáng trung bình ($150 < A_{\text{out}} \le 500$) và trời tối ($A_{\text{out}} > 500$).

Giải pháp và kiến nghị tác giả đề xuất

  • Đề xuất giải pháp kiến trúc điều khiển phân cấp (Master-Slave) sử dụng Arduino Mega 2560 làm trạm trung gian giao tiếp mạng thay vì gắn module Ethernet riêng cho từng Arduino Uno, giúp tiết kiệm chi phí phần cứng và tối ưu hóa tài nguyên tính toán của vi điều khiển 8-bit.
  • Kết hợp cơ chế điều khiển song song giữa nút bấm cứng cục bộ (sử dụng kỹ thuật ngắt ngoài attachInterrupt) và nút bấm ảo trên giao diện Web nhằm đảm bảo tính liên tục của hệ thống khi mất kết nối mạng.

Đóng góp của đồ án

  • Tác giả tự nêu đã làm chủ được quy trình thiết kế, kết nối phần cứng và lập trình nhúng cho hệ thống IoT/Smart Home từ cấp độ cảm biến, cơ cấu chấp hành đến tầng truyền thông mạng và giao diện Web người dùng.
  • Hiện thực hóa thành công một sản phẩm mô hình thực nghiệm có tính trực quan cao, chứng minh tính khả thi của giải pháp điều khiển và giám sát thiết bị gia dụng qua mạng Internet trên nền tảng vi điều khiển mã nguồn mở.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế kỹ thuật

  • Độ trễ và tính ổn định của giao diện Web: Thời gian đáp ứng của trang web điều khiển chưa thực sự ổn định; tồn tại độ trễ trong quá trình cập nhật trạng thái do năng lực xử lý giới hạn của vi điều khiển 8-bit, độ ổn định của hạ tầng mạng Internet và độ chính xác của các cảm biến đo lường.
  • Giới hạn số lượng biến quản trị: Số lượng biến số giám sát và điều khiển trên bộ điều khiển trung tâm còn hạn chế (hiện tại hỗ trợ 8 biến digital và 4 biến analog, tổng cộng 12 biến điều khiển).
  • Hiện tượng nhiễu tín hiệu: Còn xảy ra hiện tượng nhiễu đường truyền tín hiệu trên bus truyền thông nối tiếp khi hệ thống vận hành nhiều cơ cấu chấp hành công suất cùng lúc.

Hướng nghiên cứu mở rộng

  • Lắp đặt và tích hợp thêm hệ thống camera giám sát an ninh truyền hình ảnh trực tiếp về giao diện điều khiển.
  • Mở rộng phạm vi ứng dụng của hệ thống giám sát và điều khiển từ xa sang các lĩnh vực y tế, giáo dục, chăn nuôi và nông nghiệp công nghệ cao.
  • Xây dựng phần mềm quản lý chuyên dụng trên thiết bị di động (Mobile App) có khả năng tự động gửi thông báo đẩy (Push Notification) cảnh báo các điều kiện nguy hiểm cho người dùng mà không bắt buộc phải liên tục mở trình duyệt web.

Giá trị tham khảo

Đồ án tốt nghiệp cung cấp tài liệu tham khảo thực tế cho các nhóm đối tượng và mục đích nghiên cứu sau:

  • Sinh viên ngành Kỹ thuật Cơ Điện Tử, Kỹ thuật Điều khiển & Tự động hóa, Điện tử Viễn thông và Hệ thống Nhúng: Tham khảo sơ đồ nguyên lý mạch điện tử ghép nối vi điều khiển AVR (Arduino Uno R3, Mega 2560) với các mô-đun chức năng (Ethernet W5100, driver động cơ bước A4988, servo RC SG90, màn hình LCD I2C) và các loại cảm biến công nghiệp/dân dụng (LM35, MQ2, PIR HC-SR510, quang trở, cảm biến mưa).
  • Người làm đề tài về Internet of Things (IoT) và Tự động hóa tòa nhà: Tham khảo giải pháp xây dựng máy chủ Web nhúng (Embedded Web Server) trực tiếp trên chip vi điều khiển, kỹ thuật bóc tách chuỗi URL HTTP Request để điều khiển chân I/O và phương pháp truyền thông dữ liệu hai chiều Master-Slave qua cổng nối tiếp UART/RS-232.
  • Các phần nội dung đáng tham khảo nhất trong văn bản:
    • Sơ đồ nguyên lý và mã nguồn mẫu tích hợp ngắt Timer 1 (ISR(TIMER1_OVF_vect)) để tính toán vận tốc động cơ và hiển thị LCD ở Phụ lục code.
    • Thuật toán điều khiển phân cấp và mã nguồn phân tích dữ liệu nối tiếp hai chiều giữa Arduino Mega 2560 và Arduino Uno R3 trình bày trong Chương 5.
    • Sơ đồ mạch giao tiếp vi bước giữa driver A4988 và động cơ bước điều chỉnh tốc độ quạt theo nhiệt độ trong Chương 3.

Câu hỏi thường gặp

1. Tại sao tác giả sử dụng cấu trúc kết hợp 01 Arduino Mega 2560 và 03 Arduino Uno R3 thay vì gắn Ethernet Shield cho từng bo mạch Uno?

Nếu gắn Ethernet Shield trực tiếp lên bo Uno ở mỗi phòng thì chi phí phần cứng sẽ tăng cao (phải dùng 3 module Ethernet) và có thể gây quá tải bộ nhớ/xử lý cho chip ATmega328P khi vận hành liên tục ở cường độ cao. Giải pháp của tác giả là dùng 01 Arduino Mega 2560 làm trạm trung chuyển gom tín hiệu nối tiếp từ 3 bo Uno và chỉ dùng 01 Ethernet Shield W5100 cắm trên Mega để đẩy dữ liệu lên Web Server, vừa tiết kiệm chi phí vừa tận dụng năng lực xử lý mạnh mẽ hơn của chip ATmega2560.

2. Ngưỡng cảnh báo của hệ thống báo cháy và báo rò rỉ khí gas được thiết lập như thế nào trong mã nguồn?

  • Báo cháy: Cảm biến nhiệt độ LM35 đọc giá trị tương tự và quy đổi thành độ Celsius; khi nhiệt độ đo được tại phòng vượt quá $60^\circ\text{C}$, vi điều khiển sẽ kích hoạt ngõ ra chân còi báo động lên mức HIGH và tự động bật quạt hút khói.
  • Báo rò rỉ khí gas: Cảm biến MQ2 xuất tín hiệu $D_{\text{out}}$ mức 0 khi nồng độ khí vượt ngưỡng chỉnh biến trở (hoặc giá trị biến gas $> 50$), vi điều khiển lập tức kích còi chip phát âm thanh cảnh báo nguy hiểm.

3. Hệ thống điều khiển quạt thông gió phòng ngủ tự động thay đổi vận tốc dựa trên nguyên lý nào?

Quạt thông gió sử dụng động cơ bước điều khiển qua mô-đun driver A4988. Vi điều khiển Uno R3 đọc giá trị nhiệt độ từ cảm biến LM35 và điều chỉnh khoảng thời gian trễ giữa các xung cấp cho chân STEP (delayMicroseconds(t)):

  • Nếu nhiệt độ $< 30^\circ\text{C}$: thời gian trễ bước là $950\ \mu\text{s}$.
  • Nếu nhiệt độ từ $30^\circ\text{C}$ đến $40^\circ\text{C}$: thời gian trễ bước giảm xuống $700\ \mu\text{s}$ (tăng tốc độ quạt).
  • Nếu nhiệt độ $> 40^\circ\text{C}$: thời gian trễ bước là $500\ \mu\text{s}$ (quạt quay ở tốc độ cao nhất).

4. Giao diện Web điều khiển cập nhật trạng thái dữ liệu môi trường và thiết bị bằng cơ chế gì?

Giao diện Web được lưu trữ trong bộ nhớ của Arduino Mega 2560 và phục vụ qua Ethernet Shield W5100 tại địa chỉ IP 192.168.0.58:80. Trang web sử dụng thẻ meta <meta http-equiv="Refresh" content="3"; url=/tt"/> để trình duyệt tự động gửi yêu cầu làm mới dữ liệu sau mỗi 3 giây. Khi người dùng bấm các nút ảo (như DENPKON, CUACHINHON), trình duyệt gửi chuỗi URL tương ứng để vi điều khiển phân tích và thực thi lệnh.

5. Khóa cửa bằng mật mã Passcode tại ngoại vi hoạt động theo quy tắc nào?

Bàn phím ma trận 4×4 gắn tại cửa chính yêu cầu người dùng nhập chuỗi mật mã bảo mật gồm 6 ký tự số. Khi người dùng nhập chính xác mật khẩu, Arduino Uno sẽ điều khiển động cơ servo SG90 xoay góc để mở chốt cửa; nếu nhập sai mật khẩu quá 3 lần liên tiếp, hệ thống sẽ tự động kích hoạt còi hú báo động an ninh.


Kết luận

Đồ án tốt nghiệp của tác giả Nguyễn Hồng Nhật đã hoàn thành việc thiết kế và chế tạo thực nghiệm mô hình hệ thống nhà thông minh tích hợp giám sát và điều khiển qua mạng Internet trên nền tảng vi điều khiển Arduino. Bằng việc đề xuất kiến trúc điều khiển phân tán kết hợp giữa 01 trạm trung tâm Arduino Mega 2560 gắn Ethernet Shield W5100 và 03 trạm cục bộ Arduino Uno R3, hệ thống đã vận hành trơn tru các kịch bản tự động hóa chiếu sáng, rèm cửa, điều tốc quạt, thu dây phơi khi mưa cùng các cơ chế an ninh báo cháy, báo gas và chống xâm nhập. Kết quả thử nghiệm trên sa bàn $1000\text{ mm} \times 800\text{ mm}$ khẳng định tính khả thi của giải pháp nhúng Web Server điều khiển từ xa, đồng thời xác định rõ các hạn chế về thời gian đáp ứng để định hướng phát triển ứng dụng di động chuyên dụng và tích hợp camera giám sát trong tương lai.