Indholdsfortegnelse:

Affaldssystem: 7 trin
Affaldssystem: 7 trin

Video: Affaldssystem: 7 trin

Video: Affaldssystem: 7 trin
Video: Новая BMW 7 серии (G70) - эталон комфорта и роскоши! Все подробности 2024, November
Anonim
Affaldssystem
Affaldssystem

Vi besluttede at prøve at finde en måde at spore enten et kvarters samfundsaffald eller en sensor i hvert affald i kvarteret for at forsøge at gøre affaldsaffald mere effektivt. Vi tænkte, at hvis der kommer en lastbil hver anden uge til en afhentning, hvad nu hvis jeg eller min nabo kun endte med at smide lidt ud. Ville det ikke være ineffektivt at sende en lastbil, hvor halvdelen af kvarteret ikke’sendte fulde skraldespande? Det ville være fantastisk, hvis det var muligt at se vores nabos skraldespand fylde og derefter bruge deres skrald, hvis mit var fyldt og deres var tomt og omvendt. Vi besluttede at bruge ultralydssensoren, HC-SR04 sammen med en hindbærpi til at prøve at tackle dette projekt.

Forbrugsvarer

Ultralydssensor (HC-SR04)

Raspberry Pi (vi brugte Pi 4 Model B)

Brødbræt

Jumper kabler

Par modstande (3 x 1k ohm)

Trin 1: Tilslutning af HC-SR04

Tilslutning af HC-SR04
Tilslutning af HC-SR04

Da vi bruger Raspberry Pi, skal vi bruge en spændingsdeler til at regulere spændingen, der går ind i Pi's GPIO -ben, da de kun tillader 3,3v. HC-SR04 bruger 5V, men skal sænkes til 3,3V, når den sluttes til Pi. Tilslut henholdsvis 5V- og jordstifterne, og fastgør ekko- og triggerstifterne i henhold til dit program til de respektfulde stifter. I vores program brugte vi pin 23 og 24 til henholdsvis ekko og trigger.

Trin 2: Mosquitto og Paho MQTT

Inden vi begynder at programmere på Python for at få ultralydssensoren til at fungere med Pi, bør vi installere disse applikationer for at få ultralydssensoren til at kommunikere med vores programmeringssoftware Node-RED. Mosquitto er en MQTT -mægler, som du kan bruge på Pi, mens Paho MQTT er biblioteket, der giver dig mulighed for at kode i Python for at få sensoren til at kommunikere med MQTT -mægleren. For at installere begge disse ville du skrive disse kommandoer på din Pi -terminal

sudo apt opdatering

sudo apt installere -y myg myg -klienter

sudo apt-get install python3-pip

sudo pip3 installer paho-mqtt

Trin 3: Python -program til ultralydssensor

Dette er det program, jeg brugte til at læse de indgående data fra sensoren og også offentliggøre til MQTT -mægleren.

Trin 4: Node-RØD

Node-RØD
Node-RØD
Node-RØD
Node-RØD
Node-RØD
Node-RØD
Node-RØD
Node-RØD

Nogle noder er ikke forudinstalleret i programmet, så du skal muligvis installere det fra paletterne. Dem, du skal installere, er node-red-dashboard og node-red-node-sqlite.

Det er her, vi begynder at bruge vores programmeringssoftware og sensoren. Den første node, du skal bruge, er MQTT-in Node, og det giver os mulighed for at bruge vores sensor, der kører programmet ovenfra, til at sende data til denne software. Områdeknuden, vi brugte, vender de værdier, vi har (dvs. 5 cm er fuld fra programmet, så vi vender det til 100%). Efter rækkeviddeknuden har vi 2 funktionsnoder, en til at vise meddelelsen til vores dashboard og en til at vise en visual, at skraldet er fuldt. Programmet for funktionsnoderne er vedhæftet.

Hvis det er muligt, ville denne strømning kunne bruges til flere ultralydssensorer. Til vores projekt var vi imidlertid nødt til at lave simuleringsdata, da vi ikke kunne få fingre i flere sensorer. Måden, vi gjorde dette på, ligner meget, men vi har knapper, som brugeren kan klikke på for tilfældigt at tilføje 1-10 procent af affaldet i hvert skraldespand. Vi brugte 2 knapper, en til at tilføje affald og en til at rydde. Måleren, meddelelser og indikatoren er stadig nøjagtig den samme, som koden til at tælle og beholde tællingen af affaldet er dog lidt anderledes.

Trin 5: Logning af data

Logningsdata
Logningsdata
Logningsdata
Logningsdata
Logningsdata
Logningsdata

Vi besluttede, at det ville være en god idé at logge, hvor fyldt affaldet er, når lastbilen kommer for at tømme affaldet. Ved hjælp af sqlite -noden er vi i stand til at læse og skrive data, som også gemmer dem til Pi. Du skulle installere denne knude, som jeg har sagt før.

Trinene til at oprette og logge data går som følger:

1. Opret databasen

2. Log dataene

3. Træk i dataene for at blive vist på vores dashboard

4. Ryd og slet dataene

Den måde, SQL fungerer på, er, at du skal oprette eksekver emnet, som er Opret tabel, indsæt i, vælg fra og slet fra. Ved hjælp af tidsstempelnoder kan vi eksekvere emner til sqlite -noden, der udfører hver af disse funktioner (opret, indsæt, vælg og slet). Vi behøver kun at oprette databasen én gang, og når den er færdig, kan vi logge data til den. Når databasen er oprettet, kan vi logge data, og vi brugte brugerinput igen til at logge, når lastbilen er kommet. Vi lavede det, så du ikke kan logge data, før lastbilen får lov at komme, hvilket er 5 skrald med 80% kapacitet (betragtes som fuld). Vi brugte også rækkeviddeknuden igen til at skalere 500 tilbage til 0-100%. Vi har derefter mulighed for at slette alle data fra databasen, hvis vi vil. UI -tabelnoden er en node, der giver os mulighed for at se tabellen på en pænt formateret måde på vores dashboard.

Trin 6: Layout

Når alt dette er afsluttet, kan du oprette et layout, du gerne vil have ved hjælp af Node-RED. På sidefanen kan du placere dem, som du vil, og der er mange flere tilpasningsmuligheder, du har. Vedhæftet er også mit flow for hele mit program.

Trin 7: Konklusion

Efter afslutningen af dette projekt er der områder, hvor vi kan se programmet blive vokset yderligere. Jeg fandt aldrig en måde at foretage logningen automatisk, da den eneste måde, vi kunne gøre det på, var ved at logge med et interval, og vi ville ikke have brug for gentagelsesnumre, hvis skraldespanden kom en gang. Jeg tror, at dette til dels skyldes, hvordan vi besluttede at gøre det stærkt afhængigt af funktionsnoderne og programmeringen, da vi er mere komfortable med den programmering. Efter at have undersøgt, efter at vi var færdige, var det klart, at der er knudepunkter til alt, og det kunne have gjort livet meget lettere, hvis vi havde fundet funktionen af switch og rbe -noder tidligere. Der var også lavet en knude til ultralydssensorer, som vi ikke fik til at fungere. Det ville have gjort tingene lettere, da der ikke var behov for MQTT eller Python -programmet, da det bare er en knude med trigger- og ekko -benene. Vi besluttede at omgå det ved at lave Python -programmet som du så ovenfor. Et stort tip til alle, der ønsker at dykke ned i Node-RED, er, at du skal bruge en masse fejlfindingsnoder til at finde ud af, om hvert flow fungerer og udsender det, du ønsker/har brug for.

Anbefalede: