Obsah:

Ako vyrobiť inteligentný poplachový detekčný systém pomocou malín Pi a časticového argónu: 6 krokov
Ako vyrobiť inteligentný poplachový detekčný systém pomocou malín Pi a časticového argónu: 6 krokov

Video: Ako vyrobiť inteligentný poplachový detekčný systém pomocou malín Pi a časticového argónu: 6 krokov

Video: Ako vyrobiť inteligentný poplachový detekčný systém pomocou malín Pi a časticového argónu: 6 krokov
Video: ИНТЕЛЛЕКТУАЛЬНЫЕ ИДЕИ! Вы можете сделать свой собственный спиртовой уровень, используя трубы из ПВХ 2024, November
Anonim
Image
Image
Ako vytvoriť inteligentný poplachový detekčný systém s použitím malín Pi a časticového argónu
Ako vytvoriť inteligentný poplachový detekčný systém s použitím malín Pi a časticového argónu

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

Pripojte snímač vody k častici
Pripojte snímač vody k častici
Pripojte snímač vody k častici
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

Pripojte zdroj alarmu k Raspberry
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

Konfigurujte server Apache
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

Povoliť CGI na serveri Apache
Povoliť 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

Nastavte webovú stránku
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: