Cuprins:

Sistem de gunoi: 7 pași
Sistem de gunoi: 7 pași

Video: Sistem de gunoi: 7 pași

Video: Sistem de gunoi: 7 pași
Video: Uite încă o funcție ascunsă de pe iPhone👆🏻 2024, Noiembrie
Anonim
Sistem de gunoi
Sistem de gunoi

Am decis să încercăm să facem o modalitate de a urmări fie umplerea de gunoi comunitară a unui cartier, fie un senzor în fiecare gunoi din cartier, pentru a încerca să eficientizăm eliminarea gunoiului. Ne-am gândit că, dacă un camion vine la fiecare două săptămâni pentru o colecție, ce se întâmplă dacă eu sau vecinul meu am ajuns să aruncăm puțin. Nu ar fi ineficient să trimiteți un camion unde jumătate din cartier nu a trimis coșuri de gunoi complete? Ar fi minunat dacă ar fi posibil să vedem cum gunoiul vecinului nostru se umple și apoi să-i folosim gunoiul dacă al meu era plin și al lor era gol și invers. Am decis să folosim senzorul cu ultrasunete, HC-SR04 împreună cu un pi zmeură pentru a încerca să abordăm acest proiect.

Provizii

Senzor cu ultrasunete (HC-SR04)

Raspberry Pi (am folosit Pi 4 Model B)

Pană de pâine

Cabluri jumper

Cuplu de rezistențe (3 x 1k ohm)

Pasul 1: Conectarea HC-SR04

Conectarea HC-SR04
Conectarea HC-SR04

Întrucât folosim Raspberry Pi, trebuie să folosim un divizor de tensiune pentru a regla tensiunea care intră în pinii GPIO ai Pi, deoarece permit doar 3.3v. HC-SR04 folosește 5V, dar trebuie redus la 3,3V când îl conectați la Pi. Conectați pinii de 5V și respectiv pământ și, în funcție de programul dvs., atașați pinii de ecou și de declanșare la pinii respectivi. În programul nostru am folosit pinii 23 și respectiv 24 pentru ecou și respectiv declanșare.

Pasul 2: Mosquitto și Paho MQTT

Înainte de a începe programarea pe Python pentru ca senzorul cu ultrasunete să funcționeze cu Pi, ar trebui să instalăm aceste aplicații pentru ca senzorul cu ultrasunete să comunice cu software-ul nostru de programare Node-RED. Mosquitto este un broker MQTT pe care îl puteți utiliza pe Pi, în timp ce Paho MQTT este biblioteca care vă permite să codați în Python pentru a obține senzorul să comunice cu brokerul MQTT. Pentru a instala ambele acestea, trebuie să tastați aceste comenzi pe terminalul dvs. Pi

actualizare sudo apt

sudo apt install -y mosquitto mosquitto-clients

sudo apt-get install python3-pip

sudo pip3 instalează paho-mqtt

Pasul 3: Program Python pentru senzorul cu ultrasunete

Acesta este programul pe care l-am folosit pentru a citi datele primite de la senzor și pentru a le publica și brokerului MQTT.

Pasul 4: Nod-RED

Nod-ROȘU
Nod-ROȘU
Nod-ROȘU
Nod-ROȘU
Nod-ROȘU
Nod-ROȘU
Nod-ROȘU
Nod-ROȘU

Unele noduri nu vin preinstalate în program, deci este posibil să fie necesar să îl instalați din palete. Cele pe care trebuie să le instalați sunt node-red-dashboard și node-red-node-sqlite.

Aici începem să folosim software-ul nostru de programare și senzorul. Primul nod de care ai avea nevoie este nodul MQTT-in și care ne permite să folosim senzorul nostru care rulează programul de sus pentru a trimite date către acest software. Nodul de gamă pe care l-am folosit răstoarnă valorile pe care le avem (adică 5 cm este plin de program, așa că îl răsucim la 100%). După nodul de gamă avem 2 noduri funcționale, unul pentru a afișa mesajul pe tabloul nostru de bord și unul pentru a arăta un vizual că gunoiul este plin. Programul pentru nodurile funcției este atașat.

Dacă este posibil, acest flux ar putea fi utilizat pentru mai mulți senzori cu ultrasunete. Cu toate acestea, pentru proiectul nostru a trebuit să facem date de simulare, deoarece nu am reușit să punem mâna pe mai mulți senzori. Modul în care am făcut acest lucru este foarte asemănător, dar avem butoane pe care utilizatorul le poate face clic pentru a adăuga aleatoriu 1-10 la sută din gunoiul din fiecare gunoi. Am folosit 2 butoane, unul pentru a adăuga gunoi și unul pentru a curăța. Indicatorul, mesajele și indicatorul sunt încă exact aceleași, totuși codul de numărat și de ținut cont de gunoi este puțin diferit.

Pasul 5: înregistrarea datelor

Date de înregistrare
Date de înregistrare
Date de înregistrare
Date de înregistrare
Date de înregistrare
Date de înregistrare

Am decis că ar fi o idee bună să înregistrăm cât de pline sunt gunoaiele atunci când camionul vine să golească gunoaiele. Cu ajutorul nodului sqlite suntem capabili să citim și să scriem date care le salvează și în Pi. Ar trebui să instalați acest nod așa cum am spus mai înainte.

Pașii pentru crearea și înregistrarea datelor sunt următorii:

1. Creați baza de date

2. Înregistrați datele

3. Trageți datele pentru a le afișa pe tabloul de bord

4. Ștergeți și ștergeți datele

Modul în care funcționează SQL este că trebuie să creați executarea subiectului care sunt CREATE TABLE, INSERT INTO, SELECT FROM și DELETE FROM. Folosind noduri de timestamp putem executa subiecte către nodul sqlite care îndeplinește fiecare dintre aceste funcții (creați, inserați, selectați și ștergeți). Trebuie să creăm baza de date o singură dată și odată ce a fost finalizată, putem înregistra date la ea. Odată ce baza de date este creată, putem înregistra date și am folosit din nou introducerea utilizatorului pentru a înregistra când a venit camionul. Am făcut-o astfel încât să nu puteți înregistra date până când nu este permis să vină camionul, adică 5 gunoi la o capacitate de 80% (considerat plin). De asemenea, am folosit din nou nodul de gamă pentru a redimensiona 500 la 0-100%. Apoi avem opțiunea de a șterge toate datele din baza de date, dacă dorim. Nodul tabelului UI este un nod care ne permite să vedem tabelul într-un mod frumos formatat pe tabloul nostru de bord.

Pasul 6: Aspect

După ce toate acestea s-au terminat, puteți crea un aspect pe care l-ați dori cu ajutorul Node-RED. Pe fila laterală le veți putea spaționa oricum doriți și există multe opțiuni de personalizare pe care le aveți. De asemenea, este atașat fluxul meu pentru întregul meu program.

Pasul 7: Concluzie

La finalizarea acestui proiect, există zone în care putem vedea programul să fie dezvoltat în continuare. Nu am găsit niciodată o modalitate de a face înregistrarea automată, deoarece singurul mod în care am putut face acest lucru a fost ca aceasta să se înregistreze la un interval și nu am avea nevoie de repetarea numerelor dacă camionul de gunoi ar veni o dată. Cred că acest lucru se datorează parțial modului în care am decis să depindem foarte mult de nodurile funcționale și de programare, deoarece suntem mai confortabili cu această programare. După ce am explorat după ce am terminat, a fost clar că există noduri făcute pentru toate și ar fi putut face viața mult mai ușoară dacă am găsi funcția de comutare și noduri rbe mai devreme. A existat, de asemenea, un nod făcut pentru senzori cu ultrasunete, pe care nu am reușit să-l funcționăm. Ar fi făcut lucrurile mai ușoare, deoarece nu ar fi nevoie de MQTT sau programul Python, deoarece este doar un nod cu declanșatorul și ecoul. Am decis să lucrăm în jurul acestuia realizând programul Python așa cum ați văzut mai sus. Un sfat uriaș pentru oricine dorește să se scufunde în Node-RED este că ar trebui să folosiți o mulțime de noduri de depanare pentru a afla dacă fiecare flux funcționează și scoate ceea ce doriți / aveți nevoie.

Recomandat: