Tartalomjegyzék:
- Kellékek
- Lépés: Csatlakoztassa a vízérzékelőt a részecskékhez
- 2. lépés: Csatlakoztassa a riasztási forrást a Raspberry -hez
- 3. lépés: Az Apache szerver konfigurálása
- 4. lépés: Engedélyezze a CGI -t az Apache -on
- 5. lépés: A weboldal beállítása
- 6. lépés: Szkript létrehozása a Raspi Camera számára
Videó: Hogyan készítsünk intelligens árvíz -érzékelő riasztórendszert Raspberry Pi és Argon részecskék használatával: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
A szabványos árvízérzékelők nagyszerűek az otthoni vagy munkahelyi hatalmas károk megelőzésére.
De megnehezíti, ha nem vagy otthon, hogy részt vegyél a riasztón.
Természetesen okosat is vásárolhat
Ez az árvízjelző rendszer minden folyadékot észlel, és riasztást indít, és frissíti az árvízről szóló weboldalt, amely bárhol elérhető a világon, legyen szó akár pihentető nyaralásáról, akár csak a munkahelyéről, és szeretne tájékozódni háza állapotáról.
Kellékek
Raspberry pi (3 B+modellt használok), amely raspbian -t futtat
Argon részecske
Grove vízérzékelő
Raspi kamera
Berregő
Jumper vezetékek
Lépés: Csatlakoztassa a vízérzékelőt a részecskékhez
A vízérzékelő 4 tűvel rendelkezik, amelyek GND, VCC, NC és SIG, és csak hármat fogunk használni
Csatlakoztatom a SIG pin -t az Argon D2 -hez.
Most elindíthatja a Particle Web IDE -t a kód írásához és az Argon -hoz való villogáshoz
Tehát regisztráltuk a részecske -függvény folyadékot, és definiáltunk egy változót isFloodPresent, amely a Particle Console -ból hívható le, és megkapjuk az isFloodPresent logikai értékét, valamint a függvényfolyadékot is meghívjuk a próbateszteléshez, amely bemenetként 1 értéket vesz fel, ami igaz az árvíz (víz) jelenlétére.
győződjön meg arról, hogy látja ezt a funkciót és változót a részecske -eszköz részecske konzoljából.
2. lépés: Csatlakoztassa a riasztási forrást a Raspberry -hez
A kenyértáblán csatlakoztathatja a Buzzer -t a Raspberry GPIO -tűjéhez
A zümmögő kisebb végét a GND -hez kötöttem (PIN 6), a hosszabbat pedig a málna 7 -es tűjéhez.
Most futtassa a kódot a megtekintéshez. Szükségünk lesz arra, hogy ez a python fájl folyamatosan futjon, hogy megkaphassa a triggereket a webszervertől, és ennek megfelelően válaszolhasson.
Alternatív megoldásként futtathatja ezt a fájlt a málna indításakor, amelyet az /etc /systemd szerkesztésével tehet meg
és ez a fájl az apache szerver cgi mappájába kerül, Új könyvtárat hoztam létre a/var/www/html/könyvtárban, és elhelyeztem ezt a.py fájlt, amely kommunikálni fog a cgi szkriptemmel
3. lépés: Az Apache szerver konfigurálása
telepítheti az apache szervert a sudo apt-get install apache2 begépelésével
ha telepítve van, ellenőrizheti a gazdagépnév -I beírásával
és megkapja a helyi IP -címet, és elindíthatja a böngészőt, és látnia kell a kiszolgáló futását
4. lépés: Engedélyezze a CGI -t az Apache -on
engedélyezheti a cgi -t a sudo a2enmod cgi begépelésével
Alapértelmezés szerint az apache cgi_bin a/usr/lib/cgi-bin mappában található
ide helyezheti a cgi parancsfájlokat a cgi engedélyezése után
a hatás eléréséhez újra kell indítani az apache szervert
Egyéni könyvtárat akartam a cgi szkriptekhez, ezért létrehoztam a/var/www/html/könyvtárat
ennek a könyvtárnak a bekapcsolásához be kellett állítanom a conf fájlt gépeléssel
sudo nano /etc/apache2/conf-available/flood-cgi.conf
és parancsok hozzáadása a képernyőképen látható módon
majd engedélyezze ezt a könyvtárat gépeléssel
var/www/html $ sudo a2enconf flood-cgi
most újraindíthatja az apache kiszolgálót, és a mappából származó összes cgi az apache számára olvasható lesz az engedély után.
5. lépés: A weboldal beállítása
Ehhez az egyszerű webszolgáltatáshoz HTML -t, Javascript -et, CSS -t, jquery -t és ajax -ot használok.
Öt kattintható vezérlőcímkém van, Abban az esetben, ha a fénykép készítésére kattintanak a weboldalon, akkor a fénykép gomb kattintási funkciója aktiválódik, és ez a funkció így néz ki
$ ("#photobutton"). click (function () {var FloDate = new Date ();
var floodImageName = "Flood_IMG_" + floodDate.toLocaleTimeString ();
$.ajax ({
url: 'flood-cgi/flood_cgi.py', módszer: 'post', adatok: {name_for_image: floodImageName}, siker: function (data) {
riasztás (adatok, állapot)
$ ("#Recentpic"). attr ("src", "flood-cgi/" + floodImageName + ".jpg");
}
})
});
ez meghívja a Flood_cgi.py parancsfájlt, hogy fényképet készítsen, és az aktuális dátum és idő által generált egyéni névvel menti a képet, és az ajax betölti az oldalt.
riasztás esetén használhatjuk ezt a funkciót
function callAlarm (alarmType) {
$.ajax ({
url: 'flood-cgi/alarm.cgi', módszer: 'post', adatok: {alarm_type: alarmType}, siker: funkció (adatok) {riasztás (adatok)
}, error: function (XMLHttpRequest, textStatus, throError) {alert (throError)}});
}
a callAlarm funkció hívásra kerül, ha a zümmögő címkére kattint, $ ("#zümmögő"). click (function () {callAlarm ("teszt");
})
Az alábbi kód akkor jelenik meg, amikor a mock Floodra szeretne kattintani, azaz meghívja a Particle API -t, és meghívja a függvényt, és megváltoztatja a 1 értéket, és ellenőrizze a rendszert, ha az egész a várakozásoknak megfelelően működik egy álvízi esemény végrehajtásával
$ ("#mockFlood"). click (function () {console.log ("álvíz kért");
var floodVal = 1;
$ ("#signal2"). css ("font-size", "small");
var varName = "isFloodPresent";
var deviceID = "AZ ESZKÖZAzonosítója";
var accessToken = "AZ ÖN HOZZÁFÉRÉSE";
if (floodVal) {
$.post ("https://api.particle.io/v1/devices/" + deviceID + "/liquid? access_token =" + accessToken, {liquid: floodVal}, függvény (adatok, állapot) {
if (állapot == "siker") {
riasztás ("A Mock Flood lebonyolította !!!");
} más {
alert ("Sajnáljuk, hiba történt");
}
});
}
});
Ezek a fő funkciók, amelyekkel kapcsolatba kell lépnie a Particle Api -val és a málnával, hogy a málna pi és a részecske -eszköz Argon kommunikálni tudjon.
Megjegyzés: Fel akartam tölteni az összes kódot, de nem teszi lehetővé.html fájl feltöltését
6. lépés: Szkript létrehozása a Raspi Camera számára
Egyszerű.py -t készítünk a kép rögzítéséhez, és az aktuális dátum és idő feliratozása lesz rajta.
akkor létrehozzuk a cgi script flood_cgi.py fájlt, így a webről lesz hívva, és ez parancsot ad a.py fájlra a fénykép készítéséhez.
győződjön meg róla, hogy a cgi szkriptet #-al kezdi! /usr/bin/env python
és engedélyezze az apache számára a fájlok futtatását.
Az apache szerver a felhasználói www-adatokon fut, így a.py vagy.cgi fájl létrehozása után az apache-nek a fájl tulajdonosának kell lennie
sudo chown pi: www-data flood-cgi.py
és engedélyt ad a végrehajtásra
sudo chmod a+x flood-cgi.py
ezt minden olyan fájl esetében meg kell tennie, amelyet apache szerverről kell futtatni.
MEGJEGYZÉS: ha a málnát az internetnek teszi ki, és megadja mindezeket az engedélyeket, biztonsági okokból nagyon sebezhetővé teszi a málnáját, ezért szigorú felhasználókat és engedélyeket kell követni, és telepíteni kell a tűzfalat, mint az egyszerű tűzfalat (ufw)
Ajánlott:
Hogyan készítsünk intelligens otthont az Arduino vezérlőrelé modul használatával - Otthoni automatizálási ötletek: 15 lépés (képekkel)
Hogyan készítsünk intelligens otthont az Arduino vezérlőrelé modul használatával | Otthoni automatizálási ötletek: Ebben az otthonautomatizálási projektben egy intelligens otthoni relé modult tervezünk, amely 5 háztartási készüléket képes vezérelni. Ez a relé modul vezérelhető mobilról vagy okostelefonról, infravörös távirányítóról vagy TV távirányítóról, kézi kapcsolóval. Ez az intelligens relé érzékeli az
Hogyan készítsünk intelligens edényt az alkalmazás által vezérelt NodeMCU segítségével: 8 lépés
Hogyan készítsünk intelligens edényt az alkalmazás által vezérelt NodeMCU -val: Ebben az útmutatóban egy intelligens edényt fogunk létrehozni, amelyet egy ESP32 és egy okostelefonos alkalmazás (iOS és Android) vezérel. A kapcsolathoz és a Blynk könyvtárhoz NodeMCU -t (ESP32) fogunk használni a felhő IoT és az okostelefonos alkalmazás számára. Végül mi
Hogyan barkácsoljunk intelligens redőnyöket SONOFF intelligens kapcsolókkal?: 14 lépés
Hogyan barkácsoljunk intelligens redőnyöket a SONOFF intelligens kapcsolókkal?: Használja a reteszelés módot a SONOFF intelligens kapcsolókban, hogy a szokásos redőnyöket/redőnyöket intelligensekké tegye és este lehúzni? Egyébként én
Hogyan készítsünk intelligens robotot az Arduino használatával: 4 lépés
Hogyan készítsünk intelligens robotot az Arduino használatával: hello, arduino vagyok
Hogyan készítsünk intelligens otthonokat az ES8266 használatával 450 rúpiával: 6 lépés
Hogyan készítsünk intelligens otthonokat az ES8266 használatával a 450 rúpiában: Itt található a teljes oktatóanyag az intelligens otthonok készítéséhez a NodMCU ESP8266 segítségével. ez nagyon egyszerű és legjobb módja a kezdőknek. A kezdő tanulni kezdheti az ESP8266 NodMCU -t ezzel az oktatóanyaggal