Përmbajtje:

Si të bëni sistem alarmi të zbulimit të përmbytjeve të zgjuar duke përdorur Raspberry Pi dhe Argon Particle: 6 hapa
Si të bëni sistem alarmi të zbulimit të përmbytjeve të zgjuar duke përdorur Raspberry Pi dhe Argon Particle: 6 hapa

Video: Si të bëni sistem alarmi të zbulimit të përmbytjeve të zgjuar duke përdorur Raspberry Pi dhe Argon Particle: 6 hapa

Video: Si të bëni sistem alarmi të zbulimit të përmbytjeve të zgjuar duke përdorur Raspberry Pi dhe Argon Particle: 6 hapa
Video: Leap Motion SDK 2024, Nëntor
Anonim
Image
Image
Si të bëni sistem alarmi të zbulimit të përmbytjeve të zgjuar duke përdorur Raspberry Pi dhe Argon Particle
Si të bëni sistem alarmi të zbulimit të përmbytjeve të zgjuar duke përdorur Raspberry Pi dhe Argon Particle

Të kesh sensorë standardë të përmbytjes janë të shkëlqyeshëm për të parandaluar dëmtimet masive në shtëpinë ose vendin tuaj të punës.

Por e bën të vështirë nëse nuk jeni në shtëpi për të marrë pjesë në alarm.

Sigurisht që mund t'i blini ato të zgjuara

Ky sistem alarmi për përmbytje zbulon çdo lëng dhe shkakton alarm dhe azhurnon faqen e internetit në lidhje me përmbytjet, të cilat mund të arrihen kudo në botë, pavarësisht nëse jeni duke kaluar pushime relaksuese ose thjesht në punë dhe doni të dini për statusin e shtëpisë tuaj.

Furnizimet

Raspberry pi (Unë jam duke përdorur modelin 3 B+) duke punuar raspbian

Argoni i grimcave

Sensori i ujit të Grove

Kamera Raspi

Zile

Telat e kërcyesit

Hapi 1: Lidhni sensorin e ujit me grimcë

Lidhni sensorin e ujit me grimcë
Lidhni sensorin e ujit me grimcë
Lidhni sensorin e ujit me grimcë
Lidhni sensorin e ujit me grimcë

sensori i ujit ka 4 kunja, të cilat janë GND, VCC, NC dhe SIG dhe ne do të përdorim vetëm tre prej tyre

Po lidh kunjin SIG me D2 në Argon.

Tani, mund të nisni Particle Web IDE për të shkruar kodin dhe flash në Argon

Pra, ne kemi regjistruar funksionin e grimcave të lëngshme dhe kemi përcaktuar një variabël isFloodPresent, që mund të thirret nga Particle Console dhe të marrim vlerën booleane të isFloodPresent dhe gjithashtu të thërrasim funksionin likuid për testimin tallës që merr vlerën 1 si hyrje që do të thotë e vërtetë për përmbytjen (ujin) të pranishëm Me

sigurohuni që jeni në gjendje ta shihni atë funksion dhe ndryshore nga Particle Console e Pajisjes tuaj Particle.

Hapi 2: Lidhni Burimin e Alarmit me Mjedrën

Lidhni Burimin e Alarmit me mjedër
Lidhni Burimin e Alarmit me mjedër

Në tabelën e bukës mund të lidhni Buzzer me pinin GPIO të Raspberry

Unë e kam lidhur skajin më të vogël të ziles me GND (PIN 6) dhe fundin më të gjatë me kunjin 7 në mjedër.

Tani ekzekutoni kodin për të parë. Ne do të kemi nevojë që ky skedar python të funksionojë gjatë gjithë kohës në mënyrë që të mund të marrë shkaktarët nga serveri në internet dhe të përgjigjet në përputhje me rrethanat.

Përndryshe, mund ta ekzekutoni këtë skedar gjatë fillimit në mjedrën tuaj, të cilën mund ta bëni duke redaktuar /etc /systemd

dhe ky skedar do të vendoset në dosjen cgi të serverit tuaj apache, Unë kam bërë drejtori të reja flood-cgi brenda/var/www/html/dhe kam vendosur këtë skedar.py i cili do të komunikojë me skriptin tim cgi

Hapi 3: Konfiguroni serverin Apache

Konfiguroni serverin Apache
Konfiguroni serverin Apache

mund të instaloni serverin apache duke shtypur sudo apt-get install apache2

kur është i instaluar, mund ta verifikoni duke shtypur emrin e hostit -I

dhe do të merrni adresën tuaj IP lokale dhe mund të shkoni te shfletuesi juaj dhe duhet të shihni serverin që po funksionon

Hapi 4: Aktivizoni CGI në Apache

Aktivizo CGI në Apache
Aktivizo CGI në Apache

mund të aktivizoni cgi duke shtypur sudo a2enmod cgi

Si parazgjedhje cgi_bin e apache ndodhet në/usr/lib/cgi-bin

këtu mund të vendosni skriptet tuaja cgi pasi të keni aktivizuar cgi

për të marrë efektin, duhet të rindizni serverin apache

Doja drejtori të personalizuara për skriptet e mia cgi, kështu që krijova drejtorinë në/var/www/html/të quajtur flood-cgi

për të aktivizuar këtë drejtori më duhej të bëja skedarin conf duke shtypur

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

dhe shtimi i komandave siç tregohet në pamjen e ekranit

pastaj aktivizoni këtë drejtori duke shtypur

var/www/html $ sudo a2enconf flood-cgi

tani mund të rinisni përsëri serverin tuaj apache dhe të gjitha cgi nga kjo dosje do të jenë të lexueshme nga apache pas lejes.

Hapi 5: Vendosni uebfaqen

Vendosni uebfaqen
Vendosni uebfaqen

Për këtë shërbim të thjeshtë në internet, unë jam duke përdorur HTML, Javascript, CSS, jquery dhe ajax.

Unë kam pesë etiketa kontrolli që mund të klikohen, Në rast se fotografimi klikohet nga faqja e internetit, do të aktivizojë funksionin e klikimit të butonit të fotografisë dhe ky funksion duket kështu

$ ("#photobutton"). kliko (funksioni () {var floodDate = Data e re ();

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

$.ajax ({

url: 'flood-cgi/flood_cgi.py', metoda: 'post', të dhënat: {name_for_image: floodImageName}, suksesi: funksioni (të dhëna) {

alarm (të dhënat, statusi)

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

}

})

});

kjo do të thërrasë skriptin flood_cgi.py për të bërë fotografi dhe ruan imazhin me emrin e personalizuar të krijuar nga data dhe ora aktuale dhe ngarkimet ajax deri në faqe.

në rast të Alarmit, ne mund ta përdorim këtë funksion

funksion callAlarm (alarmType) {

$.ajax ({

url: 'flood-cgi/alarm.cgi', metoda: 'post', të dhëna: {alarm_type: alarmType}, suksesi: funksioni (të dhënat) {alarm (të dhëna)

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

}

funksioni callAlarm do të thirret kur klikohet etiketa e ziles, $ ("#buzzer"). kliko (funksioni) {callAlarm ("test");

})

Kodi i mëposhtëm është kur doni të klikoni përmbytjen e tallur, domethënë thirrjen e API -së së Thërrmijës dhe thirrjen e funksionit dhe ndryshimin e vlerës së lëngut 1 dhe kontrolloni sistemin nëse e tërë po funksionon siç pritej duke kryer një ngjarje të përmbytur të përmbytjes

$ ("#mockFlood"). kliko (funksioni () {console.log ("është kërkuar përmbytje tallëse");

var floodVal = 1;

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

var varName = "isFloodPresent";

var deviceID = "ID -ja juaj e pajisjes";

var accessToken = "HYRJA JUAJ PR HYRJEN";

nëse (floodVal) {

$.post ("https://api.particle.io/v1/devices/" + deviceID + "/liquid? access_token =" + accessToken, {likuid: floodVal}, funksioni (të dhënat, statusi) {

nëse (statusi == "sukses") {

vigjilent ("Përmbytja Tallëse është kryer !!!");

} tjetër {

alarm ("Na vjen keq, ka pasur një problem");

}

});

}

});

Këto janë funksionet kryesore që ju nevojiten për të bërë lidhje me Particle Api dhe mjedrën tuaj në mënyrë që pajisja juaj e mjedrës pi dhe grimcat Argon të komunikojnë.

shënim: Doja të ngarkoja të gjithë kodin, por nuk më lejon të ngarkoj skedarin.html

Hapi 6: Krijoni një skenar për kamerën Raspi

ne po krijojmë.py të thjeshtë për të kapur imazh dhe që do të ketë shënim të datës dhe kohës aktuale në të.

atëherë ne do të krijojmë cgi script flood_cgi.py kështu që do të thirret nga uebi dhe kjo do të komandojë.py file për të bërë fotografi.

sigurohuni që të filloni shkrimin cgi me #! /usr/bin/env python

dhe gjithashtu jepni apache leje për të drejtuar këto skedarë.

serveri apache funksionon në të dhënat e përdoruesit www, kështu që pasi të krijojmë skedarin.py ose.cgi, apache duhet të jetë pronar i skedarit

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

dhe jep leje për të ekzekutuar

sudo chmod a+x flood-cgi.py

ju do të duhet ta bëni këtë për të gjithë skedarët që duhet të ekzekutohen nga serveri apache.

SH NOTNIM: ekspozimi i mjedrës tuaj në internet dhe dhënia e të gjitha këtyre lejeve e bën mjedrën tuaj shumë të prekshme për arsye sigurie, kështu që përdoruesi dhe lejet e rrepta duhet të ndiqen dhe të instaloni firewall -in si firewall të pakomplikuar (ufw)

Recommended: