Мазмуну:
- Жабдуулар
- 1 -кадам: Суу сенсорун бөлүкчөгө туташтырыңыз
- 2 -кадам: Ойготкуч булагын Raspberry менен туташтырыңыз
- 3 -кадам: Apache Serverди конфигурациялоо
- 4 -кадам: Apacheде CGI иштетүү
- 5 -кадам: Web баракчасын орнотуу
- 6 -кадам: Raspi Camera үчүн скрипт түзүңүз
Video: Raspberry Pi жана бөлүкчө аргонун колдонуп, топон суусун табуунун сигнализация системасын кантип жасоо керек: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Стандарттык сел сенсорлорунун болушу үйүңүзгө же жумуш ордуңузга чоң зыян келтирбөө үчүн эң сонун.
Бирок, эгер сиз үйдө болбосоңуз, ойготкучка катышууңузду кыйындатат.
Албетте, бул акылдуу адамдарды сатып алсаңыз болот
Бул сел сигнализациясы ар кандай суюктукту аныктайт жана ойготкучту коет жана дүйнөнүн каалаган жерине кирүүгө боло турган сел жөнүндө веб баракчаны жаңыртат, сиз эс алып жатасызбы же жөн эле жумуштасыз жана үйүңүздүн абалы жөнүндө билгиңиз келет.
Жабдуулар
Raspberry pi (мен 3 B+моделин колдонуп жатам) raspbian иштейт
Аргон бөлүкчөсү
Grove суу сенсору
Raspi Camera
Коңгуроо
Өткөргүч зымдар
1 -кадам: Суу сенсорун бөлүкчөгө туташтырыңыз
суу сенсорунда 4 пин бар, алар GND, VCC, NC жана SIG жана биз алардын үчөөнү гана колдонобуз
Мен SIG пинди D2ге Аргондо туташтырып жатам.
Эми, сиз Particle Web IDE кодун жаза аласыз жана Аргонго жаркылдай аласыз
Ошентип, биз Бөлүкчөлөрдүн функционалдык суюктугун каттадык жана PartFor Consoleдон чала турган isFloodPresent өзгөрмөсүн аныктадык жана isFloodPresent логикалык маанисин алалы, ошондой эле фокустук тестирлөө үчүн функционалдык суюктукту чакырабыз, бул 1 маанисин киргизүү катары билдирет, бул сел (суу) үчүн чыныгы маанини билдирет.
Бул функцияны жана өзгөрмөнү бөлүкчөлөрүңүздүн бөлүкчөлөрүнүн консолунан көрө алышыңыз керек.
2 -кадам: Ойготкуч булагын Raspberry менен туташтырыңыз
Нан тактасында Buzzerди Raspberry GPIO пинине туташтырсаңыз болот
Мен ызылчактын кичине башын GNDге (PIN 6) жана узагыраагын малинанын 7 -пинине туташтырдым.
Эми кодду көрүү үчүн иштетиңиз. Бизге бул python файлы дайыма иштеп турушу керек, ал триггерлерди веб -серверден алат жана ошого жараша жооп берет.
Же болбосо, бул файлды малинаңыздын башталышында иштете аласыз, аны /etc /systemd менен түзөтө аласыз
жана бул файл сиздин apache серверинин cgi папкасына жайгаштырылат, Мен/var/www/html/ичинде жаңы каталог сел-cgi кылдым жана бул менин cgi скрипти менен байланышкан.py файлын жайгаштырдым
3 -кадам: Apache Serverди конфигурациялоо
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 сценарийлери үчүн ыңгайлаштырылган каталогду кааладым, ошондуктан/var/www/html/каталогун сел-cgi деп түздүм
Бул каталогду иштетүү үчүн, конф файлын терүү менен түзүшүм керек болчу
sudo nano /etc/apache2/conf-available/flood-cgi.conf
жана скриншотто көрсөтүлгөндөй буйруктарды кошуу
андан кийин терүү менен бул каталогду иштетүү
var/www/html $ sudo a2enconf сел-cgi
Эми сиз apache сервериңизди кайра өчүрүп күйгүзө аласыз жана бул папкадан бардык cgi уруксаат алгандан кийин apache тарабынан окулат.
5 -кадам: Web баракчасын орнотуу
Бул жөнөкөй веб кызматы үчүн мен HTML, Javascript, CSS, jquery жана ajaxти колдонуп жатам.
Менде чыкылдатуучу беш көзөмөл этикеткасы бар, Веб -баракчадан сүрөт тартуу чыкылдатылган учурда, ал сүрөт баскычын басуу функциясын иштетет жана бул функция мындай көрүнөт
$ ("#photobutton"). чыкылдатуу (function () {var FloodDate = new Date ();
var FloodImageName = "Flood_IMG_" + FloodDate.toLocaleTimeString ();
$.ajax ({
url: 'сел-cgi/sel_cgi.py', ыкма: 'пост', маалыматтар: {name_for_image: FloodImageName}, ийгилик: функция (маалыматтар) {
эскертүү (маалыматтар, абал)
$ ("#latestpic"). attr ("src", "сел-cgi/" + FloodImageName + ".jpg");
}
})
});
Бул сүрөткө тартуу үчүн Flood_cgi.py скриптин чакырат жана учурдагы дата жана убакыт жана ajax баракчасына жүктөлгөн колдонуучунун аты менен сүрөттү сактайт.
Ойготкуч болгон учурда, биз бул функцияны колдоно алабыз
callAlarm (alarmType) функциясы {
$.ajax ({
url: 'сел-cgi/alarm.cgi', ыкма: 'пост', маалыматтар: {alarm_type: alarmType}, ийгилик: функция (маалыматтар) {эскертүү (маалыматтар)
}, ката: функция (XMLHttpRequest, textStatus, throwError) {alert (throwError)}});
}
callAlarm функциясы ызылдагыч энбелгиси басылганда чакырылат, $ ("#buzzer"). click (function () {callAlarm ("test");
})
Төмөндөгү код - бул жасалма суу баскычын чыкылдатуу, башкача айтканда, Particle APIге чалуу жана функцияны чакыруу жана суюктуктун маанисин 1 өзгөртүү жана системанын текшерилиши
$ ("#mockFlood"). чыкылдатуу (function () {console.log ("жасалма сел талап кылды");
var FloodVal = 1;
$ ("#signal2"). css ("font-size", "small");
var varName = "isFloodPresent";
var deviceID = "СИЗДИН ТҮЗМӨК ID";
var accessToken = "СИЗДИН КИРҮҮ ТОКЕНИҢИЗ";
if (FloodVal) {
$.post ("https://api.particle.io/v1/devices/" + deviceID + "/liquid? access_token =" + accessToken, {суюк: FloodVal}, функция (маалыматтар, абал) {
if (status == "ийгилик") {
эскертүү ("Mock Flood өткөрдү !!!");
} башка {
эскертүү ("Кечиресиз, көйгөй чыкты");
}
});
}
});
Бул сиздин бөлүкчө Апи жана малинаңыз менен байланыш түзүшүңүз керек болгон негизги функциялар, ошондуктан сиздин малина пи жана бөлүкчөлөрүңүз Аргон байланыша алат.
Эскертүү: Мен бардык кодду жүктөгүм келди, бирок ал мага.html файлын жүктөөгө уруксат бербейт
6 -кадам: Raspi Camera үчүн скрипт түзүңүз
Биз сүрөттү тартуу үчүн жөнөкөй.py түзүп жатабыз жана анда учурдагы датасы жана убактысы бар.
анда cgi скриптин Flood_cgi.py түзөбүз, андыктан ал интернеттен чакырылат жана бул.py файлды сүрөткө тартууга буйрук берет.
cgi скриптин #менен баштоону унутпаңыз! /usr/bin/env python
жана ошондой эле apacheге бул файлдарды иштетүүгө уруксат бериңиз.
apache сервери www-data колдонуучусунда иштейт, ошондуктан.py же.cgi файлын түзгөндөн кийин, апаче файлдын ээси болушу керек
sudo chown pi: www-маалымат сел- cgi.py
жана аткарууга уруксат берүү
sudo chmod a+x сел- cgi.py
Сиз муну apache серверинен иштеши керек болгон бардык файлдар үчүн жасашыңыз керек болот.
ЭСКЕРТҮҮ: малинаңызды интернетке чыгаруу жана бул уруксаттардын бардыгын берүү сиздин малинаңызды коопсуздук үчүн өтө аялуу кылат, андыктан катаал колдонуучу жана уруксаттар сакталууга жана фейерверкти татаал эмес файрволго (ufw) орнотуу керек.
Сунушталууда:
M5STACK Visuino колдонуп M5StickC ESP32де температураны, нымдуулукту жана кысымды кантип көрсөтүү керек - Оңой жасоо: 6 кадам
M5STACK Visuino аркылуу M5StickC ESP32де температураны, нымдуулукту жана кысымды кантип көрсөтүү керек - Оңой жасалат: Бул окуу куралында биз ENV сенсорунун жардамы менен температураны, нымдуулукту жана кысымды көрсөтүү үчүн Arduino IDE жана Visuino менен ESP32 M5Stack StickCди кантип программалоону үйрөнөбүз (DHT12, BMP280, BMM150)
Акысыз жерди табуунун оорун чечүү үчүн унаа токтоочу сенсорду кантип куруу керек: 12 кадам
Бош жерди табуунун азабын чечүү үчүн унаа токтоочу сенсорду кантип куруу керек: Бул долбоордо биз Raspberry Pi менен жөнөкөй токтоочу сенсор курабыз. Көрсө, күн сайын эртең менен мен бул суроого туш болушум керек: менин офисимдин алдындагы ЖАЛГАН унаа токтотуучу жай буга чейин эле алынганбы? Анткени чындыгында болгондо, мен айланып өтүшүм керек
PHP жана MYSQLди колдонуп билдирүү тактасын кантип жасоо керек: 5 кадам
PHP жана MYSQLдин жардамы менен билдирүү тактасынын веб -сайтын кантип жасоо керек: Бул көрсөтмө сизге php, mysql, html жана cssти колдонуп билдирүү тактасын кантип түзүүнү көрсөтөт. Эгерде сиз вебди иштеп чыгууда жаңы болсоңуз, кабатыр болбоңуз, түшүнүктөрдү жакшыраак түшүнүү үчүн деталдуу түшүндүрмөлөр жана аналогдор болот. Мат
NodeMCU колдонуп Firebase үйүн автоматташтыруу системасын кантип жасоо керек - IOT платформасында: 14 кадам
NodeMCU колдонуп Firebase үйүн автоматташтыруу системасын кантип жасоо керек | IOT Платформасында: БУЛ ДОЛБОРДУН МАКСАТЫ Бул долбоор IOT Android колдонмосу аркылуу колдонуучунун үйүнүн алыстан башкарылуучу бардык түзмөктөрүн толук башкарууга мүмкүнчүлүк берген үй автоматташтыруу системасын өнүктүрүүгө багытталган
Портативдүү оюн системасын кантип жасоо керек: 39 кадам (сүрөттөр менен)
Портативдик оюн системасын кантип жасоо керек: Сүйүктүү оюн системаңызды каалаган жерде ойной алуу жөнүндө ойлонуп көрдүңүз беле? Менде бар экенине ишенем. Бул колдонмодон кийин, сиз Nintendo Entertainment Systemди "кантип портаблизировать кылууну" үйрөнө аласыз. Бул Нускамада мен сизге баарын үйрөтөм