Агуулгын хүснэгт:

Raspberry Pi болон тоосонцор аргон ашиглан үер илрүүлэх ухаалаг дохиоллын системийг хэрхэн яаж хийх вэ: 6 алхам
Raspberry Pi болон тоосонцор аргон ашиглан үер илрүүлэх ухаалаг дохиоллын системийг хэрхэн яаж хийх вэ: 6 алхам

Видео: Raspberry Pi болон тоосонцор аргон ашиглан үер илрүүлэх ухаалаг дохиоллын системийг хэрхэн яаж хийх вэ: 6 алхам

Видео: Raspberry Pi болон тоосонцор аргон ашиглан үер илрүүлэх ухаалаг дохиоллын системийг хэрхэн яаж хийх вэ: 6 алхам
Видео: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Арваннэгдүгээр
Anonim
Image
Image
Raspberry Pi болон тоосонцор аргон ашиглан үерийн илрүүлэлтийн ухаалаг дохиоллын системийг хэрхэн яаж хийх вэ
Raspberry Pi болон тоосонцор аргон ашиглан үерийн илрүүлэлтийн ухаалаг дохиоллын системийг хэрхэн яаж хийх вэ

Үерийн стандарт мэдрэгчтэй байх нь таны гэр, ажлын байрыг их хэмжээгээр гэмтээхээс урьдчилан сэргийлэх болно.

Гэхдээ хэрэв та гэртээ байхгүй бол сэрүүлэгт оролцох нь хэцүү болно.

Мэдээжийн хэрэг та эдгээр ухаалаг хүмүүсийг худалдаж авах боломжтой

Энэхүү үерийн дохиоллын систем нь аливаа шингэнийг илрүүлж, дохиолол өгч, үерийн талаар вэб хуудсыг шинэчилж, амралтаа амарч байгаа эсэх, эсвэл ажил дээрээ байгаа эсэхээс үл хамааран байшингийнхаа байдлыг мэдэхийг хүсч байна.

Хангамж

Raspberry pi (би 3 B+загварыг ашиглаж байна) raspbian хэл дээр ажилладаг

Аргон тоосонцор

Гроувын усны мэдрэгч

Raspi камер

Дуу чимээ

Холбогч утас

Алхам 1: Усны мэдрэгчийг бөөмстэй холбоно уу

Усны мэдрэгчийг бөөмстэй холбоно уу
Усны мэдрэгчийг бөөмстэй холбоно уу
Усны мэдрэгчийг бөөмстэй холбоно уу
Усны мэдрэгчийг бөөмстэй холбоно уу

Усны мэдрэгч нь GND, VCC, NC, SIG гэсэн 4 зүүтэй бөгөөд бид зөвхөн гурвыг нь ашиглах гэж байна.

Би SIG зүүг Аргон дээрх D2 руу холбож байна.

Одоо та Particle Web IDE -ийг ажиллуулж кодыг бичиж, Аргон руу асааж болно

Тиймээс бид бөөмийн функцын шингэнийг бүртгэж, Particle Console -ээс дуудаж, isFloodPresent -ийн логик утгыг олж авах, мөн үерийн (усны) хувьд үнэн гэсэн утгатай 1 утгыг авдаг хуурамч туршилтын функцийн шингэнийг дуудах боломжтой isFloodPresent хувьсагчийг тодорхойлсон болно..

Энэ функц болон хувьсагчийг бөөмийн төхөөрөмжийн Particle Console дээрээс харах боломжтой байгаа эсэхийг шалгаарай.

Алхам 2: Сэрүүлгийн эх үүсвэрийг Raspberry -тэй холбоно уу

Сэрүүлгийн эх үүсвэрийг Raspberry -тэй холбоно уу
Сэрүүлгийн эх үүсвэрийг Raspberry -тэй холбоно уу

Талхны самбар дээр та Buzzer -ийг Raspberry -ийн GPIO зүүтэй холбож болно

Би дуугарагчийн жижиг үзүүрийг GND (PIN 6), урт үзүүрийг бөөрөлзгөнө 7 -р зүүтэй холбосон.

Одоо харахын тулд кодыг ажиллуулна уу. Энэ питон файлыг байнга ажиллуулж байх шаардлагатай бөгөөд ингэснээр вэб серверээс триггерүүдийг хүлээн авч хариу өгөх боломжтой болно.

Эсвэл та энэ файлыг бөөрөлзгөнө дээрээ эхлүүлэхдээ ажиллуулж болох бөгөөд үүнийг /etc /systemd засварлах замаар хийж болно

мөн энэ файлыг таны apache серверийн cgi фолдерт байрлуулах болно.

Би шинэ var-cgi лавлах хийж/var/www/html/хийж, энэ cp скрипттэй харилцах болно.py файлыг байрлуулсан.

Алхам 3: Apache серверийг тохируулна уу

Apache серверийг тохируулах
Apache серверийг тохируулах

Та sudo apt-get install apache2 гэж бичээд apache сервер суулгаж болно

Үүнийг суулгасны дараа та хостын нэрийг бичээд баталгаажуулах боломжтой

мөн та өөрийн локал IP хаягийг авах бөгөөд та хөтөч рүүгээ орж сервер ажиллаж байгааг харах болно

Алхам 4: Apache дээр CGI -ийг идэвхжүүлнэ үү

Apache дээр CGI -ийг идэвхжүүлэх
Apache дээр CGI -ийг идэвхжүүлэх

Та sudo a2enmod cgi гэж бичиж cgi -г идэвхжүүлэх боломжтой

Анхдагч байдлаар apache-ийн cgi_bin нь/usr/lib/cgi-bin дээр байрладаг

энд cgi -г идэвхжүүлсний дараа cgi скриптүүдээ тавьж болно

хүчин төгөлдөр болохын тулд та apache серверийг дахин эхлүүлэх хэрэгтэй

Би cgi скриптүүдийнхээ захиалгат лавлахыг авахыг хүссэн тул фолдер-cgi нэртэй

Энэ лавлахыг идэвхжүүлэхийн тулд би conf файлыг бичих хэрэгтэй болсон

sudo нано /etc/apache2/conf-available/flood-cgi.conf

мөн дэлгэцийн агшинд үзүүлсэн шиг команд нэмэх

дараа нь бичээд энэ лавлахыг идэвхжүүлнэ үү

var/www/html $ sudo a2enconf үер-cgi

одоо та apache серверээ дахин эхлүүлж болно, энэ фолдерын бүх cgi -г зөвшөөрсний дараа apache унших болно.

Алхам 5: Вэб хуудсыг тохируулах

Вэб хуудсыг тохируулах
Вэб хуудсыг тохируулах

Энэхүү энгийн вэб үйлчилгээний хувьд би HTML, Javascript, CSS, jquery болон ajax -ийг ашиглаж байна.

Надад дарж болох таван хяналтын шошго бий, Вэб хуудаснаас зураг дарах тохиолдолд энэ нь зургийн товчлуурыг дарах функцийг идэвхжүүлдэг бөгөөд энэ функц иймэрхүү харагддаг

$ ("#photobutton"). дарна уу (function () {var FloodDate = шинэ огноо ();

var FlourImageName = "Flood_IMG_" + FloodDate.toLocaleTimeString ();

$.ajax ({

url: 'үер-cgi/Flood_cgi.py', арга: 'нийтлэх', өгөгдөл: {name_for_image: FloorImageName}, амжилт: функц (өгөгдөл) {

сэрэмжлүүлэг (өгөгдөл, төлөв)

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

}

})

});

Энэ нь Flood_cgi.py скриптийг дуудаж, зураг авах бөгөөд одоогийн огноо, цаг, ajax хуудсан дээр ачаалсан захиалгат нэртэй зургийг хадгална.

Сэрүүлэг гарсан тохиолдолд бид энэ функцийг ашиглаж болно

функц callAlarm (alarmType) {

$.ajax ({

url: 'үер-cgi/alarm.cgi', арга: 'нийтлэх', өгөгдөл: {alarm_type: alarmType}, амжилт: функц (өгөгдөл) {сэрэмжлүүлэг (өгөгдөл)

}, алдаа: функц (XMLHttpRequest, textStatus, throwError) {анхааруулга (throwError)}});

}

дуут дохиог дарах үед callAlarm функцийг дуудах болно.

$ ("#buzzer"). дарна уу (function () {callAlarm ("тест");

})

Доод код нь та хуурамч үерийн товчлуурыг дарахыг хүсч байгаа үе юм.

$ ("#mockFlood"). дарна уу (function () {console.log ("хуурамч үер хүссэн");

var FloorVal = 1;

$ ("#дохио2"). css ("фонтын хэмжээ", "жижиг");

var varName = "isFloodPresent";

var deviceID = "ТАНЫ ТӨХӨӨРӨМДИЙН ID";

var accessToken = "ТАНЫ ХАНДАХ ТОКЕН";

хэрэв (FloodVal) {

$.post ("https://api.particle.io/v1/devices/" + deviceID + "/liquid? access_token =" + accessToken, {шингэн: үерVal}, функц (өгөгдөл, төлөв) {

хэрэв (байдал == "амжилт") {

сэрэмжлүүлэг ("Хуурамч үер боллоо !!!");

} өөр {

сэрэмжлүүлэг ("Уучлаарай, асуудал гарлаа");

}

});

}

});

Эдгээр нь Particle Api болон бөөрөлзгөнөтэй холбоход шаардлагатай үндсэн функцууд бөгөөд ингэснээр таны бөөрөлзгөнө pi ба бөөмийн төхөөрөмж Аргон хоорондоо харилцах боломжтой болно.

Тэмдэглэл: Би бүх кодыг байршуулахыг хүссэн боловч энэ нь.html файлыг байршуулахыг зөвшөөрдөггүй

Алхам 6: Raspi Camera -д зориулж скрипт үүсгээрэй

Бид зураг авахын тулд энгийн.py файлыг үүсгэж байгаа бөгөөд үүнд одоогийн огноо, цагийг тайлбарласан болно.

Дараа нь бид cgi скрипт Flood_cgi.py үүсгэх бөгөөд үүнийг вэбээс дуудах бөгөөд энэ нь.py файлыг зураг авахыг тушаана.

cgi скриптийг #ашиглан эхлүүлэхээ мартуузай! /usr/bin/env python

мөн apache -д эдгээр файлуудыг ажиллуулах зөвшөөрөл өгнө үү.

apache сервер нь хэрэглэгчийн www-дата дээр ажилладаг тул бид.py эсвэл.cgi файлыг үүсгэсний дараа apache файлын эзэн байх ёстой.

sudo chown pi: www-дата үер-cgi.py

мөн гүйцэтгэх зөвшөөрөл өгөх

sudo chmod a+x үер-cgi.py

apache серверээс ажиллуулах шаардлагатай бүх файлын хувьд та үүнийг хийх хэрэгтэй болно.

ТАЙЛБАР: Интернет дээр бөөрөлзгөнө гаргаж, эдгээр бүх зөвшөөрлийг өгөх нь таны бөөрөлзгөнө аюулгүй байдлын үүднээс маш эмзэг болгодог тул хэрэглэгч, зөвшөөрлийг чанд дагаж мөрдөж, галт хана шиг энгийн галт хана суулгах хэрэгтэй (ufw)

Зөвлөмж болгож буй: