Thiết bị giám sát bằng Raspberry Pi và Arduino, gửi email khi nhiệt độ trở nên nguy hiểm
Vào mùa hè nóng bức, ngày càng có nhiều trường hợp người cao tuổi sống một mình phải nhập viện vì say nắng, do không nhận ra nhiệt độ trong phòng đang tăng. Dự án cá nhân «THSense», được đăng trên Zenn, nhắm tới những người chăm sóc người thân sống ở xa. Hệ thống theo dõi nhiệt độ và độ ẩm trong phòng, rồi gửi email khi nhiệt độ đạt mức nguy hiểm.
Tính năng đơn giản. Mỗi phút hệ thống đo nhiệt độ và độ ẩm, gửi email khi vượt 35 °C, và người dùng có thể xem giá trị hiện tại cùng lịch sử dưới dạng biểu đồ trên trình duyệt. Theo tác giả, biểu đồ giúp nhận ra sớm các dấu hiệu như nhiệt độ liên tục tăng.
Kiến trúc khá thú vị. Việc đọc cảm biến (DHT20) được giao cho Arduino trên bộ Grove Beginner Kit thay vì Raspberry Pi, vì như vậy phản hồi thời gian thực tốt hơn và dễ lấy được số liệu chính xác. Cứ 60 giây, Arduino gửi một chuỗi ký tự qua cổng USB serial đến Raspberry Pi. Chương trình Python trên Raspberry Pi nhận chuỗi bằng pyserial, chuyển lại thành số, rồi đảm nhiệm việc kiểm tra nhiệt độ, gửi email và lưu vào cơ sở dữ liệu. Cơ sở dữ liệu là MariaDB chạy trên máy ảo của Azure, còn giao diện được làm bằng Flask và Chart.js. Email gửi qua máy chủ SMTP của Gmail bằng smtplib, và thông tin tài khoản được đọc từ tệp .env thay vì ghi trong mã nguồn.
Phân chia vai trò rõ ràng, nên dự án là ví dụ hữu ích cho thiết kế hệ thống IoT nhỏ. Việc Arduino đo còn Raspberry Pi đánh giá và thông báo là cách chia mà tôi cũng có thể áp dụng cho các dự án tự làm tương tự. Tác giả cho biết mã nguồn được công khai trên GitHub.
Nguồn: Zenn
Tính năng đơn giản. Mỗi phút hệ thống đo nhiệt độ và độ ẩm, gửi email khi vượt 35 °C, và người dùng có thể xem giá trị hiện tại cùng lịch sử dưới dạng biểu đồ trên trình duyệt. Theo tác giả, biểu đồ giúp nhận ra sớm các dấu hiệu như nhiệt độ liên tục tăng.
Kiến trúc khá thú vị. Việc đọc cảm biến (DHT20) được giao cho Arduino trên bộ Grove Beginner Kit thay vì Raspberry Pi, vì như vậy phản hồi thời gian thực tốt hơn và dễ lấy được số liệu chính xác. Cứ 60 giây, Arduino gửi một chuỗi ký tự qua cổng USB serial đến Raspberry Pi. Chương trình Python trên Raspberry Pi nhận chuỗi bằng pyserial, chuyển lại thành số, rồi đảm nhiệm việc kiểm tra nhiệt độ, gửi email và lưu vào cơ sở dữ liệu. Cơ sở dữ liệu là MariaDB chạy trên máy ảo của Azure, còn giao diện được làm bằng Flask và Chart.js. Email gửi qua máy chủ SMTP của Gmail bằng smtplib, và thông tin tài khoản được đọc từ tệp .env thay vì ghi trong mã nguồn.
Phân chia vai trò rõ ràng, nên dự án là ví dụ hữu ích cho thiết kế hệ thống IoT nhỏ. Việc Arduino đo còn Raspberry Pi đánh giá và thông báo là cách chia mà tôi cũng có thể áp dụng cho các dự án tự làm tương tự. Tác giả cho biết mã nguồn được công khai trên GitHub.
Nguồn: Zenn
Bình luận 0
Hãy là người bình luận đầu tiên, bằng bất kỳ ngôn ngữ nào.
Đăng nhập để bình luận