Tartalomjegyzék:

Szemétrendszer: 7 lépés
Szemétrendszer: 7 lépés

Videó: Szemétrendszer: 7 lépés

Videó: Szemétrendszer: 7 lépés
Videó: Casas e apartamentos húngaros - Como é morar na Hungria? 2024, November
Anonim
Szemétrendszer
Szemétrendszer

Úgy döntöttünk, hogy megpróbálunk módot találni arra, hogy nyomon kövessük vagy a környék közösségi hulladéktöltését, vagy egy érzékelőt a környéken lévő minden szemétben, hogy hatékonyabbá tegyük a szemétlerakást. Arra gondoltunk, hogy ha kéthetente jön egy teherautó egy gyűjtésre, mi van akkor, ha én vagy a szomszédom végül csak egy keveset dobunk ki. Nem lenne hatékony, ha olyan teherautót küldenénk oda, ahol a környék fele nem küldte el a teljes szemetet? Nagyon jó lenne, ha látnánk, hogy szomszédunk szemetet megtölthet, majd felhasználhatja a szemetet, ha az enyém tele van, és az övék üres, és fordítva. Úgy döntöttünk, hogy az ultrahangos érzékelőt, a HC-SR04-et és a málna pi-t használjuk, hogy megpróbáljuk megoldani ezt a projektet.

Kellékek

Ultrahangos érzékelő (HC-SR04)

Raspberry Pi (a Pi 4 B modellt használtuk)

Kenyeretábla

Jumper kábelek

Pár ellenállás (3 x 1 k ohm)

1. lépés: A HC-SR04 csatlakoztatása

A HC-SR04 csatlakoztatása
A HC-SR04 csatlakoztatása

Mivel a Raspberry Pi -t használjuk, feszültségmegosztót kell használnunk a Pi GPIO csapjaiba érkező feszültség szabályozására, mivel ezek csak 3,3 V -ot engednek. A HC-SR04 5V-ot használ, de le kell csökkenteni 3,3 V-ra, amikor a Pi-hez csatlakoztatja. Csatlakoztassa az 5 V -os és a földelt csapokat, és programja szerint csatlakoztassa a visszhang- és a kioldócsapokat a tiszteletreméltó csapokhoz. Programunkban a 23 -as és a 24 -es tüskét használtuk a visszhanghoz és a triggerhez.

2. lépés: Mosquitto és Paho MQTT

Mielőtt elkezdenénk programozni a Pythonon, hogy az ultrahangos érzékelő működjön a Pi-vel, telepítenünk kell ezeket az alkalmazásokat, hogy az ultrahangos érzékelő kommunikálni tudjon a Node-RED programozó szoftverünkkel. A Mosquitto egy MQTT -bróker, amelyet a Pi -n használhat, míg a Paho MQTT az a könyvtár, amely lehetővé teszi a Python -ban történő kódolást, hogy az érzékelő kommunikáljon az MQTT -brókerrel. Mindkettő telepítéséhez írja be ezeket a parancsokat a Pi terminálon

sudo apt frissítés

sudo apt install -y mosquitto mosquitto -customers

sudo apt-get install python3-pip

sudo pip3 telepítse a paho-mqtt-t

3. lépés: Python program ultrahangos érzékelőhöz

Ez az a program, amellyel kiolvastam a beérkező adatokat az érzékelőből, és közzétettem az MQTT brókernek.

4. lépés: Node-RED

Csomópont-PIROS
Csomópont-PIROS
Csomópont-PIROS
Csomópont-PIROS
Csomópont-PIROS
Csomópont-PIROS
Csomópont-PIROS
Csomópont-PIROS

Néhány csomópont nincs előre telepítve a programba, ezért előfordulhat, hogy telepítenie kell a palettáról. A telepítendők a node-red-dashboard és a node-red-node-sqlite.

Itt kezdjük el használni a programozó szoftverünket és az érzékelőt. Az első csomópont az MQTT-in csomópont, amely lehetővé teszi számunkra, hogy a programot felülről futtató érzékelőnk segítségével adatokat küldjünk erre a szoftverre. Az általunk használt tartománycsomópont elfordítja a rendelkezésünkre álló értékeket (azaz 5 cm tele van a programtól, így 100%-ra fordítjuk). A tartománycsomópont után 2 funkciócsomópontunk van, az egyik megjeleníti az üzenetet a műszerfalunkon, a másik pedig vizuálisan mutatja, hogy a szemét megtelt. A függvénycsomópontok programja csatolva van.

Ha lehetséges, ez az áramlás több ultrahangos érzékelőhöz is használható. A projektünkhöz azonban szimulációs adatokat kellett készítenünk, mivel nem tudtunk több érzékelőt kézbe venni. Ennek módja nagyon hasonló, de vannak gombjaink, amelyekre kattintva a felhasználó véletlenszerűen hozzáadhatja a szemét 1-10 százalékát minden egyes szemétbe. 2 gombot használtunk, az egyiket a szemét hozzáadásához, a másikat a törléshez. A mérőeszköz, az üzenetek és a jelző továbbra is pontosan ugyanaz, mint a kód, amelyet a szeméttel kell számolni és tartani.

5. lépés: Adatok naplózása

Adatok naplózása
Adatok naplózása
Adatok naplózása
Adatok naplózása
Adatok naplózása
Adatok naplózása

Úgy döntöttünk, hogy jó lenne naplózni, hogy mennyire tele vannak a szemetek, amikor a teherautó kiüríti a szemetet. Az sqlite csomópont segítségével képesek vagyunk adatokat olvasni és írni, ami a Pi -be is menti. Telepítenie kell ezt a csomópontot, ahogy korábban mondtam.

Az adatok létrehozásának és naplózásának lépései a következők:

1. Hozza létre az adatbázist

2. Naplózza az adatokat

3. Húzza ki az adatokat, hogy megjelenjenek a műszerfalunkon

4. Törölje és törölje az adatokat

Az SQL működésének módja az, hogy létre kell hoznia a CREATE TABLE, INSERT INTO, SELECT FROM és DELETE FROM témákat. Az időbélyegző csomópontok használatával futtathatunk témákat az sqlite csomóponthoz, amely elvégzi ezeket a funkciókat (létrehozás, beillesztés, kijelölés és törlés). Csak egyszer kell létrehoznunk az adatbázist, és miután elkészült, adatokat naplózhatunk hozzá. Az adatbázis létrehozása után naplózhatjuk az adatokat, és a felhasználói bevitelt használva ismét bejelentkeztünk, amikor a teherautó megérkezett. Elkészítettük, így nem tud naplózni adatokat, amíg a teherautó nem mehet, ami 5 szemét 80% -os kapacitással (tekintve tele). Ismét a tartománycsomópontot használtuk az 500 visszaállítására 0-100%-ra. Ezt követően lehetőségünk van az összes adat törlésére az adatbázisból, ha szeretnénk. Az UI tábla csomópont egy csomópont, amely lehetővé teszi számunkra, hogy a táblázatot szépen formázott módon lássuk a műszerfalunkon.

6. lépés: Elrendezés

Miután mindez befejeződött, a Node-RED segítségével létrehozhatja a kívánt elrendezést. Az oldalsó lapon tetszés szerint elhelyezheti őket, és még sok más testreszabási lehetőség áll rendelkezésre. Az egész programom folyamát is csatolom.

7. lépés: Következtetés

A projekt befejezése után vannak olyan területek, ahol a program tovább bővíthető. Soha nem találtam módot arra, hogy a naplózást automatikusan végezzük, mivel az egyetlen módja, hogy időközönként naplózzon, és nincs szükségünk ismétlődő számokra, ha egyszer eljön a kukásautó. Azt hiszem, ez részben annak tudható be, hogy úgy döntöttünk, hogy nagymértékben függünk a függvénycsomópontoktól és a programozástól, mivel kényelmesebbek vagyunk ezzel a programozással. Miután befejeztük a feltárást, egyértelmű volt, hogy mindenhez vannak csomópontok, és sokkal könnyebbé tehetné az életet, ha korábban megtaláltuk a kapcsoló és az rbe csomópontok funkcióját. Volt egy csomópont is ultrahangos érzékelők számára, amelyeket nem tudtunk működni. Ez megkönnyítette volna a dolgokat, mivel nincs szükség MQTT -re vagy a Python programra, mivel ez csak egy csomópont a triggerrel és a visszhang csapokkal. Úgy döntöttünk, hogy körüljárjuk a Python program elkészítésével, ahogy fent láttuk. Hatalmas tipp mindenkinek, aki be akar merülni a Node-RED-be, az az, hogy sok hibakeresési csomópontot kell használnia annak megállapítására, hogy minden folyamat működik-e, és azt adja ki, amit szeretne/amire szüksége van.

Ajánlott: