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
- 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


