![Kako narediti pametni alarmni sistem za odkrivanje poplav z uporabo maline Pi in delcev argona: 6 korakov Kako narediti pametni alarmni sistem za odkrivanje poplav z uporabo maline Pi in delcev argona: 6 korakov](https://i.howwhatproduce.com/images/007/image-18807-j.webp)
Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:08
![Image Image](https://i.howwhatproduce.com/images/007/image-18807-2-j.webp)
![](https://i.ytimg.com/vi/b-X1X0mXWSE/hqdefault.jpg)
![Kako narediti pametni alarmni sistem za odkrivanje poplav z uporabo maline Pi in delcev argona Kako narediti pametni alarmni sistem za odkrivanje poplav z uporabo maline Pi in delcev argona](https://i.howwhatproduce.com/images/007/image-18807-3-j.webp)
Standardni senzorji za poplave so odlični za preprečevanje velikih poškodb vašega doma ali delovnega mesta.
Toda oteži se, če se niste udeležili alarma, če niste doma.
Seveda bi jih lahko kupili pametne
Ta alarmni sistem za poplave zazna kakršno koli tekočino in sproži alarm ter posodobi spletno stran o poplavah, do katere lahko dostopate kjer koli po svetu, ne glede na to, ali imate sproščujoče počitnice ali samo v službi in želite vedeti o stanju svoje hiše.
Zaloge
Raspberry pi (uporabljam model 3 B+), ki teče raspbian
Delci Argon
Senzor vode Grove
Kamera Raspi
Zvočni signal
Mostične žice
1. korak: Senzor vode priključite na delce
![Senzor vode priključite na delce Senzor vode priključite na delce](https://i.howwhatproduce.com/images/007/image-18807-4-j.webp)
![Senzor vode priključite na delce Senzor vode priključite na delce](https://i.howwhatproduce.com/images/007/image-18807-5-j.webp)
senzor vode ima 4 zatiče, ki so GND, VCC, NC in SIG in uporabili jih bomo le tri
Priključujem pin SIG na D2 na Argonu.
Zdaj lahko zaženete Particle Web IDE, da napišete kodo in utripate v Argon
Tako smo registrirali funkcijo delcev tekočino in definirali spremenljivko isFloodPresent, ki jo lahko pokličemo iz konzole Particle Console in pridobimo logično vrednost isFloodPresent ter tudi pokličemo funkcijo liquid za lažno testiranje, ki za vnos vzame vrednost 1, kar pomeni, da je za poplavo (voda) prisotna.
Poskrbite, da boste lahko videli to funkcijo in spremenljivko iz konzole Particle vaše naprave za delce.
Korak: Priključite vir alarma na Raspberry
![Priključite vir alarma na Raspberry Priključite vir alarma na Raspberry](https://i.howwhatproduce.com/images/007/image-18807-6-j.webp)
Na matični plošči lahko Buzzer povežete z Raspberryjevim zatičem GPIO
Manjši konec sirene sem priključil na GND (PIN 6), daljši konec pa na pin 7 na malini.
Zdaj zaženite kodo, da vidite. To datoteko python bomo morali ves čas izvajati, da lahko sprejme sprožilce s spletnega strežnika in se ustrezno odzove.
Druga možnost je, da to datoteko zaženete ob zagonu v svoji malini, kar lahko storite tako, da uredite /etc /systemd
in ta datoteka bo postavljena v mapo cgi vašega strežnika apache, Naredil sem nov imenik flood-cgi znotraj/var/www/html/in postavil to datoteko.py, ki bo komunicirala z mojim skriptom cgi
3. korak: Konfigurirajte strežnik Apache
![Konfigurirajte strežnik Apache Konfigurirajte strežnik Apache](https://i.howwhatproduce.com/images/007/image-18807-7-j.webp)
strežnik apache lahko namestite tako, da vnesete sudo apt-get install apache2
ko je nameščen, lahko preverite tako, da vnesete ime gostitelja -I
in dobili boste lokalni naslov IP in se lahko odpravite v brskalnik in videli boste, da strežnik deluje
4. korak: Omogočite CGI v Apacheju
![Omogočite CGI v Apacheju Omogočite CGI v Apacheju](https://i.howwhatproduce.com/images/007/image-18807-8-j.webp)
cgi lahko omogočite tako, da vnesete sudo a2enmod cgi
Privzeto je cgi_bin apache v/usr/lib/cgi-bin
tukaj lahko po vklopu cgi postavite svoje skripte cgi
Če želite doseči učinek, morate znova zagnati strežnik apache
Želel sem imenik po meri za svoje skripte cgi, zato sem ustvaril imenik v/var/www/html/, imenovan flood-cgi
Za omogočanje tega imenika sem moral z vnosom vnesti datoteko conf
sudo nano /etc/apache2/conf-available/flood-cgi.conf
in dodajanje ukazov, kot je prikazano na posnetku zaslona
nato omogočite ta imenik z vnosom
var/www/html $ sudo a2enconf flood-cgi
zdaj lahko znova zaženete strežnik apache in vse cgi iz te mape bo po dovoljenju bral apache.
5. korak: Nastavite spletno stran
![Nastavite spletno stran Nastavite spletno stran](https://i.howwhatproduce.com/images/007/image-18807-9-j.webp)
Za to preprosto spletno storitev uporabljam HTML, Javascript, CSS, jquery in ajax.
Imam pet kontrolnih oznak, ki jih je mogoče klikniti, V primeru, da na spletni strani kliknete fotografijo, se bo sprožila funkcija klika na gumb za fotografijo in ta funkcija izgleda tako
$ ("#photobutton"). click (function () {var floodDate = nov datum ();
var floodImageName = "Flood_IMG_" + floodDate.toLocaleTimeString ();
$.ajax ({
url: 'flood-cgi/flood_cgi.py', metoda: 'objava', podatki: {name_for_image: floodImageName}, uspeh: funkcija (podatki) {
opozorilo (podatki, stanje)
$ ("#recentpic"). attr ("src", "flood-cgi/" + floodImageName + ".jpg");
}
})
});
to bo poklicalo skript flood_cgi.py za fotografiranje in shrani sliko z imenom po meri, ki ga ustvarijo trenutni datum in čas, ajax pa se naloži do strani.
v primeru alarma lahko uporabimo to funkcijo
function callAlarm (alarmType) {
$.ajax ({
url: 'flood-cgi/alarm.cgi', metoda: 'objava', podatki: {alarm_type: alarmType}, uspeh: funkcija (podatki) {opozorilo (podatki)
}, error: function (XMLHttpRequest, textStatus, throwError) {alert (throwError)}});
}
funkcija callAlarm bo poklicana, ko kliknete na oznako brenčalnika, $ ("#buzzer"). click (function () {callAlarm ("test");
})
spodnja koda je, če želite klikniti namišljeno poplavo, tj. poklicati API za delce in poklicati funkcijo ter spremeniti vrednost tekočine 1 in preveriti, ali celota deluje po pričakovanjih z izvedbo lažnega dogodka poplave
$ ("#mockFlood"). click (function () {console.log ("zahtevana je lažna poplava");
var floodVal = 1;
$ ("#signal2"). css ("velikost pisave", "majhna");
var varName = "isFloodPresent";
var deviceID = "ID VAŠE NAPRAVE";
var accessToken = "VAŠ ŽEZEN ZA DOSTOP";
if (floodVal) {
$.post ("https://api.particle.io/v1/devices/" + ID naprave + "/tekočina? access_token =" + accessToken, {tekočina: floodVal}, funkcija (podatki, stanje) {
if (status == "uspeh") {
alert ("Mock Flood je izveden !!!");
} drugo {
alert ("Oprostite, prišlo je do težave");
}
});
}
});
To so glavne funkcije, ki jih potrebujete za vzpostavitev povezave z Particle Api in vašo malino, da lahko komunicira vaš malina pi in naprava z delci Argon.
opomba: želel sem naložiti vso kodo, vendar mi ne dovoljuje nalaganja datoteke.html
6. korak: Ustvarite skript za kamero Raspi
ustvarjamo preprosto datoteko.py za zajem slike, ki bo imela opombo o trenutnem datumu in času.
nato bomo ustvarili skript cgi flood_cgi.py, tako da bo poklican s spleta in to bo ukazalo datoteko.py za fotografiranje.
zagotovo zaženite skript cgi z #! /usr/bin/env python
in tudi dovolite apacheju za izvajanje teh datotek.
strežnik apache deluje na uporabniških www-podatkih, zato mora biti apache, ko ustvarimo datoteko.py ali.cgi, lastnik datoteke
sudo chown pi: www-data flood-cgi.py
in da dovoljenje za izvedbo
sudo chmod a+x flood-cgi.py
to boste morali narediti za vse datoteke, ki jih je treba zagnati s strežnika apache.
OPOMBA: zaradi izpostavljanja vaše maline internetu in dajanja vseh teh dovoljenj je vaša malina zaradi varnostnih razlogov zelo ranljiva, zato je treba upoštevati stroge uporabnike in dovoljenja ter namestiti požarni zid kot nezapleten požarni zid (ufw)
Priporočena:
Kako narediti poti delcev v Minecraftu: 8 korakov
![Kako narediti poti delcev v Minecraftu: 8 korakov Kako narediti poti delcev v Minecraftu: 8 korakov](https://i.howwhatproduce.com/images/012/image-33495-j.webp)
Kako narediti poti delcev v Minecraftu: Pozdravljeni, danes vam bom pokazal, kako narediti poti delcev v minecraftu
Visuino Zgradite sistem za odkrivanje vdorov z uporabo Arduina: 8 korakov
![Visuino Zgradite sistem za odkrivanje vdorov z uporabo Arduina: 8 korakov Visuino Zgradite sistem za odkrivanje vdorov z uporabo Arduina: 8 korakov](https://i.howwhatproduce.com/images/001/image-1522-52-j.webp)
Visuino Zgradite sistem za zaznavanje vdorov z uporabo Arduina: V tej vadnici bomo uporabili mikrovalovni radarski senzor gibanja XYC-WB-DC, povezan z Arduino UNO in Visuino, da zaznamo vsako gibanje v polmeru okoli 5 m, vključno s tankimi stenami
Pool Pi Guy - Alarmni sistem, ki ga poganja AI, in nadzor bazena z uporabo Raspberry Pi: 12 korakov (s slikami)
![Pool Pi Guy - Alarmni sistem, ki ga poganja AI, in nadzor bazena z uporabo Raspberry Pi: 12 korakov (s slikami) Pool Pi Guy - Alarmni sistem, ki ga poganja AI, in nadzor bazena z uporabo Raspberry Pi: 12 korakov (s slikami)](https://i.howwhatproduce.com/images/004/image-9207-28-j.webp)
Pool Pi Guy - Alarmni sistem, ki ga poganja AI, in spremljanje bazena z uporabo Raspberry Pi: Bazen doma je zabavno, vendar prinaša veliko odgovornost. Največ me skrbi, če je kdo v bližini bazena brez nadzora (zlasti mlajši otroci). Moja največja nadloga je, da voda v bazenu nikoli ne pade pod vhod črpalke
Drobni alarmni sistem z uporabo Super Tiny Arduino združljive plošče!: 10 korakov
![Drobni alarmni sistem z uporabo Super Tiny Arduino združljive plošče!: 10 korakov Drobni alarmni sistem z uporabo Super Tiny Arduino združljive plošče!: 10 korakov](https://i.howwhatproduce.com/images/002/image-3868-132-j.webp)
Drobni alarmni sistem z uporabo Super Tiny Arduino združljive plošče!: Pozdravljeni, danes bomo naredili majhen kul projekt. Zgradili bomo drobno alarmno napravo, ki meri razdaljo med seboj in predmetom pred njim. Ko se predmet premakne čez nastavljeno razdaljo, vas bo naprava obvestila z
Kako narediti komplet za odkrivanje amoniaka: 8 korakov
![Kako narediti komplet za odkrivanje amoniaka: 8 korakov Kako narediti komplet za odkrivanje amoniaka: 8 korakov](https://i.howwhatproduce.com/images/003/image-7002-42-j.webp)
Kako narediti komplet za odkrivanje amoniaka: V tej vadnici vam bomo pokazali, kako s senzorji amoniaka, arduinom in malinami meriti koncentracijo amoniaka in opozarjati, če pride do puščanja ali previsoke koncentracije v zraku! naš šolski projekt, pravzaprav t