Мазмұны:

Raspberry Pi мен бөлшек аргонды қолдана отырып, су тасқынының дабыл жүйесін ақылды түрде қалай жасауға болады: 6 қадам
Raspberry Pi мен бөлшек аргонды қолдана отырып, су тасқынының дабыл жүйесін ақылды түрде қалай жасауға болады: 6 қадам

Бейне: Raspberry Pi мен бөлшек аргонды қолдана отырып, су тасқынының дабыл жүйесін ақылды түрде қалай жасауға болады: 6 қадам

Бейне: Raspberry Pi мен бөлшек аргонды қолдана отырып, су тасқынының дабыл жүйесін ақылды түрде қалай жасауға болады: 6 қадам
Бейне: Мало кто знает, но Бланка ветеран войны бесконечности 🦸🏻‍♀️ | Бланка и Рома | Shaykin #юмор #шортс 2024, Қараша
Anonim
Image
Image
Raspberry Pi мен бөлшек аргонды қолдана отырып, су тасқынының дабыл жүйесін қалай жасауға болады
Raspberry Pi мен бөлшек аргонды қолдана отырып, су тасқынының дабыл жүйесін қалай жасауға болады

Стандартты су тасқыны датчиктері сіздің үйіңізге немесе жұмыс орныңызға үлкен зақым келтірмеу үшін тамаша.

Бірақ егер сіз үйде болмасаңыз, дабылға бару қиынға соғады.

Әрине, сіз ақылдыларды сатып ала аласыз

Бұл су тасқыны туралы дабыл жүйесі кез келген сұйықтықты анықтайды және дабылды қосады және су тасқыны туралы веб -бетті жаңартады, оған әлемнің кез келген жерінде қол жеткізуге болады, демалыста болсаңыз да, жұмыста болсаңыз да және сіздің үйдің жағдайы туралы білгіңіз келсе.

Жабдықтар

Raspberry pi (мен 3 B+үлгісін қолданамын) raspbian жұмыс істейді

Аргон бөлшектері

Grove су сенсоры

Raspi камерасы

Зумер

Өткізгіш сымдар

1 -қадам: су датчигін бөлшекке қосыңыз

Су датчигін бөлшекке қосыңыз
Су датчигін бөлшекке қосыңыз
Су датчигін бөлшекке қосыңыз
Су датчигін бөлшекке қосыңыз

су сенсорында 4 түйреуіш бар, олар GND, VCC, NC және SIG болып табылады және біз олардың үшеуін ғана қолданамыз

Мен SIG түйреуішін Аргондағы D2 -ге қосамын.

Енді сіз Аргонға кодты жазу және жарқылдау үшін Particle Web IDE іске қоса аласыз

Сонымен, біз Particle function сұйықтығын тіркедік және PartFile Console -дан шақыруға болатын isFloodPresent айнымалы мәнін анықтадық, сондай -ақ isFloodPresent логикалық мәнін аламыз, сондай -ақ 1 мәнін енгізу ретінде қабылдайтын жалған тестілеу үшін функционалды сұйықтық деп атаймыз..

бұл функцияны және айнымалы бөлшектерді құрылғының бөлшектер консолінен көруге болатындығына көз жеткізіңіз.

2 -қадам: Дабыл көзін таңқурайға қосыңыз

Дабыл көзін Raspberry -ге қосыңыз
Дабыл көзін Raspberry -ге қосыңыз

Нан тақтасында Buzzer -ді Raspberry GPIO түйреуішіне қосуға болады

Мен сигналдың кіші ұшын GND -ге (PIN 6), ал ұзын ұшын таңқурайдағы 7 -ші пинге қостым.

Енді көру үшін кодты іске қосыңыз. Бізге бұл python файлы үнемі жұмыс істеп тұруы қажет, ол триггерлерді веб -серверден қабылдап, соған сәйкес жауап бере алады.

Немесе сіз бұл файлды таңқурайыңызда іске қосқанда іске қоса аласыз, оны /etc /systemd өңдеу арқылы жасауға болады

және бұл файл сіздің apache серверінің cgi қалтасына орналастырылады, Мен/var/www/html/ішінде new-cgi каталогын жасадым және cgi сценарийімен байланысатын.py файлын орналастырдым.

3 -қадам: Apache серверін теңшеңіз

Apache серверін теңшеңіз
Apache серверін теңшеңіз

sudo apt-get install apache2 теру арқылы apache серверін орнатуға болады

ол орнатылған кезде, хост атауын -I теру арқылы тексеруге болады

және сіз жергілікті IP -адресті аласыз, сіз шолғышқа кіре аласыз және сервердің жұмыс істеп тұрғанын көресіз

4 -қадам: Apache -де CGI қосыңыз

Apache -де CGI қосыңыз
Apache -де CGI қосыңыз

sudo a2enmod cgi теру арқылы cgi қосуға болады

Әдепкі бойынша apache cgi_bin/usr/lib/cgi-bin ішінде орналасқан

мұнда cgi қосылғаннан кейін cgi сценарийлерін қоюға болады

әсер ету үшін apache серверін қайта іске қосу қажет

Мен cgi сценарийлері үшін реттелетін каталог алғым келді, сондықтан

бұл каталогты қосу үшін мен теру арқылы conf файлын жасауым керек болды

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

және скриншотта көрсетілгендей командаларды қосу

содан кейін теру арқылы осы каталогты қосыңыз

var/www/html $ sudo a2enconf sel-cgi

енді сіз apache серверін қайта іске қоса аласыз және осы қалтадан барлық cgi рұқсаттан кейін apache арқылы оқылады.

5 -қадам: веб -бетті орнатыңыз

Веб -бетті орнатыңыз
Веб -бетті орнатыңыз

Бұл қарапайым веб -қызмет үшін мен HTML, Javascript, CSS, jquery және ajax пайдаланамын.

Менде басуға болатын бес бақылау белгісі бар, Егер фотосурет веб -беттен басылса, ол фотосуреттер түймесін басу функциясын іске қосады және бұл функция келесідей көрінеді

$ («#photobutton»). басыңыз (function () {var FloodDate = new Date ();

var FloodImageName = «Flood_IMG_» + selDate.toLocaleTimeString ();

$.ajax ({

url: 'sel-cgi/sel_cgi.py', әдіс: 'хабарлама', деректер: {name_for_image: FloodImageName}, сәттілік: функция (деректер) {

ескерту (деректер, күй)

$ («#соңғы сурет»). attr («src», «sel-cgi/» + FloodImageName + «.jpg»);

}

})

});

бұл Flood_cgi.py сценарийін фотосуретке шақырады және суретті ағымдағы күн мен уақыт пен ajax жүктелетін бетпен жүктелетін атауымен сақтайды.

дабыл болған жағдайда біз бұл функцияны қолдана аламыз

callAlarm функциясы (alarmType) {

$.ajax ({

url: 'sel-cgi/alarm.cgi', әдіс: 'хабарлама', деректер: {alarm_type: alarmType}, сәттілік: функция (деректер) {ескерту (деректер)

}, қате: функция (XMLHttpRequest, textStatus, throwError) {ескерту (throwError)}});

}

callAlarm функциясы қоңырау белгісі басылған кезде шақырылады, $ («#ызғары»). басыңыз (function () {callAlarm («тест»);

})

төмендегі код - бұл жалған тасқынды басу керек, яғни Particle API -ге қоңырау шалыңыз және функцияны шақырыңыз және 1 сұйықтық мәнін өзгертіңіз және жүйенің тұйықталған су тасқыны оқиғасы арқылы күтілгендей жұмыс істейтінін тексеріңіз.

$ («#mockFlood»). басыңыз (function () {console.log («жалған тасқын сұраған»);

var selVal = 1;

$ («#сигнал2»). css («қаріп өлшемі», «кішкентай»);

var varName = «isFloodPresent»;

var deviceID = «ҚҰРЫЛҒЫНЫҢ ИДЕНТЕТІ»;

var accessToken = «СІЗДІҢ КІРУ ТОКЕНІ»;

if (FloodVal) {

$.post («https://api.particle.io/v1/devices/» + deviceID + «/сұйық? access_token =» + accessToken, {сұйық: selVal}, функция (деректер, күй) {

if (status == «сәттілік») {

ескерту («Mock Flood жүргізді !!!»);

} басқа {

ескерту («Кешіріңіз, мәселе болды»);

}

});

}

});

Бұл сіздің Parti Api және таңқураймен байланыс орнату үшін қажет негізгі функциялар, сондықтан сіздің таңқурай пи және Argon бөлшектер құрылғысы байланыса алады.

Ескерту: Мен барлық кодты жүктегім келді, бірақ ол.html файлын жүктеуге мүмкіндік бермейді

6 -қадам: Raspi Camera үшін сценарий жасаңыз

біз суретке түсіру үшін қарапайым.py жасаймыз және онда ағымдағы күн мен уақыттың аннотациясы болады.

Содан кейін біз cgi сценарийін жасаймыз, ол желіден шақырылады және бұл.py файлды суретке түсіруді бұйырады.

cgi сценарийін #деп бастағаныңызға көз жеткізіңіз! /usr/bin/env python

сонымен қатар apache -ге осы файлдарды іске қосуға рұқсат беріңіз.

apache сервері www-деректер пайдаланушысында жұмыс істейді, сондықтан.py немесе.cgi файлын жасағаннан кейін, apache файлдың иесі болуы керек.

sudo chown pi: www-деректер sel-cgi.py

және орындауға рұқсат беріңіз

sudo chmod a+x sel-cgi.py

Сіз мұны apache серверінен іске қосылатын барлық файлдар үшін жасауыңыз керек.

ЕСКЕРТПЕ: сіздің таңқурайыңызды интернетке шығару және барлық рұқсаттарды беру сіздің таңқурайыңызды қауіпсіздік мақсатында өте осал етеді, сондықтан қатаң пайдаланушы мен рұқсаттарды сақтау керек және брандмауэр сияқты күрделі қалқан орнатыңыз (ufw)

Ұсынылған: