Sisällysluettelo:

Kuinka tehdä älykäs tulvanilmaisinhälytysjärjestelmä Raspberry Pi: n ja argonhiukkasen avulla: 6 vaihetta
Kuinka tehdä älykäs tulvanilmaisinhälytysjärjestelmä Raspberry Pi: n ja argonhiukkasen avulla: 6 vaihetta

Video: Kuinka tehdä älykäs tulvanilmaisinhälytysjärjestelmä Raspberry Pi: n ja argonhiukkasen avulla: 6 vaihetta

Video: Kuinka tehdä älykäs tulvanilmaisinhälytysjärjestelmä Raspberry Pi: n ja argonhiukkasen avulla: 6 vaihetta
Video: ШУРПА ИЗ ДИЧИ. КАК ПРИГОТОВИТЬ ВКУСНЫЙ СУП В АФГАНСКОМ КАЗАНЕ 2024, Marraskuu
Anonim
Image
Image
Kuinka tehdä älykäs tulvanilmaisujärjestelmä Raspberry Pi: n ja argonhiukkasen avulla
Kuinka tehdä älykäs tulvanilmaisujärjestelmä Raspberry Pi: n ja argonhiukkasen avulla

Tavallisten tulva -anturien avulla voit estää kotisi tai työpaikkasi massiiviset vauriot.

Mutta se vaikeuttaa, jos et ole kotona osallistumassa hälytykseen.

Tietenkin voit ostaa ne älykkäästi

Tämä tulvahälytysjärjestelmä havaitsee nesteen ja laukaisee hälytyksen ja päivittää tulvaa käsittelevän verkkosivun, johon pääsee kaikkialta maailmasta, olitpa sitten rentouttavalla lomalla tai vain töissä ja haluat tietää talosi tilasta.

Tarvikkeet

Raspberry pi (käytän mallia 3 B+) käynnissä raspbian

Argonhiukkaset

Grove -vesianturi

Raspi kamera

Summeri

Hyppyjohdot

Vaihe 1: Liitä vesianturi hiukkasiin

Liitä vesianturi hiukkasiin
Liitä vesianturi hiukkasiin
Liitä vesianturi hiukkasiin
Liitä vesianturi hiukkasiin

vesianturissa on 4 nastaa, jotka ovat GND, VCC, NC ja SIG ja aiomme käyttää vain kolmea niistä

Liitän SIG -nastan D2: een Argonissa.

Nyt voit käynnistää Particle Web IDE: n kirjoittaaksesi koodin ja salaman Argonille

Joten olemme rekisteröineet hiukkasfunktion nesteen ja määrittäneet muuttujan isFloodPresent, joka voidaan kutsua hiukkaskonsolista ja saada isFloodPresentin boolean -arvo, ja kutsua myös funktionestettä pilkkatestaukseen, joka ottaa arvon 1 tuloksi, mikä tarkoittaa tulvaa (vettä).

varmista, että näet kyseisen toiminnon ja muuttujan hiukkaslaitteesi hiukkaskonsolista.

Vaihe 2: Liitä hälytyslähde vadelmaan

Liitä hälytyslähde vadelmaan
Liitä hälytyslähde vadelmaan

Leipälaudalla voit liittää Buzzerin Raspberryn GPIO -nastaan

Olen liittänyt summerin pienemmän pään GND: hen (PIN 6) ja pidemmän pään vadelman nastaan 7.

Suorita nyt koodi nähdäksesi. Tarvitsemme tämän python -tiedoston olevan käynnissä koko ajan, jotta se voi vastaanottaa liipaisimet verkkopalvelimelta ja vastata sen mukaisesti.

Vaihtoehtoisesti voit suorittaa tämän tiedoston vadelmasi käynnistyksen yhteydessä, minkä voit tehdä muokkaamalla /etc /systemd

ja tämä tiedosto sijoitetaan apache -palvelimesi cgi -kansioon, Olen tehnyt uuden hakemiston flood-cgi sisälle/var/www/html/ja asettanut tämän.py-tiedoston, joka kommunikoi cgi-skriptini kanssa

Vaihe 3: Määritä Apache -palvelin

Määritä Apache -palvelin
Määritä Apache -palvelin

voit asentaa apache-palvelimen kirjoittamalla sudo apt-get install apache2

kun se on asennettu, voit vahvistaa kirjoittamalla isäntänimen -I

ja saat paikallisen IP -osoitteesi ja voit siirtyä selaimeesi ja nähdä palvelimen käynnissä

Vaihe 4: Ota CGI käyttöön Apachessa

Ota CGI käyttöön Apachessa
Ota CGI käyttöön Apachessa

Voit ottaa cgi: n käyttöön kirjoittamalla sudo a2enmod cgi

Oletuksena apachen cgi_bin sijaitsee/usr/lib/cgi-bin

tähän voit laittaa cgi -skriptisi cgi: n käyttöönoton jälkeen

saadaksesi vaikutuksen, sinun on käynnistettävä apache -palvelin uudelleen

Halusin mukautetun hakemiston cgi-skripteilleni, joten loin hakemiston/var/www/html/nimeltään flood-cgi

Tämän hakemiston käyttöön ottamiseksi minun oli tehtävä conf -tiedosto kirjoittamalla

sudo nano /etc/apache2/conf-available/flood-cgi.conf

ja lisää komentoja kuvakaappauksen mukaisesti

ota tämä hakemisto käyttöön kirjoittamalla

var/www/html $ sudo a2enconf Flood-cgi

Nyt voit käynnistää apache -palvelimesi uudelleen ja kaikki tämän kansion cgi -tiedostot ovat luettavissa apachen luvan jälkeen.

Vaihe 5: Määritä verkkosivu

Määritä verkkosivu
Määritä verkkosivu

Tässä yksinkertaisessa verkkopalvelussa käytän HTML-, Javascript-, CSS-, jquery- ja ajax -palveluita.

Minulla on viisi napsautettavaa kontrollitarraa, Jos valokuvaa napsautetaan verkkosivulta, se laukaisee valokuvapainikkeen napsautustoiminnon ja tämä toiminto näyttää tältä

$ ("#photobutton"). click (function () {var floodDate = new Date ();

var floodImageName = "Flood_IMG_" + floodDate.toLocaleTimeString ();

$.ajax ({

url: 'flood-cgi/flood_cgi.py', menetelmä: 'post', data: {name_for_image: floodImageName}, menestys: toiminto (data) {

hälytys (tiedot, tila)

$ ("#Recentpic"). attr ("src", "flood-cgi/" + floodImageName + ".jpg");

}

})

});

tämä kutsuu flood_cgi.py -skriptin ottamaan valokuvan ja tallentaa kuvan mukautetulla nimellä, joka on luotu nykyisen päivämäärän ja kellonajan mukaan, ja ajax latautuu sivulle.

Hälytyksen sattuessa voimme käyttää tätä toimintoa

toiminto callAlarm (alarmType) {

$.ajax ({

url: 'flood-cgi/alarm.cgi', menetelmä: 'post', data: {alarm_type: alarmType}, menestys: toiminto (data) {hälytys (data)

}, error: function (XMLHttpRequest, textStatus, throError) {alert (throError)}});

}

toiminto callAlarm soitetaan, kun summerin tarraa napsautetaan, $ ("#summeri"). napsauta (function () {callAlarm ("test");

})

alla oleva koodi on, kun haluat napsauttaa pilkkutulvaa eli soittaa Particle API: lle ja kutsua funktion ja muuttaa nestearvoa 1 ja tarkistaa, toimiiko koko järjestelmä odotetulla tavalla suorittamalla pilkkutulva

$ ("#mockFlood"). click (function () {console.log ("pilkata tulva on pyytänyt");

var FloVV = 1;

$ ("#signal2"). css ("font-size", "small");

var varName = "isFloodPresent";

var deviceID = "LAITTEEN TUNNUS";

var accessToken = "SINUN KÄYTTÖÖNOTTO";

if (floodVal) {

$.post ("https://api.particle.io/v1/devices/" + deviceID + "/liquid? access_token =" + accessToken, {neste: floodVal}, toiminto (tiedot, tila) {

if (status == "menestys") {

hälytys ("Mock Flood on suorittanut !!!");

} muuta {

hälytys ("Anteeksi, tapahtui ongelma");

}

});

}

});

Nämä ovat tärkeimmät toiminnot, jotka sinun täytyy muodostaa yhteys Particle Api: n ja vadelmasi kanssa, jotta vadelma pi ja hiukkaslaite Argon voivat kommunikoida.

Huomautus: Halusin ladata kaiken koodin, mutta se ei salli minun ladata.html -tiedostoa

Vaihe 6: Luo skripti Raspi -kameralle

luomme yksinkertaisen.py kuvan ottamiseksi ja siinä on merkinnät nykyisestä päivämäärästä ja kellonajasta.

sitten luomme cgi -komentosarjan flood_cgi.py, joten se kutsutaan verkosta ja tämä komentaa.py -tiedoston ottamaan valokuvan.

Muista aloittaa cgi -komentosarja #-merkillä! /usr/bin/env python

ja anna myös apachelle lupa suorittaa nämä tiedostot.

apache-palvelin käyttää käyttäjän www-dataa, joten kun luomme.py- tai.cgi-tiedoston, apachen on oltava tiedoston omistaja

sudo chown pi: www-data flood-cgi.py

ja antaa luvan suorittaa

sudo chmod a+x flood-cgi.py

sinun on tehtävä tämä kaikille tiedostoille, jotka on suoritettava apache -palvelimelta.

HUOMAUTUS: altistamalla vadelmasi Internetille ja antamalla kaikki nämä käyttöoikeudet, vadelmasi on erittäin haavoittuva turvallisuussyistä, joten tiukkoja käyttäjiä ja käyttöoikeuksia tulee noudattaa ja asentaa palomuuri, kuten mutkaton palomuuri (ufw)

Suositeltava: