Obsah:
- Zásoby
- Krok 1: Pripojte snímač vody k častici
- Krok 2: Pripojte zdroj alarmu k Raspberry
- Krok 3: Konfigurujte server Apache
- Krok 4: Povoľte CGI na serveri Apache
- Krok 5: Nastavte webovú stránku
- Krok 6: Vytvorte skript pre kameru Raspi
Video: Ako vyrobiť inteligentný poplachový detekčný systém pomocou malín Pi a časticového argónu: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Mať štandardné záplavové snímače je skvelé na zabránenie rozsiahlym škodám na vašom dome alebo na pracovisku.
Ak však nie ste doma, aby ste sa zúčastnili budíka, je to ťažké.
Samozrejme, že by ste si mohli kúpiť tie múdre
Tento povodňový poplachový systém detekuje akúkoľvek tekutinu a spustí poplach a aktualizuje webovú stránku o povodni, na ktorú je možné pristupovať kdekoľvek na svete, či už trávite relaxačnú dovolenku alebo práve v práci a chcete vedieť o stave svojho domu.
Zásoby
Raspberry pi (používam model 3 B+) so spusteným Raspbianom
Častica argón
Senzor vody Grove
Fotoaparát Raspi
Bzučiak
Prepojovacie vodiče
Krok 1: Pripojte snímač vody k častici
snímač vody má 4 piny, ktoré sú GND, VCC, NC a SIG a použijeme iba tri z nich
Pripájam SIG pin k D2 na Argone.
Teraz môžete spustiť Particle Web IDE, aby ste zapísali kód a flashovali do Argonu
Zaregistrovali sme teda kvapalinu s funkciou častíc a definovali sme premennú isFloodPresent, ktorú je možné vyvolať z konzoly Particle Console, a získať booleovskú hodnotu isFloodPresent a tiež zavolať funkčnú kvapalinu na simulované testovanie, ktoré ako vstup predstavuje hodnotu 1, čo znamená, že platí pre prítomnú povodeň (vodu).
uistite sa, že vidíte túto funkciu a premennú z konzoly častíc vášho zariadenia na častice.
Krok 2: Pripojte zdroj alarmu k Raspberry
Na doske môžete Buzzer pripojiť k kolíku GPIO Raspberry
Pripojil som menší koniec bzučiaka na GND (PIN 6) a dlhší koniec na pin 7 na maline.
Teraz spustite kód a uvidíte. Budeme potrebovať, aby bol tento súbor pythonu stále spustený, aby mohol prijímať spúšťače z webového servera a podľa toho reagovať.
Tento súbor môžete tiež spustiť pri spustení na maline, čo môžete vykonať úpravou súboru /etc /systemd
a tento súbor bude umiestnený do priečinka cgi vášho servera apache, Vytvoril som nový adresár flood-cgi vnútri/var/www/html/a umiestnil som tento.py súbor, ktorý bude komunikovať s mojím skriptom cgi
Krok 3: Konfigurujte server Apache
server apache môžete nainštalovať zadaním sudo apt-get install apache2
keď je nainštalovaný, môžete to overiť zadaním názvu hostiteľa -I
a dostanete svoju miestnu IP adresu a môžete zamieriť do svojho prehliadača a mal by vidieť spustený server
Krok 4: Povoľte CGI na serveri Apache
cgi môžete povoliť zadaním sudo a2enmod cgi
Predvolene sa cgi_bin súboru apache nachádza v adresári/usr/lib/cgi-bin
sem môžete vložiť svoje skripty cgi po povolení cgi
aby sa účinok prejavil, musíte reštartovať server apache
Chcel som pre svoje skripty cgi vlastný adresár, takže som vytvoril adresár v adresári/var/www/html/s názvom flood-cgi
Aby som povolil tento adresár, musel som vytvoriť súbor conf zadaním
sudo nano /etc/apache2/conf-available/flood-cgi.conf
a pridávanie príkazov podľa obrázku
potom povoľte tento adresár zadaním
var/www/html $ sudo a2enconf flood-cgi
teraz môžete svoj server apache znova reštartovať a všetky cgi z tohto priečinka bude možné po povolení prečítať v apache.
Krok 5: Nastavte webovú stránku
Pre túto jednoduchú webovú službu používam HTML, Javascript, CSS, jquery a ajax.
Mám päť ovládacích štítkov, na ktoré je možné kliknúť, V prípade, že sa na fotografiu klikne z webovej stránky, spustí sa funkcia kliknutia na tlačidlo fotografie a táto funkcia vyzerá takto
$ ("#photobutton"). kliknite (funkcia () {var floodDate = new Date ();
var floodImageName = "Flood_IMG_" + floodDate.toLocaleTimeString ();
$.ajax ({
URL: 'flood-cgi/flood_cgi.py', metóda: 'post', údaje: {name_for_image: floodImageName}, úspech: funkcia (údaje) {
výstraha (údaje, stav)
$ ("#recentpic"). attr ("src", "flood-cgi/" + floodImageName + ".jpg");
}
})
});
toto zavolá skript flood_cgi.py na nasnímanie fotografie a uloží obrázok s vlastným názvom vygenerovaným aktuálnym dátumom a časom a načíta sa ajax až na stránku.
v prípade alarmu môžeme použiť túto funkciu
funkcia callAlarm (alarmType) {
$.ajax ({
URL: 'flood-cgi/alarm.cgi', metóda: 'post', údaje: {alarm_type: alarmType}, úspech: funkcia (údaje) {upozornenie (údaje)
}, chyba: funkcia (XMLHttpRequest, textStatus, throwError) {alert (throwError)}});
}
funkcia callAlarm sa vyvolá po kliknutí na štítok bzučiaka, $ ("#bzučiak"). kliknite (funkcia () {callAlarm ("test");
})
nižšie uvedený kód je, keď chcete kliknúť na falošný povodeň, tj. zavolať API pre častice a zavolať funkciu a zmeniť hodnotu kvapaliny 1 a skontrolovať systém, či celý funguje podľa očakávania, vykonaním falošnej povodne.
$ ("#mockFlood"). kliknite (funkcia () {console.log ("falošná povodeň si vyžiadala");
var floodVal = 1;
$ ("#signal2"). css ("veľkosť písma", "malá");
var varName = "isFloodPresent";
var deviceID = "ID VAŠEHO ZARIADENIA";
var accessToken = "VÁŠ PRÍSTUPOVÝ TOKEN";
if (floodVal) {
$.post ("https://api.particle.io/v1/devices/" + deviceID + "/liquid? access_token =" + accessToken, {liquid: floodVal}, funkcia (údaje, stav) {
if (status == "success") {
výstraha („Falošná povodeň sa uskutočnila !!!“);
} else {
alert („Prepáčte, vyskytol sa problém“);
}
});
}
});
Toto sú hlavné funkcie, ktoré potrebujete na nadviazanie spojenia s Particle Api a vašou malinou, aby mohli komunikovať vaše malinové pi a zariadenie na častice Argon.
poznámka: Chcel som nahrať všetok kód, ale nedovoľuje mi to nahrať súbor.html
Krok 6: Vytvorte skript pre kameru Raspi
vytvárame jednoduchý.py na zachytenie obrázka, ktorý bude obsahovať anotáciu aktuálneho dátumu a času.
potom vytvoríme skript cgi flood_cgi.py, takže sa bude volať z webu a tým sa zadá príkaz.py súbor na fotografovanie.
uistite sa, že spustíte skript cgi s #! /usr/bin/env python
a tiež dať apache povolenie na spustenie týchto súborov.
server apache beží na používateľských www údajoch, takže akonáhle vytvoríme súbor.py alebo.cgi, apache musí byť vlastníkom súboru
sudo chown pi: www-data flood-cgi.py
a dať povolenie na spustenie
sudo chmod a+x flood-cgi.py
budete to musieť urobiť pre všetky súbory, ktoré je potrebné spustiť zo servera apache.
POZNÁMKA: vystavenie maliny internetu a udelenie všetkých týchto povolení spôsobuje, že je malina z bezpečnostných dôvodov veľmi zraniteľná, preto by ste mali dodržiavať striktné používateľské oprávnenia a inštalovať bránu firewall ako nekomplikovanú bránu firewall (ufw)
Odporúča:
Ako si vyrobiť inteligentný domov pomocou reléového modulu Arduino - Myšlienky domácej automatizácie: 15 krokov (s obrázkami)
Ako vytvoriť inteligentný domov pomocou reléového modulu Arduino | Nápady na automatizáciu domácnosti: V tomto projekte automatizácie domácnosti navrhneme reléový modul inteligentnej domácnosti, ktorý dokáže ovládať 5 domácich spotrebičov. Tento reléový modul je možné ovládať z mobilného telefónu alebo smartfónu, diaľkového ovládača IR alebo televízora, manuálneho prepínača. Toto inteligentné relé môže cítiť aj
Sledujte kvalitu vzduchu pomocou grafanov a malín pi: 7 krokov
Sledovanie kvality ovzdušia pomocou Grafana a Raspberry Pi: Hľadal som malý malý projekt IOT a priateľ mi odporučil pozrieť sa na tento návod: https: //dzone.com/articles/raspberry-pi-iot-sensor..Veľmi rád Odporúčame postupovať podľa pokynov pri nastavovaní Raspberry Pi na monitorovanie.
Bezdrôtový poplachový systém Arduino pomocou existujúcich senzorov: 9 krokov (s obrázkami)
Bezdrôtový poplachový systém Arduino pomocou existujúcich senzorov: Tento projekt je možné postaviť zhruba za pol hodinu za cenu približne 20,00 dolárov, ak máte existujúce bezdrôtové poplašné snímače 433 MHz alebo 315 MHz. Môže to byť tiež úplne nový projekt s bezdrôtovými poplachovými senzormi, ako sú infračervené detektory pohybu a jazýčkové
Chladiaci a detekčný systém pre psy: 5 krokov
Chladiaci a detekčný systém pre psy: Dobrý deň, volám sa Bryan a mám dvoch psov. Zaujímalo by ma, ako ich môžem v horúcom dni ochladiť v prívese. Moje riešenie je vytvoriť chladiaci a detekčný systém. Detekčný systém má zaistiť, aby bol systém aktívny, keď sú psy
Detekčný systém založený na Arduine: 6 krokov
Detekčný systém založený na Arduine: V tomto návode vyrobíme jednoduchý detekčný systém založený na Arduine pomocou ultrazvukového Senoru, servomotora a piezoelektrického bzučiaka, ktorý začne zvoniť, keď senzor detekuje objekt v jeho dosahu. Jedná sa o jednoduchý projekt