Pi1 đo nhiệt độ/ độ ẩm bằng cảm biến DHT22 và thu hồi dữ liệu của PI2 từ server.. o Nếu không thì Pi1 nhận tín hiệu từ server và tắt rơle quạt, quay lại vòng lặp vô hạn từ đầu... Pi 2 đo
Trang 1Nhóm lớp D19_025
Nhóm thảo luận:14
Sinh viên:
Nguyễn Anh Tuấn
Hoàng Ngọc Thắng
Đỗ Văn Tùng
Nguyễn Quang Dũng
Chức năng, thiết bị sử dụng:
Raspberry Pi 4
Relay module
Trang 2Phân tích sơ đồ thuật toán:
Section1
Raspberry Pi 2 đo nhiệt độ/độ ẩm bằng cảm biến DHT11 và gửi tới server(MSC)
Pi1 đo nhiệt độ/ độ ẩm bằng cảm biến DHT22 và thu hồi dữ liệu của PI2
từ server
PI1 tính toán và gửi dữ liệu trung bình của nó đo đc về
server Nhiệt độ > 27độ hoặc độ ẩm > 80% thì :
o Pi1 nhận tín hiệu từ server và bật rơle quạt, quay lại vòng lặp vô hạn từ đầu
o Nếu không thì Pi1 nhận tín hiệu từ server và tắt rơle quạt, quay lại vòng lặp vô hạn từ đầu
Trang 3Pi 2 đo mức sáng bằng cảm biến LDR và gửi tới server MCS
Pi 1 đo mức sáng bằng cảm biến LDR và lấy dữ liệu của Pi2 từ server Pi1 gửi dữ liệu đến MCS , so sánh 2 giá trị và chọn cái lớn hơn
Nút ánh sáng tự động ở MCS có được ấn không ?
o Nếu có: P1 cài dặt đèn led và xác định độ sáng của nó theo mức độ lớn hơn Sau đó quay lại vòng lặp vô hạn từ đầu
o Nếu không: Pi1 tắt đèn led Sau đó quay lại vòng lặp vô hạn từ đầu
Trang 4Phát hiện xâm nhập:
o Có: Pi1 gửi dòng thông báo qua API Sau đó Pi1 phát báo động Tiếp theo Pi1 chụp ảnh, và gửi về server MCS Sau đó quay lại vòng lặp vô hạn từ đầu
o Không : ngủ 2s Sau đó quay lại vòng lặp vô hạn từ đầu
Trang 5Phân tích code
Code Raspberry pi 2
Import các thư viện cần dùng, set up các cổng đầu vào và đầu ra:
Trang 6Hàm gửi thông báo đến ứng dụng Line:
Hàm bật chuông cảnh báo:
Trang 7- Tạo kết nối Raberry Pi 1 đến MCS, tạo POST request gửi dữ liệu và nhận
dữ liệu trả lại từ MCS:
Gửi GET request để lấy dữ liệu từ MCS:
Hàm đọc dữ liệu từ cảm biến:
Trang 8Hàm xác định độ sáng:
Hàm bật quạt:
Hàm tắt quạt:
Đọc mức độ sáng của cảm biến 1 và lấy dữ liệu độ sáng của cảm biến 2 qua
MCS Sau đó so sánh 2 độ sáng rồi set LightLevel theo giá trị nhỏ hơn:
Đọc độ ẩm, nhiệt độ từ DHT sensor và gửi dữ liệu lên MCS:
Trang 9Kiểm tra trạng thái đèn bật, nếu LightAutomation = 1 thì bật đèn với độ sáng Lightlevel_min:
Đọc nhiệt độ từ cảm biến nhiệt độ của Raspberry Pi 2:
Tính giá trị trung bình của nhiệt độ và độ ẩm, sau đó gửi dữ liệu đến MCS để xử lý:
Trang 10Xử lý bật – tắt quạt:
Đọc dữ liệu từ PIR sensor Nếu I == 0 thì ko có kẻ xâm nhập Ngược lại, thì sẽ thực hiện gửi thông báo qua hàm “linenotify”, chụp ảnh kẻ xâm nhập và gửi ảnh đến MCS, cuối cùng bật chuông cảnh báo qua hàm “bell()”:
Trang 11Code Raspberry pi 2
Import các thư viện cần dùng:
Set đầu vào, đầu ra của các cảm biến:
Hàm để đọc dữ liệu từ cảm biến :
Trang 12Hàm tạo kết nối Raspberry Pi 2 đến MCS, gửi và nhận phản hồi đến MCS:
Đo nhiệt độ, độ ẩm, ánh sáng từ các cảm biến, sau đó gửi dữ liệu lên MCS: