Innehållsförteckning:
- Tillbehör
- Steg 1: Anslut vattensensorn till partikeln
- Steg 2: Anslut larmkällan till hallon
- Steg 3: Konfigurera Apache Server
- Steg 4: Aktivera CGI på Apache
- Steg 5: Konfigurera webbsidan
- Steg 6: Skapa skript för Raspi -kamera
Video: Så här gör du ett larmsystem för smarta översvämningar med hjälp av Raspberry Pi och Particle Argon: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:40
Att ha vanliga översvämningssensorer är bra för att förhindra massiva skador på ditt hem eller din arbetsplats.
Men det gör det svårt om du inte är hemma för att delta i larmet.
Naturligtvis kan du köpa de smarta
Detta översvämningslarmsystem upptäcker all vätska och utlöser larm och uppdaterar webbsidan om översvämning som kan nås var som helst i världen, oavsett om du har en avkopplande semester eller bara på jobbet och du vill veta om ditt hus status.
Tillbehör
Hallon pi (jag använder modell 3 B+) kör raspbian
Partikel Argon
Grove Water Sensor
Raspi -kamera
Summer
Bygelkablar
Steg 1: Anslut vattensensorn till partikeln
vattensensorn har 4 stift, som är GND, VCC, NC och SIG och vi kommer att använda bara tre av dem
Jag ansluter SIG -stift till D2 på Argon.
Nu kan du starta Particle Web IDE för att skriva koden och blinka till Argon
Så vi har registrerat partikelfunktionsvätska och definierat en variabel isFloodPresent, som kan ringas från Particle Console och erhålla det booleska värdet för isFloodPresent och även kalla funktionsvätska för mock -test som tar värde 1 som ingång vilket betyder sant för översvämning (vatten) närvarande.
se till att du kan se den funktionen och variabeln från Particle Console på din Particle Device.
Steg 2: Anslut larmkällan till hallon
På brödbräda kan du ansluta Buzzer till Raspberrys GPIO -stift
Jag har anslutit mindre ände av summer till GND (PIN 6) och längre ände till pin 7 på hallon.
Kör nu koden för att se. Vi kommer att behöva denna python -fil kör hela tiden så att den kan ta emot utlösarna från webbservern och svara därefter.
Alternativt kan du köra den här filen vid start på ditt hallon som du kan göra genom att redigera /etc /systemd
och den här filen kommer att placeras i cgi -mappen på din apache -server, Jag har gjort en ny katalog flood-cgi inuti/var/www/html/och placerat denna.py-fil som kommer att kommunicera med mitt cgi-skript
Steg 3: Konfigurera Apache Server
du kan installera apache-servern genom att skriva sudo apt-get install apache2
när det är installerat kan du verifiera genom att skriva värdnamn -I
och du får din lokala IP -adress och du kan gå till din webbläsare och ser servern köra
Steg 4: Aktivera CGI på Apache
du kan aktivera cgi genom att skriva sudo a2enmod cgi
Som standard ligger cgi_bin för apache i/usr/lib/cgi-bin
det är här du kan lägga dina cgi -skript efter att du har aktiverat cgi
För att få effekt måste du starta om apache -servern
Jag ville ha anpassad katalog för mina cgi-skript så jag skapade katalogen i/var/www/html/kallade flood-cgi
för att aktivera den här katalogen var jag tvungen att skapa konf -filen genom att skriva
sudo nano /etc/apache2/conf-available/flood-cgi.conf
och lägga till kommandon enligt skärmdumpen
aktivera sedan den här katalogen genom att skriva
var/www/html $ sudo a2enconf flood-cgi
nu kan du starta om din apache -server igen och alla cgi från den här mappen kommer att kunna läsas av apache efter tillståndet.
Steg 5: Konfigurera webbsidan
För denna enkla webbtjänst använder jag HTML, Javascript, CSS, jquery och ajax.
Jag har fem kontrolletiketter som är klickbara, Om du klickar på ta foto från webbsidan, kommer det att utlösa funktionen för fotoknapps klickfunktion och den här funktionen ser ut så här
$ ("#photobutton"). klicka (function () {var floodDate = new Date ();
var floodImageName = "Flood_IMG_" + floodDate.toLocaleTimeString ();
$.ajax ({
url: 'flood-cgi/flood_cgi.py', metod: 'post', data: {name_for_image: floodImageName}, framgång: funktion (data) {
varning (data, status)
$ ("#recentpic"). attr ("src", "flood-cgi/" + floodImageName + ".jpg");
}
})
});
detta kommer att kalla skriptet flood_cgi.py för att ta foto och spara bild med anpassat namn som genereras av aktuellt datum och tid och ajax laddas upp till sidan.
vid larm kan vi använda den här funktionen
funktion callAlarm (alarmType) {
$.ajax ({
url: 'flood-cgi/alarm.cgi', metod: 'post', data: {alarm_type: alarmType}, framgång: funktion (data) {alert (data)
}, error: function (XMLHttpRequest, textStatus, throwError) {alert (throwError)}});
}
funktionen callAlarm kommer att ringas upp när du klickar på summeretiketten, $ ("#summer"). klicka (function () {callAlarm ("test");
})
nedanstående kod är när du vill klicka på mock flood, det vill säga ringa Particle API och ringa funktionen och ändra vätskevärdet 1 och kontrollera systemet om helheten fungerar som förväntat genom att genomföra en mock flood -händelse
$ ("#mockFlood"). klicka (function () {console.log ("mock flood har begärt");
var floodVal = 1;
$ ("#signal2"). css ("font-size", "small");
var varName = "isFloodPresent";
var deviceID = "DITT ENHETS -ID";
var accessToken = "DITT ACCESS TOKEN";
if (floodVal) {
$.post ("https://api.particle.io/v1/devices/" + deviceID + "/liquid? access_token =" + accessToken, {liquid: floodVal}, funktion (data, status) {
if (status == "framgång") {
alert ("Mock Flood har genomfört !!!");
} annat {
alert ("Tyvärr, det var ett problem");
}
});
}
});
Dessa är de viktigaste funktionerna du behöver för att ansluta till Particle Api och ditt hallon så att din hallonpi och partikelapparat Argon kan kommunicera.
Obs! Jag ville ladda upp all kod, men det tillåter mig inte att ladda upp.html -fil
Steg 6: Skapa skript för Raspi -kamera
vi skapar enkla.py för att fånga bild och det kommer att ha en anteckning om aktuellt datum och tid på den.
då kommer vi att skapa cgi -script flood_cgi.py så det kommer att ringas från webben och detta kommer att beordra.py -fil för att ta foto.
se till att starta cgi -skriptet med #! /usr/bin/env python
och ge även apache behörighet att köra dessa filer.
apache-servern körs på användarens www-data så när vi har skapat.py- eller.cgi-filen måste apache vara ägare till filen
sudo chown pi: www-data flood-cgi.py
och ge tillstånd att verkställa
sudo chmod a+x flood-cgi.py
du måste göra detta för alla filer som måste köras från apache -servern.
OBS: att exponera ditt hallon för internet och ge alla dessa behörigheter gör ditt hallon mycket sårbart av säkerhetsskäl så strikta användare och behörigheter bör följas och installera brandvägg som okomplicerad brandvägg (ufw)
Rekommenderad:
Hur gör man smarta rullgardiner med SONOFF smarta switchar ?: 14 steg
Hur gör man smarta rullgardiner med SONOFF smarta växlar?: Använd interlock -läge i SONOFF smarta omkopplare för att göra dina vanliga rullgardiner/persienner till smarta Oavsett om de flesta av er är överens om att det här är ett jobb att du drar rullgardinerna/persiennerna på morgonen och dra ner det på kvällen? Jag är i alla fall
SCARA Robot: Lär dig mer om Foward och Inverse Kinematics !!! (Plot Twist Lär dig hur du gör ett realtidsgränssnitt i ARDUINO med hjälp av BEHANDLING !!!!): 5 steg (med bilder)
SCARA Robot: Lär dig mer om Foward och Inverse Kinematics !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using Processing !!!!): En SCARA -robot är en mycket populär maskin i branschvärlden. Namnet står för både Selective Compliant Assembly Robot Arm eller Selective Compliant Articulated Robot Arm. Det är i grunden en tre graders frihetsrobot, som är de två första
Gör din egen smarta spegel för under $ 80 - Använda Raspberry Pi: 6 steg (med bilder)
Gör din egen smarta spegel för under $ 80 - Använda Raspberry Pi: I det här projektet kommer vi att bygga en smart spegel som visar dig användbar information medan du förbereder dig på morgonen. Det hela borde kosta under $ 80 vilket gör det anständigt överkomligt för de flesta människor. Denna guide lär dig bara
Ett litet larmsystem som använder ett superlitet Arduino -kompatibelt kort!: 10 steg
Ett litet larmsystem som använder ett Super Tiny Arduino -kompatibelt kort !: Hej, idag ska vi göra ett litet coolt projekt. Vi ska bygga en liten larmanordning som mäter avståndet mellan sig själv och ett föremål framför den. Och när objektet rör sig förbi ett bestämt avstånd meddelar enheten dig med en
Varningssystem för översvämningar - Vattennivåer + IoT -sensorövervakningsguide: 6 steg
Översvämningsvarningssystem - Vattennivåer + IoT -sensorövervakningsguide: Behöver du övervaka vattennivåer? Du lär dig hur man gör vattennivåövervakningssystem i den här självstudien. Dessa industriella IoT -enheter används som varningssystem för översvämningar i USA. För att skydda dig och ditt samhälle måste Smart Cities