INHOUDSOPGAWE:
- Voorrade
- Stap 1: Koppel die watersensor aan die deeltjie
- Stap 2: Koppel die alarmbron aan Framboos
- Stap 3: Stel Apache Server op
- Stap 4: Aktiveer CGI op Apache
- Stap 5: Stel die webblad op
- Stap 6: Skep script vir Raspi -kamera
Video: Hoe om 'n slim vloedopsporing alarmstelsel te maak met behulp van Framboos Pi en Partikel Argon: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Om standaard vloedsensors te hê, is goed om groot skade aan u huis of werkplek te voorkom.
Maar dit maak dit moeilik as u nie tuis is om die alarm by te woon nie.
U kan natuurlik die slim koop
Hierdie vloedalarmstelsel ontdek enige vloeistof en veroorsaak alarm en werk die webblad op oor vloed wat oral in die wêreld verkry kan word, of u nou 'n ontspanne vakansie het of net op die werk is en u wil weet oor die status van u huis.
Voorrade
Framboos pi (ek gebruik model 3 B+) wat raspbian gebruik
Deeltjie Argon
Grove Watersensor
Raspi kamera
Gonser
Springdrade
Stap 1: Koppel die watersensor aan die deeltjie
watersensor het 4 penne, wat GND, VCC, NC en SIG is, en ons gaan slegs drie daarvan gebruik
Ek verbind SIG -pen met D2 op Argon.
Nou kan u Particle Web IDE begin om die kode te skryf en na Argon te flits
Ons het dus Particle function liquid geregistreer en 'n veranderlike isFloodPresent gedefinieer, wat van Particle Console gebel kan word en die booleaanse waarde van isFloodPresent kan verkry word, en funksionele vloeistof ook vir skanderingstoetsing genoem, wat waarde 1 as inset neem, wat waar is vir vloed (water) teenwoordig.
maak seker dat u die funksie en veranderlike van die deeltjiekonsole van u deeltjie -toestel kan sien.
Stap 2: Koppel die alarmbron aan Framboos
Op broodbord kan u Buzzer aan die Framboos GPIO -pen koppel
Ek het die kleiner kant van die gonser aan die GND (PIN 6) gekoppel, en die langer punt aan die pen 7 op die framboos.
Begin nou die kode om te sien. Ons benodig hierdie python -lêer die hele tyd sodat dit die snellers van die webbediener kan ontvang en dienooreenkomstig kan reageer.
U kan ook hierdie lêer op die framboos op die framboos laat loop, wat u kan doen deur /etc /systemd te redigeer
en hierdie lêer word in die cgi -lêergids van u apache -bediener geplaas, Ek het 'n nuwe gids flood-cgi binne/var/www/html/gemaak en hierdie.py-lêer geplaas wat met my cgi-script sal kommunikeer
Stap 3: Stel Apache Server op
U kan apache-bediener installeer deur sudo apt-get install apache2 te tik
as dit geïnstalleer is, kan u dit verifieer deur gasheernaam -I in te tik
en u kry u plaaslike IP -adres, en u kan na u blaaier gaan en die bediener moet sien loop
Stap 4: Aktiveer CGI op Apache
u kan cgi aktiveer deur sudo a2enmod cgi in te tik
By verstek is cgi_bin van apache geleë in/usr/lib/cgi-bin
dit is waar u u cgi -skrifte kan plaas nadat u cgi moontlik gemaak het
Om die effek te verkry, moet u die apache -bediener herlaai
Ek wou 'n persoonlike gids vir my cgi-skrifte hê, en ek het 'n gids in/var/www/html/flood-cgi geskep
Om hierdie gids moontlik te maak, moes ek 'n conf -lêer maak deur te tik
sudo nano /etc/apache2/conf-available/flood-cgi.conf
en voeg opdragte by soos op die skermkiekie getoon
aktiveer dan hierdie gids deur te tik
var/www/html $ sudo a2enconf flood-cgi
nou kan u u apache -bediener weer begin en alle cgi uit hierdie vouer kan na toestemming deur apache gelees word.
Stap 5: Stel die webblad op
Vir hierdie eenvoudige webdiens gebruik ek HTML, Javascript, CSS, jquery en ajax.
Ek het vyf kontroletikette wat klikbaar is, As daar op die neem -foto van die webblad geklik word, sal dit die klikknoppie van die fotoknoppie aktiveer en hierdie funksie lyk so
$ ("#photobutton"). klik (function () {var floodDate = new Date ();
var floodImageName = "Flood_IMG_" + floodDate.toLocaleTimeString ();
$.ajax ({
url: 'flood-cgi/flood_cgi.py', metode: 'pos', data: {name_for_image: floodImageName}, sukses: funksie (data) {
waarskuwing (data, status)
$ ("#recentpic"). attr ("src", "flood-cgi/" + floodImageName + ".jpg");
}
})
});
Dit sal die flood_cgi.py -skrip oproep om 'n foto te neem en 'n prentjie stoor met 'n pasgemaakte naam wat gegenereer word deur die huidige datum en tyd en ajax laai na die bladsy.
in die geval van alarm, kan ons hierdie funksie gebruik
funksie callAlarm (alarmType) {
$.ajax ({
url: 'vloed-cgi/alarm.cgi', metode: 'pos', data: {alarm_type: alarmType}, sukses: funksie (data) {waarskuwing (data)
}, error: function (XMLHttpRequest, textStatus, throwError) {alert (throwError)}});
}
die funksie callAlarm sal gebel word as daar op die gonsetiket geklik word, $ ("#buzzer"). klik (function () {callAlarm ("test");
})
Die onderstaande kode is wanneer u op 'n bespotlike vloed wil klik, dws die Particle API bel en die funksie skakel en die vloeistofwaarde 1 verander en die stelsel kontroleer of die geheel werk soos verwag deur 'n bespotlike vloedgebeurtenis uit te voer
$ ("#mockFlood"). klik (function () {console.log ("skynvloed het versoek");
var floodVal = 1;
$ ("#sein2"). css ("lettergrootte", "klein");
var varName = "isFloodPresent";
var deviceID = "U TOESTEL -ID";
var accessToken = "U TOEGANGSTEKEN";
as (floodVal) {
$.post ("https://api.particle.io/v1/devices/" + deviceID + "/liquid? access_token =" + accessToken, {vloeistof: floodVal}, funksie (data, status) {
if (status == "sukses") {
waarskuwing ("Mock Flood het uitgevoer !!!");
} anders {
alert ("Jammer, daar was 'n probleem");
}
});
}
});
Dit is die belangrikste funksies wat u nodig het om verbinding te maak met Particle Api en u framboos, sodat u framboos -pi en deeltjie -toestel Argon kan kommunikeer.
let wel: ek wou alle kode oplaai, maar ek kan nie 'n.html -lêer oplaai nie
Stap 6: Skep script vir Raspi -kamera
ons skep 'n eenvoudige.py -beeld om 'n prentjie op te neem, en dit bevat 'n aantekening van die huidige datum en tyd.
dan sal ons 'n cgi -script flood_cgi.py skep, sodat dit van die web af gebel word, en dit sal die.py -lêer beveel om 'n foto te neem.
maak seker dat u cgi -script begin met #! /usr/bin/env python
en gee ook apache toestemming om hierdie lêers uit te voer.
apache-bediener werk op www-data van gebruikers, dus sodra ons die.py- of.cgi-lêer geskep het, moet apache die eienaar van die lêer wees
sudo chown pi: www-data flood-cgi.py
en toestemming gee om uit te voer
sudo chmod a+x flood-cgi.py
u moet dit doen vir alle lêers wat vanaf die apache -bediener moet loop.
LET WEL: blootstelling van u framboos aan die internet en die gee van al hierdie toestemmings maak u framboos baie kwesbaar om veiligheidsredes, dus moet streng gebruikers en toestemmings gevolg word en 'n firewall soos ongekompliseerde firewall (ufw) geïnstalleer word
Aanbeveel:
Hoe om 'n slim huis te maak met behulp van Arduino Control Relay Module - Tuis outomatisering idees: 15 stappe (met foto's)
Hoe om 'n slim huis te maak met behulp van Arduino Control Relay Module | Tuisautomatiseringsidees: In hierdie tuisautomatiseringsprojek ontwerp ons 'n slim huis -aflosmodule wat 5 huistoestelle kan beheer. Hierdie aflosmodule kan beheer word vanaf mobiele of slimfoon, IR -afstandsbediening of TV -afstandsbediening, handskakelaar. Hierdie slim aflos kan ook die r
Hoe om 'n slim robot te maak met behulp van Arduino: 4 stappe
Hoe om 'n slim robot te maak met behulp van Arduino: hallo, ek is 'n arduino -vervaardiger, en in hierdie tutoriaal gaan ek jou wys hoe om 'n slim robot te maak met behulp van arduino as jy van my tutoriaal hou, oorweeg dit om my YouTube -kanaal met die naam Arduino te ondersteun
Hoe om 'n hommeltuig te maak met Arduino UNO - Maak 'n quadcopter met behulp van mikrokontroller: 8 stappe (met foto's)
Hoe om 'n hommeltuig te maak met Arduino UNO | Maak 'n quadcopter met behulp van mikrobeheerder: inleiding Besoek my Youtube -kanaal 'n Drone is 'n baie duur apparaat (produk) om te koop. In hierdie pos gaan ek bespreek hoe ek dit goedkoop kan maak ?? En hoe kan u u eie goedkoop maak teen goedkoop pryse … In Indië is al die materiale (motors, ESC's
Pool Pi Guy - AI -aangedrewe alarmstelsel en swembadmonitering met behulp van Framboos Pi: 12 stappe (met foto's)
Pool Pi Guy - AI -aangedrewe alarmstelsel en swembadmonitering met behulp van Framboos Pi: dit is lekker om 'n swembad by die huis te hê, maar dit neem groot verantwoordelikheid mee. My grootste bekommernis is om te kyk of iemand sonder toesig naby die swembad is (veral jonger kinders). My grootste ergernis is om seker te maak dat die swembadwaterleiding nooit onder die ingang van die pomp val nie
Hoe om slim huise te maak met behulp van ES8266 teen slegs 450 roepies: 6 stappe
Hoe om slim huise te maak met behulp van ES8266 teen slegs 450 roepies: Hier is 'n volledige handleiding vir die maak van slim huise met behulp van NodMCU ESP8266. dit is 'n baie maklike en beste manier vir beginners.Beginner kan begin leer oor ESP8266 NodMCU deur hierdie tutoriaal