Talaan ng mga Nilalaman:

Paano Gumawa ng Smart System ng Alarm sa Pagtuklas ng Baha Gamit ang Raspberry Pi at Particle Argon: 6 na Hakbang
Paano Gumawa ng Smart System ng Alarm sa Pagtuklas ng Baha Gamit ang Raspberry Pi at Particle Argon: 6 na Hakbang

Video: Paano Gumawa ng Smart System ng Alarm sa Pagtuklas ng Baha Gamit ang Raspberry Pi at Particle Argon: 6 na Hakbang

Video: Paano Gumawa ng Smart System ng Alarm sa Pagtuklas ng Baha Gamit ang Raspberry Pi at Particle Argon: 6 na Hakbang
Video: Part 1 - The Time Machine Audiobook by H. G. Wells (Chs 01-06) 2024, Nobyembre
Anonim
Image
Image
Paano Gumawa ng Smart System ng Alarm sa Pagtuklas ng Baha Gamit ang Raspberry Pi at Particle Argon
Paano Gumawa ng Smart System ng Alarm sa Pagtuklas ng Baha Gamit ang Raspberry Pi at Particle Argon

Ang pagkakaroon ng karaniwang mga sensor ng baha ay mahusay upang maiwasan ang napakalaking pinsala sa iyong tahanan o lugar na pinagtatrabahuhan.

Ngunit nagpapahirap kung wala ka sa bahay upang dumalo sa alarma.

Siyempre maaari kang bumili ng mga matalino

Ang sistema ng alarm alarm na ito ay nakakakita ng anumang likido at nagpapalitaw ng alarma at ina-update ang web page tungkol sa pagbaha na maaaring ma-access kahit saan sa mundo, kung mayroon kang nakakarelaks na bakasyon o sa trabaho lamang at nais mong malaman tungkol sa katayuan ng iyong bahay.

Mga gamit

Raspberry pi (gumagamit ako ng modelong 3 B +) na tumatakbo na raspbian

Particle Argon

Grove Water Sensor

Raspi Camera

Buzzer

Jumper wires

Hakbang 1: Ikonekta ang Water Sensor sa Particle

Ikonekta ang Water Sensor sa Particle
Ikonekta ang Water Sensor sa Particle
Ikonekta ang Water Sensor sa Particle
Ikonekta ang Water Sensor sa Particle

ang water sensor ay mayroong 4 na pin, na kung saan ay ang GND, VCC, NC at SIG at gagamitin lamang namin ang tatlo sa kanila

Kinokonekta ko ang SIG pin sa D2 sa Argon.

Ngayon, maaari mong ilunsad ang Particle Web IDE upang isulat ang code at flash sa Argon

Kaya nakarehistro kami ng likido ng pagpapaandar ng Particle at tinukoy ang isang variable na.

tiyaking nakikita mo ang pagpapaandar na iyon at variable mula sa Particle Console ng iyong Particle Device.

Hakbang 2: Ikonekta ang Pinagmulan ng Alarm sa Raspberry

Ikonekta ang Pinagmulan ng Alarm sa Raspberry
Ikonekta ang Pinagmulan ng Alarm sa Raspberry

Sa breadboard maaari mong ikonekta ang Buzzer sa pin ng GPIO ng Raspberry

Nakakonekta ko ang mas maliit na dulo ng buzzer sa GND (PIN 6) at mas matagal na nagtatapos sa pin 7 sa raspberry.

Patakbuhin ngayon ang code upang makita. Kakailanganin namin ang file ng python na ito na tumatakbo sa lahat ng oras upang makatanggap ito ng mga pag-trigger mula sa web server at tumugon nang naaayon.

Bilang kahalili maaari mong patakbuhin ang file na ito sa pagsisimula sa iyong raspberry na maaari mong gawin sa pamamagitan ng pag-edit / etc / systemd

at ang file na ito ay ilalagay sa cgi folder ng iyong apache server, Gumawa ako ng bagong direktoryo na pagbaha-cgi sa loob / var / www / html / at inilagay ang.py file na ito na makikipag-usap sa aking script sa cgi

Hakbang 3: I-configure ang Apache Server

I-configure ang Apache Server
I-configure ang Apache Server

maaari mong mai-install ang apache server sa pamamagitan ng pag-type ng sudo apt-get install apache2

kapag na-install ito, maaari mong i-verify sa pamamagitan ng pagta-type ng hostname -ako

at makukuha mo ang iyong lokal na IP address at maaari kang magtungo sa iyong browser at dapat mong makita ang pagpapatakbo ng server

Hakbang 4: Paganahin ang CGI sa Apache

Paganahin ang CGI sa Apache
Paganahin ang CGI sa Apache

maaari mong paganahin ang cgi sa pamamagitan ng pagta-type ng sudo a2enmod cgi

Sa pamamagitan ng Default na cgi_bin ng apache ay matatagpuan sa / usr / lib / cgi-bin

dito mo mailalagay ang iyong mga script sa cgi pagkatapos paganahin ang cgi

upang makuha ang epekto, kailangan mong i-restart ang server ng apache

Gusto ko ng pasadyang direktoryo para sa aking mga script sa cgi kaya gumawa ako ng direktoryo sa / var / www / html / tinawag na banjir-cgi

upang paganahin ang direktoryong ito kailangan kong gumawa ng conf file sa pamamagitan ng pagta-type

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

at pagdaragdag ng mga utos tulad ng ipinakita sa screenshot

pagkatapos paganahin ang direktoryo na ito sa pamamagitan ng pagta-type

var / www / html $ sudo a2enconf flood-cgi

Ngayon ay maaari mong i-restart muli ang iyong server ng apache at ang lahat ng cgi mula sa folder na ito ay mababasa ng apache pagkatapos ng pahintulot.

Hakbang 5: I-set up ang Web Page

I-set up ang Web Page
I-set up ang Web Page

Para sa simpleng serbisyo sa web na ito, gumagamit ako ng HTML, Javascript, CSS, jquery at ajax.

Mayroon akong limang mga label ng kontrol na maaaring mai-click, Sa kaganapan kapag ang pagkuha ng larawan ay na-click mula sa web page, ito ay magpapalitaw sa pagpapaandar ng pag-click sa pindutan ng larawan at ganito ang pag-andar na ito

$ ("# photobutton"). click (function () {var banjirDate = bagong Petsa ();

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

$.ajax ({

url: 'flood-cgi / banjir_cgi.py', pamamaraan: 'post', data: {name_for_image: banjirImageName}, tagumpay: pagpapaandar (data) {

alerto (data, katayuan)

$ ("# kamakailan-lamang").

}

})

});

tatawagan nito ang script na banjir_cgi.py upang kumuha ng larawan at makatipid ng imahe na may pasadyang pangalan na nabuo sa pamamagitan ng kasalukuyang petsa at oras at ajax naglo-load hanggang sa pahina.

sa kaganapan ng Alarm, maaari naming gamitin ang pagpapaandar na ito

function callAlarm (alarmType) {

$.ajax ({

url: 'banjir-cgi / alarm.cgi', pamamaraan: 'post', data: {alarm_type: alarmType}, tagumpay: pagpapaandar (data) {alerto (data)

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

}

tatawag ang function na callAlarm kapag na-click ang label ng buzzer, $ ("# buzzer"). click (function () {callAlarm ("test");

})

sa ibaba ng code ay kapag nais mong i-click ang mock banjir ie ibig sabihin ang pagtawag sa Particle API at tawagan ang pagpapaandar at baguhin ang likidong halaga na 1 at suriin ang system kung ang kabuuan ay gumagana tulad ng inaasahan sa pamamagitan ng pagsasagawa ng isang mock na kaganapan sa pagbaha

$ ("# mockFlood"). mag-click (function () {console.log ("humiling ng mock banjir");

var banjirVal = 1;

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

var varName = "isFloodPresent";

var deviceID = "IYONG DEVICE ID";

var accessToken = "IYONG ACCESS TOKEN";

kung (floodVal) {

$.post ("https://api.particle.io/v1/devices/" + deviceID + "/ likido? access_token =" + accessToken, {likido: banjirVal}, pagpapaandar (data, katayuan) {

kung (katayuan == "tagumpay") {

alerto ("Isinagawa ang Mock Flood !!!");

} iba pa {

alerto ("Paumanhin, nagkaroon ng problema");

}

});

}

});

Ito ang mga pangunahing pag-andar na kailangan mo upang makakonekta sa Particle Api at sa iyong raspberry upang ang iyong raspberry pi at particle device na Argon ay maaaring makipag-usap.

tandaan: Nais kong i-upload ang lahat ng code, ngunit hindi ako pinapayagan na mag-upload ng.html file

Hakbang 6: Lumikha ng Script para sa Raspi Camera

lumilikha kami ng simpleng.py upang makuha ang imahe at magkakaroon ito ng anotasyon ng kasalukuyang petsa at oras dito.

pagkatapos ay lilikha kami ng cgi script na banjir_cgi.py kaya't tatawagin ito mula sa web at uutusan nito ang.py file upang kumuha ng litrato.

tiyaking sisimulan ang script ng cgi sa #! / usr / bin / env python

at magbigay din ng pahintulot sa apache upang patakbuhin ang mga file na ito.

tumatakbo ang server ng apache sa www-data ng gumagamit kaya sa sandaling nalikha namin ang.py o.cgi file, kailangang maging may-ari ng file ang apache

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

at magbigay ng pahintulot upang maisagawa

sudo chmod a + x baha-cgi.py

kakailanganin mong gawin ito para sa lahat ng mga file na kailangang tumakbo mula sa apache server.

TANDAAN: ang paglalantad ng iyong raspberry sa internet at pagbibigay ng lahat ng mga pahintulot na ito ay ginagawang mas mahina ang iyong raspberry para sa mga kadahilanang pangseguridad kaya ang mahigpit na gumagamit at mga pahintulot ay dapat sundin at mai-install ang firewall tulad ng hindi komplikadong firewall (ufw)

Inirerekumendang: