IoTLabs

Nghiên cứu, Sáng tạo và Thử nghiệm

Hệ thống giám sát nhà thông minh mini với Raspberry Pi – Bài 1: Tổng quan hệ thống giám sát cửa và phát hiện chuyển động

Trong các dự án smart home thực tế, hai nhu cầu rất phổ biến là:

  • biết cửa đang mở hay đóng
  • biết có chuyển động trong khu vực hay không

Chỉ với hai tín hiệu cơ bản này, chúng ta đã có thể tạo ra rất nhiều tính năng hữu ích như:

  • cảnh báo khi cửa mở bất thường
  • phát hiện có người đi vào khu vực cần theo dõi
  • bật notify khi nhà đang ở chế độ “armed”
  • ghi log sự kiện để xem lại theo thời gian
  • đẩy event lên MQTT hoặc dashboard để mở rộng thành hệ thống lớn hơn

Đó cũng là lý do mini series 24 sẽ tập trung vào một mô hình rất thực tế, dễ triển khai và cực kỳ phù hợp với Raspberry Pi:

👉 Hệ thống giám sát nhà thông minh mini với cảm biến cửa từ và PIR

Trong bài mở đầu này, chúng ta sẽ đi qua toàn bộ bức tranh tổng thể: bài toán thực tế, vai trò của cảm biến cửa từ và PIR, kiến trúc hệ thống, luồng dữ liệu, và lộ trình triển khai trong các bài tiếp theo.

Bạn sẽ làm được gì sau bài này

Sau khi đọc xong bài 24.1, bạn sẽ:

  • hiểu bài toán của một hệ thống giám sát cửa và chuyển động trong nhà
  • biết vì sao nên kết hợp cửa từ + PIR
  • hình dung được kiến trúc tổng thể của toàn bộ mini series
  • sẵn sàng bước sang phần đấu nối và lập trình ở các bài tiếp theo

Bài toán thực tế: vì sao cần giám sát cửa và chuyển động

Trong một ngôi nhà, văn phòng nhỏ, kho mini hoặc phòng học, có rất nhiều tình huống mà bạn muốn biết điều gì vừa xảy ra thay vì chỉ biết trạng thái hiện tại.

Ví dụ:

  • cửa chính vừa mở lúc nửa đêm
  • cửa kho bị mở trong khi không có ai được phép vào
  • có chuyển động trong phòng khách khi hệ thống đang bật chế độ cảnh báo
  • cửa đã mở nhưng không có ai đi vào
  • có người đi qua khu vực cửa sau dù không chạm vào cửa chính

Nếu chỉ dùng một cảm biến duy nhất, hệ thống thường thiếu ngữ cảnh. Chẳng hạn:

  • chỉ có cảm biến cửa → biết cửa mở, nhưng không biết có chuyển động hay không
  • chỉ có PIR → biết có người di chuyển, nhưng không biết họ vào bằng cửa nào

Khi kết hợp cả hai, hệ thống trở nên hữu ích hơn rất nhiều.

Một vài kịch bản rất thực tế

Kịch bản 1: Cửa mở bất thường ban đêm

Nếu cửa mở trong khoảng thời gian từ 23:00 đến 05:00, hệ thống có thể coi đó là một sự kiện cần cảnh báo.

Kịch bản 2: Có chuyển động khi nhà đang ở chế độ armed

Nếu PIR phát hiện chuyển động trong lúc chủ nhà đã bật chế độ giám sát, hệ thống có thể gửi notify ngay.

Kịch bản 3: Cửa mở rồi có chuyển động ngay sau đó

Đây là một pattern hợp lý: có người mở cửa rồi bước vào nhà. Hệ thống có thể log lại như một phiên truy cập đơn giản.

Kịch bản 4: PIR phát hiện chuyển động nhưng cửa không mở

Trường hợp này có thể dùng để phát hiện:

  • có người đã ở sẵn trong khu vực
  • có chuyển động từ nguồn khác
  • hoặc cảnh báo giả nếu PIR quá nhạy

Những tình huống như vậy chính là nền tảng để xây hệ thống giám sát nhà thông minh mini.

Cửa từ và PIR dùng để làm gì

Đây là hai loại cảm biến rất phổ biến, rẻ, dễ mua và rất hợp cho dự án Raspberry Pi.

Cảm biến cửa từ là gì

Cảm biến cửa từ thường gồm hai phần:

  • phần nam châm
  • phần công tắc từ

Khi cửa đóng, hai phần này nằm gần nhau và mạch ở một trạng thái xác định. Khi cửa mở, trạng thái thay đổi. Nhờ vậy, Raspberry Pi có thể biết:

  • cửa đang đóng
  • cửa đang mở
  • cửa vừa đổi trạng thái

Cửa từ phù hợp cho:

  • cửa chính
  • cửa sổ
  • cửa kho
  • nắp tủ
  • ngăn kéo cần giám sát

Điểm mạnh của cảm biến cửa từ là:

  • rất đơn giản
  • ổn định
  • ít nhiễu
  • dễ đọc bằng GPIO

PIR là gì

PIR là cảm biến phát hiện chuyển động dựa trên thay đổi bức xạ hồng ngoại từ cơ thể người hoặc vật thể ấm di chuyển trong vùng quan sát.

Nói đơn giản hơn:

👉 PIR không “nhìn thấy hình ảnh”, mà chỉ phát hiện sự thay đổi nhiệt trong không gian.

PIR phù hợp cho:

  • phát hiện có người đi vào phòng
  • phát hiện chuyển động ở hành lang
  • phát hiện hoạt động tại cửa ra vào
  • kích hoạt cảnh báo hoặc bật đèn tự động

Điểm mạnh của PIR:

  • rẻ
  • dễ dùng
  • ít tốn tài nguyên
  • phù hợp cho logic “có chuyển động hay không”

Vì sao nên kết hợp cửa từ và PIR

Nếu chỉ dùng cửa từ, bạn chỉ biết trạng thái của cửa.

Nếu chỉ dùng PIR, bạn chỉ biết có chuyển động.

Nhưng khi kết hợp cả hai, bạn có thể xây được các rule có ý nghĩa hơn nhiều.

Ví dụ:

  • Cửa mở + PIR phát hiện chuyển động
    • có khả năng ai đó vừa đi vào
  • Cửa mở nhưng không có chuyển động
    • có thể cửa bị hé, gió làm lệch cảm biến, hoặc chỉ mở thoáng qua
  • Không mở cửa nhưng PIR phát hiện chuyển động
    • có thể trong nhà đã có người, hoặc có cảnh báo giả
  • Cửa mở nhiều lần liên tục trong thời gian ngắn
    • có thể cần log hoặc notify để kiểm tra

Đây chính là lý do mini series này không chỉ dừng ở mức “đọc cảm biến”, mà sẽ tiến tới xây rule cảnh báo thông minh.

Mục tiêu của mini series 24

Mini series 24 không hướng tới một hệ thống an ninh phức tạp cấp doanh nghiệp. Thay vào đó, mục tiêu là xây một hệ thống:

  • nhỏ gọn
  • dễ học
  • chạy được thật
  • dễ mở rộng
  • phù hợp cho maker và người mới làm smart home

Sau khi hoàn thành toàn bộ series, bạn sẽ có một hệ thống có khả năng:

  • theo dõi cửa mở/đóng
  • phát hiện chuyển động
  • log sự kiện tại local
  • kích hoạt rule cảnh báo cơ bản
  • gửi notify
  • đẩy event lên MQTT
  • kết nối dashboard để quan sát trạng thái

Đây là một nền tảng rất tốt để sau này phát triển thành:

  • smart home mini
  • cửa thông minh
  • cảm biến an ninh phòng trọ
  • giám sát kho nhỏ
  • hệ thống phòng lab / lớp học STEM

Kiến trúc tổng thể của hệ thống

Ở mức tổng quan, hệ thống sẽ có kiến trúc như sau:

Door Sensor + PIR -> Raspberry Pi -> Rule Engine -> Notify / MQTT / Dashboard

Trong đó:

1. Door Sensor

Cung cấp tín hiệu:

  • cửa mở
  • cửa đóng

2. PIR Sensor

Cung cấp tín hiệu:

  • có chuyển động
  • không có chuyển động

3. Raspberry Pi

Đóng vai trò trung tâm xử lý:

  • đọc GPIO
  • phát hiện thay đổi trạng thái
  • ghi log
  • áp dụng rule
  • gửi event

4. Rule Engine

Là lớp logic quyết định:

  • sự kiện nào chỉ log
  • sự kiện nào cần cảnh báo
  • điều kiện nào là hợp lệ
  • khi nào cần bỏ qua cảnh báo giả

5. Notify / MQTT / Dashboard

Là lớp đầu ra để hệ thống giao tiếp với người dùng hoặc hệ thống khác:

  • Telegram
  • Email
  • Webhook
  • MQTT broker
  • Dashboard trạng thái

Luồng dữ liệu mẫu

Một tình huống đơn giản có thể diễn ra như sau:

Cửa mở -> Raspberry Pi đọc GPIO -> tạo event door_open -> kiểm tra rule -> gửi notify

Một tình huống khác:

PIR phát hiện chuyển động -> Raspberry Pi tạo event motion_detected -> hệ thống đang armed -> publish MQTT + gửi notify

Hoặc một chuỗi có ngữ cảnh hơn:

Cửa mở -> vài giây sau PIR phát hiện chuyển động -> ghi nhận một lần truy cập hợp lệ

Dù mini series này bắt đầu từ mức cơ bản, tư duy thiết kế sẽ luôn hướng tới việc dữ liệu đi qua từng lớp rõ ràng:

cảm biến -> sự kiện -> rule -> hành động

Hệ thống sẽ gồm những thành phần nào

Phần cứng

Ở mức cơ bản, hệ thống sẽ dùng:

  • Raspberry Pi
  • cảm biến cửa từ
  • cảm biến PIR
  • dây nối
  • breadboard nếu cần
  • nguồn ổn định cho Raspberry Pi

Ở các bài sau, bạn có thể mở rộng thêm:

  • buzzer
  • relay
  • LED báo trạng thái
  • màn hình nhỏ
  • camera
  • ESP32 node phụ

Phần mềm

Hệ thống phần mềm sẽ dần được xây qua từng bài:

  • đọc GPIO bằng Python
  • phát hiện thay đổi trạng thái
  • debounce và chống báo giả
  • lưu event local
  • áp dụng rule cảnh báo
  • gửi notify
  • publish MQTT

Điểm hay của cách chia mini series là mỗi lớp đều được làm riêng, nên rất dễ hiểu và dễ nâng cấp.

Vì sao Raspberry Pi phù hợp cho bài toán này

Nếu chỉ cần đọc vài cảm biến đơn giản, nhiều người sẽ nghĩ tới việc dùng ESP32 hoặc Arduino. Điều đó hoàn toàn đúng trong nhiều trường hợp. Tuy nhiên, Raspberry Pi có một lợi thế rất lớn khi bạn muốn làm hệ thống giám sát hơn, do bộ nhớ lớn hơn ESp32 & Arduino nên có thể mở rộng thêm tính năng khác dễ dàng hơn.

Raspberry Pi phù hợp vì:

  • chạy được Python rất tiện
  • dễ log file, lưu SQLite, chạy service
  • dễ tích hợp Telegram, webhook, MQTT
  • có thể gắn thêm dashboard local
  • phù hợp làm trung tâm nhỏ cho nhà hoặc lab

Nói cách khác:

  • ESP32 rất tốt cho sensor node
  • Raspberry Pi rất hợp cho hub xử lý local

Trong mini series này, Raspberry Pi sẽ đóng vai trò như một bộ não nhỏ của hệ thống giám sát.

Những tính năng sẽ được xây dần trong loạt bài “Hệ thống giám sát nhà thông minh mini với Raspberry Pi”

Để bạn hình dung rõ lộ trình, đây là những gì chúng ta sẽ làm trong từng bài.

  • Bài 1: Tổng quan bài toán, cảm biến, kiến trúc hệ thống và định hướng triển khai.
  • Bài 2: Đấu nối cảm biến cửa từ và PIR với Raspberry Pi, test tín hiệu input và lưu ý mức điện áp 3.3V.
  • Bài 3: Viết Python để đọc trạng thái cửa và phát hiện chuyển động, xử lý polling hoặc interrupt, và ghi log event local.
  • Bài 4: Xây lớp rule cảnh báo: armed/disarmed, cửa mở bất thường, PIR ban đêm, debounce và chống cảnh báo giả.
  • Bài 5: Gửi notify, publish MQTT event và kết nối dashboard để hệ thống bước sang mức hoàn chỉnh hơn.

Một số rule thực tế mà chúng ta có thể thực hiện

Đây là phần thú vị nhất của loại hệ thống này. Chỉ từ hai loại tín hiệu đơn giản, bạn đã có thể tạo ra nhiều rule rất hữu ích.

Rule 1: Cửa mở khi hệ thống đang armed

  • tạo cảnh báo mức cao
  • gửi notify ngay

Rule 2: PIR phát hiện chuyển động ban đêm

  • tạo event motion_night
  • có thể cảnh báo nếu khu vực đang được giám sát

Rule 3: Bỏ qua chuyển động trong vài giây sau khi đổi trạng thái

  • dùng để tránh spam sự kiện

Rule 4: Cửa mở quá lâu

  • ví dụ hơn 2 phút vẫn chưa đóng
  • gửi nhắc nhở

Rule 5: Kết hợp cửa mở + chuyển động

  • tạo event có ý nghĩa hơn thay vì chỉ báo rời rạc từng cảm biến

Chúng ta sẽ chưa triển khai hết ngay trong bài đầu tiên, nhưng đây là hướng phát triển chính của mini series.

Ứng dụng thực tế của hệ thống này

Hệ thống giám sát nhà thông minh mini kiểu này không chỉ hợp cho “nhà ở”. Nó còn dùng tốt trong nhiều bối cảnh khác.

Nhà ở

  • cửa chính
  • cửa sổ
  • hành lang
  • phòng khách

Phòng trọ / căn hộ nhỏ

  • cửa ra vào
  • khu vực đặt đồ có giá trị
  • phát hiện hoạt động khi vắng mặt

Kho mini

  • cửa kho
  • chuyển động trong khu vực chứa hàng
  • log hoạt động ra vào

Phòng lab / lớp học STEM

  • giám sát ra vào
  • demo hệ thống an ninh cơ bản
  • dùng làm nền tảng dạy về GPIO, event, MQTT và notify

Kết luận

Bài toán giám sát cửa và chuyển động là một trong những bài toán smart home dễ tiếp cận nhất nhưng cũng rất thực tế. Chỉ với cảm biến cửa từ + PIR + Raspberry Pi, bạn đã có thể xây một hệ thống mini có khả năng:

  • theo dõi trạng thái cửa
  • phát hiện chuyển động
  • tạo event
  • áp dụng rule
  • gửi cảnh báo
  • kết nối với MQTT và dashboard

Điều quan trọng hơn là mini series này không chỉ dừng ở mức đọc cảm biến, mà sẽ đi theo đúng lộ trình của một hệ thống hoàn chỉnh:

cảm biến -> dữ liệu -> rule -> notify -> tích hợp IoT

Ở bài tiếp theo, chúng ta sẽ bắt đầu phần thực hành đầu tiên:

👉 Đấu nối cảm biến cửa từ và PIR với Raspberry Pi