Mục lục:
- Quân nhu
- Bước 1: Kết nối cảm biến nước với hạt
- Bước 2: Kết nối Nguồn báo động với Raspberry
- Bước 3: Định cấu hình máy chủ Apache
- Bước 4: Bật CGI trên Apache
- Bước 5: Thiết lập trang web
- Bước 6: Tạo tập lệnh cho Raspi Camera
Video: Cách tạo hệ thống báo động phát hiện lũ lụt thông minh bằng Raspberry Pi và Particle Argon: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Có cảm biến lũ tiêu chuẩn là cách tuyệt vời để ngăn ngừa thiệt hại lớn cho nhà hoặc nơi làm việc của bạn.
Nhưng thật khó nếu bạn không ở nhà để xem báo thức.
Tất nhiên bạn có thể mua những
Hệ thống báo động lũ lụt này phát hiện bất kỳ chất lỏng nào và kích hoạt cảnh báo và cập nhật trang web về lũ lụt có thể được truy cập ở bất kỳ đâu trên thế giới, cho dù bạn đang đi nghỉ thư giãn hay chỉ đang ở cơ quan và bạn muốn biết về tình trạng ngôi nhà của mình.
Quân nhu
Raspberry pi (tôi đang sử dụng kiểu 3 B +) chạy raspbian
Hạt Argon
Cảm biến nước Grove
Máy ảnh Raspi
Buzzer
Dây nhảy
Bước 1: Kết nối cảm biến nước với hạt
Cảm biến nước có 4 chân, đó là GND, VCC, NC và SIG và chúng tôi sẽ chỉ sử dụng ba chân trong số đó
Tôi đang kết nối chân SIG với D2 trên Argon.
Bây giờ, bạn có thể khởi chạy Particle Web IDE để viết mã và flash tới Argon
Vì vậy, chúng tôi đã đăng ký chất lỏng hàm Particle và xác định một biến isFloodPresent, có thể được gọi từ Bảng điều khiển hạt và lấy giá trị boolean của isFloodPresent và cũng gọi hàm lỏng để kiểm tra giả lấy giá trị 1 làm đầu vào có nghĩa là đúng với lũ (nước) hiện tại.
đảm bảo rằng bạn có thể thấy chức năng và biến đó từ Bảng điều khiển hạt của Thiết bị hạt của bạn.
Bước 2: Kết nối Nguồn báo động với Raspberry
Trên breadboard, bạn có thể kết nối Buzzer với chân GPIO của Raspberry
Tôi đã kết nối đầu nhỏ hơn của buzzer với GND (PIN 6) và đầu dài hơn với chân 7 trên mâm xôi.
Bây giờ hãy chạy mã để xem. Chúng tôi sẽ cần tệp python này luôn chạy để nó có thể nhận các trình kích hoạt từ máy chủ web và phản hồi tương ứng.
Ngoài ra, bạn có thể chạy tệp này khi khởi động trên mâm xôi mà bạn có thể thực hiện bằng cách chỉnh sửa / etc / systemd
và tệp này sẽ được đặt trong thư mục cgi của máy chủ apache của bạn, Tôi đã tạo thư mục mới flood-cgi bên trong / var / www / html / và đặt tệp.py này sẽ giao tiếp với tập lệnh cgi của tôi
Bước 3: Định cấu hình máy chủ Apache
bạn có thể cài đặt máy chủ apache bằng cách gõ sudo apt-get install apache2
khi nó được cài đặt, bạn có thể xác minh bằng cách nhập tên máy chủ-I
và bạn sẽ nhận được địa chỉ IP cục bộ của mình và bạn có thể truy cập trình duyệt của mình và sẽ thấy máy chủ đang chạy
Bước 4: Bật CGI trên Apache
bạn có thể bật cgi bằng cách gõ sudo a2enmod cgi
Theo Mặc định cgi_bin của apache nằm trong / usr / lib / cgi-bin
đây là nơi bạn có thể đặt các tập lệnh cgi của mình sau khi bật cgi
để có hiệu lực, bạn cần khởi động lại máy chủ apache
Tôi muốn thư mục tùy chỉnh cho các tập lệnh cgi của mình nên tôi đã tạo thư mục trong / var / www / html / được gọi là lũ-cgi
để kích hoạt thư mục này, tôi phải tạo tệp conf bằng cách gõ
sudo nano /etc/apache2/conf-available/flood-cgi.conf
và thêm các lệnh như được hiển thị trong ảnh chụp màn hình
sau đó kích hoạt thư mục này bằng cách gõ
var / www / html $ sudo a2enconf lũ-cgi
bây giờ bạn có thể khởi động lại máy chủ apache của mình một lần nữa và tất cả cgi từ thư mục này sẽ được apache đọc được sau khi cho phép.
Bước 5: Thiết lập trang web
Đối với dịch vụ web đơn giản này, tôi đang sử dụng HTML, Javascript, CSS, jquery và ajax.
Tôi có năm nhãn điều khiển có thể nhấp được, Trong trường hợp nhấp vào chụp ảnh từ trang web, nó sẽ kích hoạt chức năng nhấp vào nút ảnh và chức năng này trông như thế này
$ ("# photobutton"). click (function () {var floodDate = new Date ();
var FloodImageName = "Flood_IMG_" + lụtDate.toLocaleTimeString ();
$.ajax ({
url: 'lụt-cgi / lụt_cgi.py', method: 'post', dữ liệu: {name_for_image: lụtImageName}, thành công: hàm (dữ liệu) {
cảnh báo (dữ liệu, trạng thái)
$ ("# nearpic"). attr ("src", "lụt-cgi /" + lụtImageName + ".jpg");
}
})
});
điều này sẽ gọi tập lệnh flood_cgi.py để chụp ảnh và lưu hình ảnh với tên tùy chỉnh được tạo theo ngày và giờ hiện tại và ajax tải lên đến trang.
trong trường hợp Báo thức, chúng tôi có thể sử dụng chức năng này
function callAlarm (alertType) {
$.ajax ({
url: 'lụt-cgi / alert.cgi', method: 'post', dữ liệu: {alert_type: alertType}, thành công: function (dữ liệu) {alert (dữ liệu)
}, error: function (XMLHttpRequest, textStatus, throwError) {alert (throwError)}});
}
hàm callAlarm sẽ được gọi khi nhấp vào nhãn buzzer, $ ("# buzzer"). click (function () {callAlarm ("test");
})
mã dưới đây là khi bạn muốn nhấp vào lũ giả, tức là gọi API hạt và gọi hàm và thay đổi giá trị lỏng 1 và kiểm tra hệ thống xem toàn bộ có hoạt động như mong đợi hay không bằng cách tiến hành một sự kiện lũ giả
$ ("# mockFlood"). click (function () {console.log ("mock lũ đã yêu cầu");
var lụtVal = 1;
$ ("# signal2"). css ("font-size", "small");
var varName = "isFloodPresent";
var deviceID = "ID THIẾT BỊ CỦA BẠN";
var accessToken = "TOKEN TRUY CẬP CỦA BẠN";
nếu (lũ lụt) {
$.post ("https://api.particle.io/v1/devices/" + deviceID + "/ liquid? access_token =" + accessToken, {lỏng: lụtVal}, hàm (dữ liệu, trạng thái) {
if (trạng thái == "thành công") {
alert ("Mock Flood đã tiến hành !!!");
} khác {
alert ("Xin lỗi, đã xảy ra sự cố");
}
});
}
});
Đây là những chức năng chính bạn cần để tạo kết nối với Hạt Api và quả mâm xôi của bạn để pi mâm xôi và thiết bị hạt Argon của bạn có thể giao tiếp.
lưu ý: Tôi muốn tải lên tất cả mã, nhưng nó không cho phép tôi tải lên tệp.html
Bước 6: Tạo tập lệnh cho Raspi Camera
chúng tôi đang tạo.py đơn giản để chụp ảnh và sẽ có chú thích về ngày và giờ hiện tại trên đó.
sau đó chúng ta sẽ tạo tập lệnh cgi flood_cgi.py để nó sẽ được gọi từ web và điều này sẽ ra lệnh cho tệp.py để chụp ảnh.
đảm bảo bắt đầu tập lệnh cgi bằng #! / usr / bin / env python
và cũng cấp quyền cho apache để chạy các tệp này.
máy chủ apache chạy trên dữ liệu www của người dùng nên khi chúng tôi tạo tệp.py hoặc.cgi, apache cần phải là chủ sở hữu của tệp
sudo chown pi: www-data lụt-cgi.py
và cho phép thực hiện
sudo chmod a + x lũ-cgi.py
bạn sẽ phải làm điều này cho tất cả các tệp cần chạy từ máy chủ apache.
LƯU Ý: việc để mâm xôi của bạn tiếp xúc với internet và cấp tất cả các quyền này khiến mâm xôi của bạn rất dễ bị tấn công vì lý do bảo mật, vì vậy người dùng và các quyền nghiêm ngặt nên được tuân theo và cài đặt tường lửa như tường lửa không phức tạp (ufw)
Đề xuất:
Đồng hồ báo thức thông minh: Đồng hồ báo thức thông minh được làm bằng Raspberry Pi: 10 bước (có hình ảnh)
Đồng hồ báo thức thông minh: Đồng hồ báo thức thông minh được làm bằng Raspberry Pi: Bạn đã bao giờ muốn có một chiếc đồng hồ thông minh chưa? Nếu vậy, đây là giải pháp cho bạn! Tôi đã làm Đồng hồ báo thức thông minh, đây là đồng hồ mà bạn có thể thay đổi thời gian báo thức theo trang web. Khi chuông báo thức kêu, sẽ có một âm thanh (còi) và 2 đèn sẽ
Hướng dẫn: Cách Tạo Báo động Cửa bằng Cách Sử dụng Báo động Cảm biến Công tắc Từ tính MC-18: 3 Bước
Hướng dẫn: Làm thế nào để Báo động Cửa bằng cách Sử dụng Cảnh báo Cảm biến Công tắc Từ tính MC-18: Xin chào các bạn, tôi sẽ làm hướng dẫn về Báo động Cảm biến Công tắc Từ tính MC-18 hoạt động ở chế độ thường đóng. Nhưng trước tiên, hãy để tôi giải thích cho các bạn trong ngắn hạn những gì có nghĩa là bình thường gần. Có hai loại chế độ, thường mở và thường đóng
Quay số thông minh - Điện thoại truyền thống thông minh tự động sửa lỗi: 8 bước
Smart Dial - Điện thoại truyền thống thông minh tự động sửa lỗi: Smart Dial là điện thoại tự động sửa lỗi thông minh được tạo ra cho người cao tuổi có nhu cầu đặc biệt và nó cho phép người cao tuổi quay số trực tiếp từ điện thoại truyền thống mà họ quen dùng. Chỉ nhờ hoạt động tình nguyện tại một trung tâm chăm sóc người cao niên địa phương mà tôi
Hệ thống cảnh báo lũ lụt - Mực nước + Hướng dẫn giám sát cảm biến IoT: 6 bước
Hệ thống cảnh báo lũ lụt - Mực nước + Hướng dẫn giám sát cảm biến IoT: Bạn có cần theo dõi mực nước không? Bạn sẽ học cách tạo hệ thống giám sát mực nước trong hướng dẫn này. Các thiết bị IoT công nghiệp này được triển khai như hệ thống cảnh báo lũ lụt ở Hoa Kỳ. Để giữ an toàn cho bạn và cộng đồng của bạn, Thành phố thông minh cần phải
Phát minh lại những phát minh miễn phí của bạn cho robot 'Fantastic Plastics Works' để phát sáng: 5 bước
Phát minh lại những sáng tạo miễn phí của bạn cho robot 'Fantastic Plastics Works' để phát sáng: Sử dụng đèn LED có sẵn để làm cho 'robot' bằng nhựa phát sáng và làm phai màu! Cung cấp giới thiệu về hàn cơ bản, mạch điện, đèn LED và chất dẻo