Orodha ya maudhui:

Jinsi ya Kufanya Mfumo wa Alarm ya Kugundua Mafuriko Mahiri Kutumia Raspberry Pi na Argon Chembe: 6 Hatua
Jinsi ya Kufanya Mfumo wa Alarm ya Kugundua Mafuriko Mahiri Kutumia Raspberry Pi na Argon Chembe: 6 Hatua

Video: Jinsi ya Kufanya Mfumo wa Alarm ya Kugundua Mafuriko Mahiri Kutumia Raspberry Pi na Argon Chembe: 6 Hatua

Video: Jinsi ya Kufanya Mfumo wa Alarm ya Kugundua Mafuriko Mahiri Kutumia Raspberry Pi na Argon Chembe: 6 Hatua
Video: Leap Motion SDK 2024, Mei
Anonim
Image
Image
Jinsi ya Kufanya Mfumo wa Kengele ya Kugundua Mafuriko ya Smart kutumia Raspberry Pi na Argon Chembe
Jinsi ya Kufanya Mfumo wa Kengele ya Kugundua Mafuriko ya Smart kutumia Raspberry Pi na Argon Chembe

Kuwa na sensorer za kiwango cha mafuriko ni nzuri kuzuia uharibifu mkubwa kwa nyumba yako au mahali pa kazi.

Lakini inafanya kuwa ngumu ikiwa hauko nyumbani kuhudhuria kengele.

Kwa kweli unaweza kununua hizo smart

Mfumo huu wa kengele ya mafuriko hugundua kioevu chochote na huchochea kengele na inasasisha ukurasa wa wavuti kuhusu mafuriko ambayo yanaweza kupatikana mahali popote ulimwenguni, iwe unapumzika likizo au kazini tu na unataka kujua hali ya nyumba yako.

Vifaa

Raspberry pi (mimi hutumia mfano 3 B +) kukimbia raspbian

Chembe ya Argon

Sensor ya Maji ya Grove

Kamera ya Raspi

Buzzer

Waya za jumper

Hatua ya 1: Unganisha Sensor ya Maji na Chembe

Unganisha Sensorer ya Maji kwa Chembe
Unganisha Sensorer ya Maji kwa Chembe
Unganisha Sensorer ya Maji kwa Chembe
Unganisha Sensorer ya Maji kwa Chembe

sensa ya maji ina pini 4, ambazo ni GND, VCC, NC na SIG na tutatumia tatu tu

Ninaunganisha pini ya SIG na D2 kwenye Argon.

Sasa, unaweza kuzindua Particle Web IDE ili kuandika nambari na kuwasha kwa Argon

Kwa hivyo tumesajili kioevu cha kazi ya chembe na kufafanua isFloodPresent inayobadilika, ambayo inaweza kuitwa kutoka kwa Particle Console na kupata thamani ya boolean ya isFloodPresent na pia kuita kioevu cha kufanya kazi kwa upimaji wa kejeli ambao unachukua thamani ya 1 kama pembejeo ambayo inamaanisha kweli kwa mafuriko (maji) yaliyopo.

hakikisha una uwezo wa kuona kazi hiyo na inayobadilika kutoka kwa Dashibodi ya Chembe ya kifaa chako cha Chembe.

Hatua ya 2: Unganisha Chanzo cha Alarm kwa Raspberry

Unganisha Chanzo cha Alarm kwa Raspberry
Unganisha Chanzo cha Alarm kwa Raspberry

Kwenye ubao wa mkate unaweza kuunganisha Buzzer na pini ya Gaspio ya Raspberry

Nimeunganisha mwisho mdogo wa buzzer kwa GND (PIN 6) na mwisho mrefu kubandika 7 kwenye rasiberi.

Sasa endesha nambari ili uone. Tutahitaji faili hii ya chatu kuwa ikifanya kazi kila wakati ili iweze kupokea vichochezi kutoka kwa seva ya wavuti na kujibu ipasavyo.

Vinginevyo unaweza kuendesha faili hii wakati wa kuanza kwenye rasipiberi yako ambayo unaweza kufanya kwa kuhariri / nk / systemd

na faili hii itawekwa kwenye folda ya cgi ya seva yako ya apache, Nimeunda saraka mpya mafuriko-cgi ndani / var / www / html / na kuweka faili hii.py ambayo itawasiliana na hati yangu ya cgi

Hatua ya 3: Sanidi Seva ya Apache

Sanidi Seva ya Apache
Sanidi Seva ya Apache

unaweza kufunga seva ya apache kwa kuandika Sudo apt-get install apache2

wakati imewekwa, unaweza kuthibitisha kwa kuandika jina la mwenyeji -I

na utapata anwani yako ya IP ya ndani na unaweza kuelekea kivinjari chako na unapaswa kuona seva ikiendesha

Hatua ya 4: Wezesha CGI kwenye Apache

Washa CGI kwenye Apache
Washa CGI kwenye Apache

unaweza kuwezesha cgi kwa kuandika Sudo a2enmod cgi

Kwa Default cgi_bin ya apache iko katika / usr / lib / cgi-bin

hapa ndipo unaweza kuweka hati zako za cgi baada ya kuwezesha cgi

kuchukua athari, unahitaji kuanzisha tena seva ya apache

Nilitaka saraka maalum ya hati zangu za cgi kwa hivyo niliunda saraka katika / var / www / html / inayoitwa mafuriko-cgi

kuwezesha saraka hii ilibidi nifanye faili ya conf kwa kuandika

sudo nano /etc/apache2/conf-inapatikana / mafuriko-cgi.conf

na kuongeza amri kama inavyoonyeshwa kwenye skrini

kisha wezesha saraka hii kwa kuandika

var / www / html $ sudo a2enconf mafuriko-cgi

sasa unaweza kuanzisha tena seva yako ya apache na cgi zote kutoka kwa folda hii zitasomeka na apache baada ya idhini.

Hatua ya 5: Sanidi Ukurasa wa Wavuti

Sanidi Ukurasa wa Wavuti
Sanidi Ukurasa wa Wavuti

Kwa huduma hii rahisi ya wavuti, ninatumia HTML, Javascript, CSS, jQuery na Ajax.

Nina lebo tano za kudhibiti ambazo zinabofyeka, Katika tukio wakati picha inabofyewa kutoka ukurasa wa wavuti, itasababisha kitufe cha kubofya kitufe cha kazi na kazi hii inaonekana kama hii

$ ("# photobutton"). bonyeza (kazi () {var floodDate = Tarehe mpya ();

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

$.ajax ({

url: 'mafuriko-cgi / mafuriko_cgi.py', njia: 'chapisho', data: {name_for_image: floodImageName}, mafanikio: kazi (data) {

tahadhari (data, hali)

$ ("# recentpic"). attr ("src", "mafuriko-cgi /" + mafurikoImageName + ".jpg");

}

})

});

hii itaita script ya flood_cgi.py kuchukua picha na kuokoa picha na jina la kitamaduni linalotokana na tarehe na wakati wa sasa na mizigo ya ajax hadi ukurasa.

katika tukio la Alarm, tunaweza kutumia kazi hii

kazi simuAlarm (Aina ya kengele) {

$.ajax ({

url: 'mafuriko-cgi / kengele.cgi', njia: 'chapisho', data: {aina ya kengele: Aina ya kengele}, mafanikio: kazi (data) {tahadhari (data)

}, kosa: kazi (XMLHttpRequest, textStatus, throwError) {alert (throwError)}});

}

simu ya kaziAlarm itaitwa wakati lebo ya buzzer imebofya, $ ("# buzzer"). bonyeza (kazi () {callAlarm ("test");

})

nambari iliyo hapo chini ni wakati unataka kubonyeza mafuriko ya kejeli, mfano kuita Particle API na kupiga simu kazi na kubadilisha thamani ya kioevu 1 na uangalie mfumo ikiwa yote inafanya kazi kama inavyotarajiwa kwa kufanya tukio la mafuriko ya kejeli.

$ ("# mockFlood"). bonyeza (function () {console.log ("mafuriko ya dhihaka yameomba");

var mafurikoVal = 1;

$ ("# signal2"). css ("saizi ya fonti", "ndogo");

var varName = "isFloodPresent";

var deviceID = "ID ya kifaa chako";

var accessToken = "UPATIKANAJI WAKO UMEONEKWA";

ikiwa (mafurikoVal) {

$.post ("https://api.particle.io/v1/devices/" + deviceID + "/ liquid? access_token =" + accessToken, {kioevu: mafurikoVal}, kazi (data, hali) {

ikiwa (status == "mafanikio") {

tahadhari ("Mafuriko ya kejeli yamefanya !!!");

} mwingine {

tahadhari ("Samahani, kulikuwa na shida");

}

});

}

});

Hizi ndio kazi kuu unazohitaji kufanya uhusiano na Particle Api na rasipberry yako ili pi yako ya rasipberry na kifaa cha chembe Argon iweze kuwasiliana.

kumbuka: Nilitaka kupakia nambari zote, lakini hairuhusu kupakia faili ya.html

Hatua ya 6: Unda Hati ya Kamera ya Raspi

tunaunda rahisi.py kukamata picha na hiyo itakuwa na ufafanuzi wa tarehe na wakati wa sasa juu yake.

kisha tutaunda cgi script flood_cgi.py kwa hivyo itaitwa kutoka kwa wavuti na hii itaamuru faili ya.py kuchukua picha.

hakikisha kuanza hati ya cgi na #! / usr / bin / env chatu

na pia upe ruhusa ya apache kuendesha faili hizi.

seva ya apache inaendesha kwa mtumiaji www-data kwa hivyo mara tu tutakapounda faili ya.py au.cgi, apache inahitaji kuwa mmiliki wa faili hiyo.

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

na kutoa ruhusa ya kutekeleza

Sudo chmod a + x mafuriko-cgi.py

itabidi ufanye hivi kwa faili zote ambazo zinahitaji kukimbia kutoka kwa seva ya apache.

KUMBUKA: kuanika rasipiberi yako kwenye mtandao na kutoa ruhusa hizi zote hufanya rasipiberi yako iwe hatarini sana kwa sababu za usalama hivyo mtumiaji mkali na ruhusa inapaswa kufuatwa na kusanikisha firewall kama firewall isiyo ngumu (ufw)

Ilipendekeza: