Мазмұны:
- Жабдықтар
- 1 -қадам: су датчигін бөлшекке қосыңыз
- 2 -қадам: Дабыл көзін таңқурайға қосыңыз
- 3 -қадам: Apache серверін теңшеңіз
- 4 -қадам: Apache -де CGI қосыңыз
- 5 -қадам: веб -бетті орнатыңыз
- 6 -қадам: Raspi Camera үшін сценарий жасаңыз
Бейне: Raspberry Pi мен бөлшек аргонды қолдана отырып, су тасқынының дабыл жүйесін ақылды түрде қалай жасауға болады: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Стандартты су тасқыны датчиктері сіздің үйіңізге немесе жұмыс орныңызға үлкен зақым келтірмеу үшін тамаша.
Бірақ егер сіз үйде болмасаңыз, дабылға бару қиынға соғады.
Әрине, сіз ақылдыларды сатып ала аласыз
Бұл су тасқыны туралы дабыл жүйесі кез келген сұйықтықты анықтайды және дабылды қосады және су тасқыны туралы веб -бетті жаңартады, оған әлемнің кез келген жерінде қол жеткізуге болады, демалыста болсаңыз да, жұмыста болсаңыз да және сіздің үйдің жағдайы туралы білгіңіз келсе.
Жабдықтар
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 -қадам: Дабыл көзін таңқурайға қосыңыз
Нан тақтасында Buzzer -ді Raspberry GPIO түйреуішіне қосуға болады
Мен сигналдың кіші ұшын GND -ге (PIN 6), ал ұзын ұшын таңқурайдағы 7 -ші пинге қостым.
Енді көру үшін кодты іске қосыңыз. Бізге бұл python файлы үнемі жұмыс істеп тұруы қажет, ол триггерлерді веб -серверден қабылдап, соған сәйкес жауап бере алады.
Немесе сіз бұл файлды таңқурайыңызда іске қосқанда іске қоса аласыз, оны /etc /systemd өңдеу арқылы жасауға болады
және бұл файл сіздің apache серверінің cgi қалтасына орналастырылады, Мен/var/www/html/ішінде new-cgi каталогын жасадым және cgi сценарийімен байланысатын.py файлын орналастырдым.
3 -қадам: Apache серверін теңшеңіз
sudo apt-get install apache2 теру арқылы apache серверін орнатуға болады
ол орнатылған кезде, хост атауын -I теру арқылы тексеруге болады
және сіз жергілікті IP -адресті аласыз, сіз шолғышқа кіре аласыз және сервердің жұмыс істеп тұрғанын көресіз
4 -қадам: 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)
Ұсынылған:
Ардуино мен DFPlayer Mini MP3 ойнатқыш модулін қолдана отырып, СКД көмегімен MP3 ойнатқышты қалай жасауға болады: 6 қадам
MP3 ойнатқышын Arduino мен DFPlayer Mini MP3 ойнатқыш модулін қолдана отырып, СКД көмегімен MP3 ойнатқышты қалай жасауға болады: Бүгін біз Arduino мен DFPlayer шағын MP3 ойнатқыш модулін қолдана отырып, СКД бар MP3 ойнатқышты жасаймыз. Жоба MP3 карталарын SD картадан оқи алады және кідірте алады. және 10 жыл бұрынғы құрылғы сияқты ойнаңыз. Алдыңғы ән де, келесі ән де көңілді
Pandora қорапшасын қолдана отырып, 2 ойыншының DIY Bartop аркадасын маркировкалық монеталық ұяшықтармен қалай жасауға болады: 17 қадам (суреттермен)
Pandora қорапшасын қолдана отырып, маркировкалық монеталық ұяшықтары бар 2 ойыншыдан DIY Bartop аркадасын қалай жасауға болады: Бұл маркаға арнайы монеталық слоттары бар 2 ойыншыға арналған штангалық аркада машинасын құру бойынша қадамдық нұсқаулық. Монетаның слоттары тек төрттен бір бөлікке дейінгі монеталарды қабылдайтын етіп жасалады
Фритингті қолдана отырып, тізбекті қалай жасауға болады: 19 қадам (суреттермен)
Фритингті қолдана отырып, тізбекті қалай жасауға болады: бұл сізге фризингті қолдана отырып, схеманы қалай жасау керектігін көрсету үшін қарапайым нұсқаулық
Негізгі штамп чипін қолдана отырып, параллаксті BOE-ботты қалай жасауға болады: 7 қадам
Негізгі штамп чипін қолдана отырып, параллакс BOE-ботын қалай жасауға болады: Бұл нұсқаулық Parallax BOE-Bot негізгі штамп роботының құрылысы мен түрленуін көрсетеді
Тек ақысыз бағдарламалық қамтамасыз етуді қолдана отырып, бейне файлдан анимациялық GIF қалай жасауға болады: 4 қадам
Тек ақысыз бағдарламалық жасақтама көмегімен бейне файлдан анимациялық GIF -ті қалай жасауға болады: GIF -ті білмейтіндер үшін слайд -шоуда немесе анимацияда бірнеше кадрларды қолдайтын кескіннің ең жиі қолданылатын форматы. Басқаша айтқанда, қысқа бейнелерді қоюға болады, онда әдетте тек суреттер бар. Мен бейнеклиптен GIF жасағым келді