Sisukord:
- Tarvikud
- Samm: ühendage veeandur osakestega
- 2. samm: ühendage häireallikas Raspberryga
- Samm: seadistage Apache server
- Samm: lubage Apache'is CGI
- Samm: seadistage veebileht
- Samm: looge Raspi kaamera jaoks skript
Video: Kuidas teha nutikat üleujutuste tuvastamise häiresüsteemi Raspberry Pi ja osakeste argooni abil: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Tavalised üleujutusandurid on suurepärased, et vältida teie kodu või töökoha suuri kahjustusi.
Kuid see teeb raskeks, kui te pole kodus äratuskellal.
Muidugi võite need nutikad osta
See üleujutuste häiresüsteem tuvastab vedeliku ja käivitab häire ning uuendab üleujutuste veebisaiti, millele pääseb juurde kõikjal maailmas, olenemata sellest, kas teil on lõõgastav puhkus või lihtsalt tööl ja soovite oma maja olekust teada saada.
Tarvikud
Raspberry pi (kasutan mudelit 3 B+) töötab raspbianiga
Argooni osake
Grove veeandur
Raspi kaamera
Sumin
Jumper juhtmed
Samm: ühendage veeandur osakestega
veeanduril on 4 tihvti, mis on GND, VCC, NC ja SIG ning kasutame neist ainult kolme
Ühendan SIG tihvti Argooni D2 -ga.
Nüüd saate käivitada Particle Web IDE, et kirjutada kood ja välgutada Argooni
Seega oleme registreerinud osakeste funktsioonivedeliku ja määratlenud muutuja isFloodPresent, mille saab helistada osakeste konsoolilt ja saada isolefloole väärtuse isFloodPresent, ning kutsuda ka funktsioonivedeliku näitamiskatseteks, mis võtavad sisendina väärtuse 1, mis tähendab tõde üleujutuse (vee) olemasolu korral.
veenduge, et näete seda funktsiooni ja muutujat osakeste seadme osakeste konsoolist.
2. samm: ühendage häireallikas Raspberryga
Leivaplaadil saate Buzzeri ühendada Raspberry GPIO -pistikuga
Olen ühendanud summeri väiksema otsa GND -ga (PIN 6) ja pikema otsa vaarika tihvtiga 7.
Nüüd käivitage kood, et näha. Vajame, et see python -fail töötaks kogu aeg, et see saaks käivitajad veebiserverilt vastu võtta ja vastavalt reageerida.
Teise võimalusena võite selle faili käivitada oma vaarika käivitamisel, mida saate teha, muutes /etc /systemd
ja see fail paigutatakse teie apache serveri cgi kausta, Olen loonud kataloogi flood-cgi kataloogi/var/www/html/ja asetanud selle.py faili, mis suhtleb minu cgi skriptiga
Samm: seadistage Apache server
saate installida apache serveri, tippides sudo apt-get install apache2
kui see on installitud, saate seda kinnitada, sisestades hostinime -I
ja saate oma kohaliku IP -aadressi ning võite minna oma brauserisse ja näha serverit töötamas
Samm: lubage Apache'is CGI
saate cgi lubada, tippides sudo a2enmod cgi
Vaikimisi asub apache cgi_bin asukohas/usr/lib/cgi-bin
siia saate panna oma cgi skriptid pärast cgi lubamist
efekti saavutamiseks tuleb apache server taaskäivitada
Tahtsin oma cgi skriptidele kohandatud kataloogi, nii et lõin kataloogi kataloogi/var/www/html/nimega Flood-cgi
selle kataloogi lubamiseks pidin tegema conf faili tippides
sudo nano /etc/apache2/conf-available/flood-cgi.conf
ja käskude lisamine, nagu ekraanipildil näidatud
seejärel lubage see kataloog tippides
var/www/html $ sudo a2enconf flood-cgi
nüüd saate oma apache serveri taaskäivitada ja kõik selle kausta cgi on pärast luba apache poolt loetavad.
Samm: seadistage veebileht
Selle lihtsa veebiteenuse jaoks kasutan HTML -i, Javascripti, CSS -i, jquery ja ajaxi.
Mul on viis kontrollmärgist, mida saab klõpsata, Kui pildistamiseks klõpsatakse veebilehel, käivitab see fotonupu klõpsamise funktsiooni ja see funktsioon näeb välja selline
$ ("#photobutton"). click (function () {var floodDate = uus Kuupäev ();
var floodImageName = "Flood_IMG_" + floodDate.toLocaleTimeString ();
$.ajax ({
url: 'flood-cgi/flood_cgi.py', meetod: postitus, andmed: {name_for_image: floodImageName}, edu: funktsioon (andmed) {
hoiatus (andmed, olek)
$ ("#Recentpic"). attr ("src", "flood-cgi/" + floodImageName + ".jpg");
}
})
});
see kutsub foto pildistamiseks skripti flood_cgi.py ja salvestab pildi kohandatud nimega, mis on loodud praeguse kuupäeva ja kellaaja järgi ning ajax laaditakse lehele.
Alarmi korral saame seda funktsiooni kasutada
function callAlarm (alarmType) {
$.ajax ({
url: 'flood-cgi/alarm.cgi', meetod: postitus, andmed: {alarm_type: alarmType}, edu: funktsioon (andmed) {märguanne (andmed)
}, viga: function (XMLHttpRequest, textStatus, throError) {alert (throError)}});
}
funktsioon callAlarm helistatakse, kui klõpsatakse sumisti sildil, $ ("#sumin"). click (function () {callAlarm ("test");
})
allpool olev kood on siis, kui soovite klõpsata pilkeuputusel, st helistada Particle API -le ja helistada funktsioonile ning muuta vedeliku väärtust 1 ja kontrollida, kas kogu töötab ootuspäraselt, korraldades üleujutusürituse
$ ("#mockFlood"). click (function () {console.log ("näouputus on taotlenud");
var FloVV = 1;
$ ("#signal2"). css ("font-size", "small");
var varName = "isFloodPresent";
var deviceID = "TEIE SEADME ID";
var accessToken = "SINU JUURDEPÄÄS TOKEN";
if (floodVal) {
$.post ("https://api.particle.io/v1/devices/" + deviceID + "/liquid? access_token =" + accessToken, {vedelik: floodVal}, funktsioon (andmed, olek) {
if (olek == "edu") {
alarm ("Mock Flood on läbi viinud !!!");
} muud {
alert ("Vabandust, tekkis probleem");
}
});
}
});
Need on peamised funktsioonid, mida vajate ühenduse loomiseks partikli Api ja vaarikaga, et teie vaarika pi ja osakeste seade Argon saaksid suhelda.
märkus. Tahtsin kogu koodi üles laadida, kuid see ei luba.html -faili üles laadida
Samm: looge Raspi kaamera jaoks skript
loome pildi tegemiseks lihtsa.py, millel on praeguse kuupäeva ja kellaaja märkused.
siis loome cgi skripti flood_cgi.py, nii et seda kutsutakse veebist ja see käsib pildistada.py faili.
alustage cgi skripti kindlasti #-ga! /usr/bin/env python
samuti anna apache'ile luba nende failide käitamiseks.
apache server töötab kasutaja www-andmetega, nii et kui oleme loonud.py või.cgi faili, peab apache olema faili omanik
sudo chown pi: www-data flood-cgi.py
ja anda luba teostamiseks
sudo chmod a+x flood-cgi.py
peate seda tegema kõigi failide puhul, mida tuleb käivitada apache serverist.
MÄRKUS. Vaarika Interneti -ühenduse avaldamine ja kõigi nende lubade andmine muudab teie vaarika turvalisuse kaalutlustel väga haavatavaks, seega tuleb järgida rangeid kasutajaid ja õigusi ning installida tulemüür nagu lihtne tulemüür (ufw)
Soovitan:
Kuidas teha nutikat kodu Arduino juhtreleemooduli abil - Koduautomaatika ideed: 15 sammu (piltidega)
Kuidas teha nutikat kodu Arduino juhtreleemooduli abil | Koduautomaatika ideed: Selles koduautomaatika projektis kavandame nutika kodu releemooduli, mis suudab juhtida 5 kodumasinat. Seda releemoodulit saab juhtida mobiiltelefonist või nutitelefonist, infrapuna- või teleri kaugjuhtimispuldist, käsitsi lülitist. See nutikas relee tunneb ka r
Kuidas teha nutikat potti rakendusega juhitava NodeMCU abil: 8 sammu
Kuidas teha nutipotti rakendusega juhitava NodeMCU -ga: selles juhendis ehitame nutipoti, mida juhib ESP32 ja nutitelefonirakendus (iOS ja Android). Ühenduse ja Blynk -raamatukogu jaoks kasutame NodeMCU -d (ESP32) pilve IoT ja nutitelefoni rakenduse jaoks. Lõpuks me
Kuidas Arduino abil nutikat robotit teha: 4 sammu
Kuidas teha nutikat robotit Arduino abil: tere, ma olen arduino tegija ja selles õpetuses näitan teile, kuidas arduino abil nutikat robotit teha, kui teile meeldis minu õpetus, siis kaaluge minu YouTube'i kanali nimega arduino tegija
Kuidas teha nutikat lillepotti: 8 sammu
Kuidas teha nutikat lillepotti: kas teate, mis ajendas inimesi looma esimest linna? See on põllumajandus. Selles projektis valmistame 3D-trükitud lillepotti, kuhu võiks paigutada väikese keskmise suurusega taime, mille välisküljel on LED-ekraan, et näidata niiskust
Kuidas teha nutikat kohvrit Raspberry Pi abil: 4 sammu
Kuidas teha nutikat kohvrit Raspberry Pi abil: selles õpetuses selgitan, kuidas saate Raspberry Pi abil nutika kohvri teha. Kui olete lõpetanud, saate oma kohvrit kogu maailmas jälgida ja kaaluda seda ilma skaalat vajamata. Alustame