Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Ikonekta ang Water Sensor sa Particle
- Hakbang 2: Ikonekta ang Pinagmulan ng Alarm sa Raspberry
- Hakbang 3: I-configure ang Apache Server
- Hakbang 4: Paganahin ang CGI sa Apache
- Hakbang 5: I-set up ang Web Page
- Hakbang 6: Lumikha ng Script para sa Raspi Camera
Video: Paano Gumawa ng Smart System ng Alarm sa Pagtuklas ng Baha Gamit ang Raspberry Pi at Particle Argon: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ang pagkakaroon ng karaniwang mga sensor ng baha ay mahusay upang maiwasan ang napakalaking pinsala sa iyong tahanan o lugar na pinagtatrabahuhan.
Ngunit nagpapahirap kung wala ka sa bahay upang dumalo sa alarma.
Siyempre maaari kang bumili ng mga matalino
Ang sistema ng alarm alarm na ito ay nakakakita ng anumang likido at nagpapalitaw ng alarma at ina-update ang web page tungkol sa pagbaha na maaaring ma-access kahit saan sa mundo, kung mayroon kang nakakarelaks na bakasyon o sa trabaho lamang at nais mong malaman tungkol sa katayuan ng iyong bahay.
Mga gamit
Raspberry pi (gumagamit ako ng modelong 3 B +) na tumatakbo na raspbian
Particle Argon
Grove Water Sensor
Raspi Camera
Buzzer
Jumper wires
Hakbang 1: Ikonekta ang Water Sensor sa Particle
ang water sensor ay mayroong 4 na pin, na kung saan ay ang GND, VCC, NC at SIG at gagamitin lamang namin ang tatlo sa kanila
Kinokonekta ko ang SIG pin sa D2 sa Argon.
Ngayon, maaari mong ilunsad ang Particle Web IDE upang isulat ang code at flash sa Argon
Kaya nakarehistro kami ng likido ng pagpapaandar ng Particle at tinukoy ang isang variable na.
tiyaking nakikita mo ang pagpapaandar na iyon at variable mula sa Particle Console ng iyong Particle Device.
Hakbang 2: Ikonekta ang Pinagmulan ng Alarm sa Raspberry
Sa breadboard maaari mong ikonekta ang Buzzer sa pin ng GPIO ng Raspberry
Nakakonekta ko ang mas maliit na dulo ng buzzer sa GND (PIN 6) at mas matagal na nagtatapos sa pin 7 sa raspberry.
Patakbuhin ngayon ang code upang makita. Kakailanganin namin ang file ng python na ito na tumatakbo sa lahat ng oras upang makatanggap ito ng mga pag-trigger mula sa web server at tumugon nang naaayon.
Bilang kahalili maaari mong patakbuhin ang file na ito sa pagsisimula sa iyong raspberry na maaari mong gawin sa pamamagitan ng pag-edit / etc / systemd
at ang file na ito ay ilalagay sa cgi folder ng iyong apache server, Gumawa ako ng bagong direktoryo na pagbaha-cgi sa loob / var / www / html / at inilagay ang.py file na ito na makikipag-usap sa aking script sa cgi
Hakbang 3: I-configure ang Apache Server
maaari mong mai-install ang apache server sa pamamagitan ng pag-type ng sudo apt-get install apache2
kapag na-install ito, maaari mong i-verify sa pamamagitan ng pagta-type ng hostname -ako
at makukuha mo ang iyong lokal na IP address at maaari kang magtungo sa iyong browser at dapat mong makita ang pagpapatakbo ng server
Hakbang 4: Paganahin ang CGI sa Apache
maaari mong paganahin ang cgi sa pamamagitan ng pagta-type ng sudo a2enmod cgi
Sa pamamagitan ng Default na cgi_bin ng apache ay matatagpuan sa / usr / lib / cgi-bin
dito mo mailalagay ang iyong mga script sa cgi pagkatapos paganahin ang cgi
upang makuha ang epekto, kailangan mong i-restart ang server ng apache
Gusto ko ng pasadyang direktoryo para sa aking mga script sa cgi kaya gumawa ako ng direktoryo sa / var / www / html / tinawag na banjir-cgi
upang paganahin ang direktoryong ito kailangan kong gumawa ng conf file sa pamamagitan ng pagta-type
sudo nano /etc/apache2/conf-available/flood-cgi.conf
at pagdaragdag ng mga utos tulad ng ipinakita sa screenshot
pagkatapos paganahin ang direktoryo na ito sa pamamagitan ng pagta-type
var / www / html $ sudo a2enconf flood-cgi
Ngayon ay maaari mong i-restart muli ang iyong server ng apache at ang lahat ng cgi mula sa folder na ito ay mababasa ng apache pagkatapos ng pahintulot.
Hakbang 5: I-set up ang Web Page
Para sa simpleng serbisyo sa web na ito, gumagamit ako ng HTML, Javascript, CSS, jquery at ajax.
Mayroon akong limang mga label ng kontrol na maaaring mai-click, Sa kaganapan kapag ang pagkuha ng larawan ay na-click mula sa web page, ito ay magpapalitaw sa pagpapaandar ng pag-click sa pindutan ng larawan at ganito ang pag-andar na ito
$ ("# photobutton"). click (function () {var banjirDate = bagong Petsa ();
var banjirImageName = "Flood_IMG_" + floodDate.toLocaleTimeString ();
$.ajax ({
url: 'flood-cgi / banjir_cgi.py', pamamaraan: 'post', data: {name_for_image: banjirImageName}, tagumpay: pagpapaandar (data) {
alerto (data, katayuan)
$ ("# kamakailan-lamang").
}
})
});
tatawagan nito ang script na banjir_cgi.py upang kumuha ng larawan at makatipid ng imahe na may pasadyang pangalan na nabuo sa pamamagitan ng kasalukuyang petsa at oras at ajax naglo-load hanggang sa pahina.
sa kaganapan ng Alarm, maaari naming gamitin ang pagpapaandar na ito
function callAlarm (alarmType) {
$.ajax ({
url: 'banjir-cgi / alarm.cgi', pamamaraan: 'post', data: {alarm_type: alarmType}, tagumpay: pagpapaandar (data) {alerto (data)
}, error: function (XMLHttpRequest, textStatus, throwError) {alert (throwError)}});
}
tatawag ang function na callAlarm kapag na-click ang label ng buzzer, $ ("# buzzer"). click (function () {callAlarm ("test");
})
sa ibaba ng code ay kapag nais mong i-click ang mock banjir ie ibig sabihin ang pagtawag sa Particle API at tawagan ang pagpapaandar at baguhin ang likidong halaga na 1 at suriin ang system kung ang kabuuan ay gumagana tulad ng inaasahan sa pamamagitan ng pagsasagawa ng isang mock na kaganapan sa pagbaha
$ ("# mockFlood"). mag-click (function () {console.log ("humiling ng mock banjir");
var banjirVal = 1;
$ ("# signal2"). css ("font-size", "maliit");
var varName = "isFloodPresent";
var deviceID = "IYONG DEVICE ID";
var accessToken = "IYONG ACCESS TOKEN";
kung (floodVal) {
$.post ("https://api.particle.io/v1/devices/" + deviceID + "/ likido? access_token =" + accessToken, {likido: banjirVal}, pagpapaandar (data, katayuan) {
kung (katayuan == "tagumpay") {
alerto ("Isinagawa ang Mock Flood !!!");
} iba pa {
alerto ("Paumanhin, nagkaroon ng problema");
}
});
}
});
Ito ang mga pangunahing pag-andar na kailangan mo upang makakonekta sa Particle Api at sa iyong raspberry upang ang iyong raspberry pi at particle device na Argon ay maaaring makipag-usap.
tandaan: Nais kong i-upload ang lahat ng code, ngunit hindi ako pinapayagan na mag-upload ng.html file
Hakbang 6: Lumikha ng Script para sa Raspi Camera
lumilikha kami ng simpleng.py upang makuha ang imahe at magkakaroon ito ng anotasyon ng kasalukuyang petsa at oras dito.
pagkatapos ay lilikha kami ng cgi script na banjir_cgi.py kaya't tatawagin ito mula sa web at uutusan nito ang.py file upang kumuha ng litrato.
tiyaking sisimulan ang script ng cgi sa #! / usr / bin / env python
at magbigay din ng pahintulot sa apache upang patakbuhin ang mga file na ito.
tumatakbo ang server ng apache sa www-data ng gumagamit kaya sa sandaling nalikha namin ang.py o.cgi file, kailangang maging may-ari ng file ang apache
sudo chown pi: www-data banjir-cgi.py
at magbigay ng pahintulot upang maisagawa
sudo chmod a + x baha-cgi.py
kakailanganin mong gawin ito para sa lahat ng mga file na kailangang tumakbo mula sa apache server.
TANDAAN: ang paglalantad ng iyong raspberry sa internet at pagbibigay ng lahat ng mga pahintulot na ito ay ginagawang mas mahina ang iyong raspberry para sa mga kadahilanang pangseguridad kaya ang mahigpit na gumagamit at mga pahintulot ay dapat sundin at mai-install ang firewall tulad ng hindi komplikadong firewall (ufw)
Inirerekumendang:
DIY -- Paano Gumawa ng isang Spider Robot Aling Maaaring Kontrolin Gamit ang Smartphone Gamit ang Arduino Uno: 6 Mga Hakbang
DIY || Paano Gumawa ng isang Spider Robot Aling Maaaring Kontrolin Gamit ang Smartphone Gamit ang Arduino Uno: Habang gumagawa ng isang Spider robot, maaaring malaman ng maraming mga bagay tungkol sa robot. Tulad ng paggawa ng Robots ay Nakakaaliw pati na rin ang mapaghamong. Sa video na ito ipapakita namin sa iyo kung paano gumawa ng isang Spider robot, na maaari naming mapatakbo gamit ang aming smartphone (Androi
Paano Gumawa ng isang Drone Gamit ang Arduino UNO - Gumawa ng isang Quadcopter Gamit ang Microcontroller: 8 Hakbang (na may Mga Larawan)
Paano Gumawa ng isang Drone Gamit ang Arduino UNO | Gumawa ng isang Quadcopter Gamit ang Microcontroller: PanimulaBisitahin ang Aking Youtube Channel Ang isang Drone ay isang napakamahal na gadget (produkto) na bibilhin. Sa post na ito tatalakayin ko, kung paano ko ito magagawa sa murang ?? At Paano mo magagawa ang iyong sarili tulad nito sa murang presyo … Sa India ang lahat ng mga materyales (motor, ESC
Paano Gumawa ng Over Circuit Alarm ng Flow ng Tubig Gamit ang Z44N MOSFET: 7 Hakbang
Paano Gumawa ng Over Circuit Alarm ng Flow ng Tubig Gamit ang Z44N MOSFET: Hii kaibigan, Ngayon ay gagawa ako ng isang circuit ng higit sa alarma ng tubig sa daloy. Karaniwan ang circuit na ito na maaari naming magamit upang malaman ang labis na daloy ng tubig ng aming tangke ng tubig. Gagawin namin ang proyektong ito gamit ang IRFZ44N MOSFET. Magsimula na tayo
Paano Gumawa ng Rain Alarm Circuit Gamit ang BC547 Transistor: 10 Hakbang
Paano Gumawa ng Rain Alarm Circuit Gamit ang BC547 Transistor: Hii kaibigan, Ngayon ay gagawa ako ng isang circuit ng Simple rain alarm circuit gamit ang BC547 Transistor. Ang circuit na ito ay napakadaling gawin. Magsimula na tayo
Paano Gumawa ng isang Device ng IoT upang Makontrol ang Mga Kagamitan at Subaybayan ang Panahon Gamit ang Esp8266: 5 Mga Hakbang
Paano Gumawa ng isang IoT Device upang Makontrol ang Mga Kagamitan at Subaybayan ang Panahon Gamit ang Esp8266: Ang Internet ng mga bagay (IoT) ay ang inter-networking ng mga pisikal na aparato (tinukoy din bilang " mga konektadong aparato " at " mga smart device "), mga gusali, at iba pang mga item - naka-embed sa electronics, software, sensor, actuators, at