Përmbajtje:

Sistemi i plehrave: 7 hapa
Sistemi i plehrave: 7 hapa

Video: Sistemi i plehrave: 7 hapa

Video: Sistemi i plehrave: 7 hapa
Video: Автоматический календарь-планировщик смен в Excel 2024, Korrik
Anonim
Sistemi i plehrave
Sistemi i plehrave

Ne vendosëm të përpiqemi të gjejmë një mënyrë për të ndjekur ose mbushjen e plehrave të komunitetit të një lagjeje ose një sensor në çdo mbeturinë në lagje për t'u përpjekur për t'i bërë deponimet e mbeturinave më efikase. Ne menduam se nëse një kamion vjen çdo dy javë për një grumbullim, çfarë nëse unë ose fqinji im përfundojmë duke hedhur pak jashtë. A nuk do të ishte joefikase dërgimi i një kamioni ku gjysma e lagjes nuk i dërgoi koshat e plotë të plehrave? Do të ishte mirë nëse do të ishte e mundur të shihnim plehrat e fqinjit tonë të mbushnin dhe pastaj të përdornin mbeturinat e tyre nëse imja ishte e mbushur dhe e tyre ishte bosh dhe anasjelltas. Ne vendosëm të përdorim sensorin tejzanor, HC-SR04 së bashku me një pi mjedër në përpjekje për të trajtuar këtë projekt.

Furnizimet

Sensor tejzanor (HC-SR04)

Raspberry Pi (ne përdorëm Pi 4 Model B)

Breadboard

Kabllo kërcyes

Çift rezistentësh (3 x 1k ohm)

Hapi 1: Lidhja e HC-SR04

Lidhja e HC-SR04
Lidhja e HC-SR04

Meqenëse ne po përdorim Raspberry Pi, duhet të përdorim një ndarës të tensionit për të rregulluar tensionin që hyn në kunjat GPIO të Pi pasi ato lejojnë vetëm 3.3v. HC-SR04 përdor 5V por duhet të ulet në 3.3V kur e lidh atë me Pi. Lidhni përkatësisht kunjat 5V dhe tokëzues dhe sipas programit tuaj bashkëngjitni kunjat e jehonës dhe këmbëzës në kunjat respektuese. Në programin tonë kemi përdorur pin 23 dhe 24 për eko dhe shkaktues respektivisht.

Hapi 2: Mushkonja dhe Paho MQTT

Para se të fillojmë programimin në Python për të bërë që sensori tejzanor të punojë me Pi, duhet të instalojmë këto aplikacione për të marrë sensorin tejzanor që të komunikojë me programin tonë të programimit Node-RED. Mosquitto është një ndërmjetës MQTT që mund ta përdorni në Pi ndërsa Paho MQTT është biblioteka që ju lejon të kodoni në Python për të bërë që sensori të komunikojë me ndërmjetësin MQTT. Për të instaluar të dyja këto, duhet të shtypni këto komanda në terminalin tuaj Pi

sudo apt përditësim

sudo apt install -y mushkonja mushkonja -klientë

sudo apt-get install python3-pip

sudo pip3 instaloni paho-mqtt

Hapi 3: Programi Python për Sensorin tejzanor

Ky është programi që kam përdorur për të lexuar të dhënat e ardhura nga sensori dhe gjithashtu për t'i publikuar tek ndërmjetësi MQTT.

Hapi 4: Nyja-KUQ

Nyje-KUQ
Nyje-KUQ
Nyje-KUQ
Nyje-KUQ
Nyje-KUQ
Nyje-KUQ
Nyje-KUQ
Nyje-KUQ

Disa nyje nuk vijnë të parainstaluara në program, kështu që mund t'ju duhet ta instaloni nga paletat. Ato që ju duhet të instaloni janë nyja-kuqe-pult, dhe nyja-kuqe-nyja-sqlite.

Këtu fillojmë të përdorim programin tonë programues dhe sensorin. Nyja e parë që ju nevojitet është MQTT-in Node dhe kjo na lejon të përdorim sensorin tonë që drejton programin nga lart për të dërguar të dhëna në këtë softuer. Nyja e diapazonit që kemi përdorur rrokullis vlerat që kemi (dmth. 5cm është e plotë nga programi kështu që e rrokullisim atë në 100%). Duke ndjekur nyjen e gamës kemi 2 nyje funksionale, një për të shfaqur mesazhin në pultin tonë dhe një për të treguar një pamje se mbeturinat janë plot. Programi për nyjet e funksionit është bashkangjitur.

Nëse është e mundur, kjo rrjedhë do të jetë në gjendje të përdoret për sensorë të shumtë tejzanor. Për projektin tonë megjithatë ne duhej të bënim të dhëna simulimi pasi nuk ishim në gjendje të merrnim në dorë më shumë sensorë. Mënyra se si e bëmë këtë është shumë e ngjashme, por ne kemi butona që përdoruesi mund t'i klikojë për të shtuar rastësisht 1-10 përqind të mbeturinave në secilën prej plehrave. Ne përdorëm 2 butona, një për të shtuar mbeturina dhe një për të pastruar. Matësi, mesazhet dhe treguesi janë akoma të njëjta, kodi për të numëruar dhe për të mbajtur numërimin e plehrave është pak më ndryshe.

Hapi 5: Regjistrimi i të dhënave

Regjistrimi i të dhënave
Regjistrimi i të dhënave
Regjistrimi i të dhënave
Regjistrimi i të dhënave
Regjistrimi i të dhënave
Regjistrimi i të dhënave

Ne vendosëm që do të ishte një ide e mirë të regjistroheshim se sa të mbushura janë plehrat kur kamioni vjen për të zbrazur plehrat. Me ndihmën e nyjes sqlite ne jemi në gjendje të lexojmë dhe shkruajmë të dhëna të cilat gjithashtu i ruajnë ato në Pi. Ju do të duhet të instaloni këtë nyje siç kam thënë më parë.

Hapat për krijimin dhe regjistrimin e të dhënave shkojnë si më poshtë:

1. Krijoni bazën e të dhënave

2. Regjistroni të dhënat

3. Tërhiqni të dhënat për t'u shfaqur në pultin tonë

4. Pastroni dhe fshini të dhënat

Mënyra se si funksionon SQL është se ju duhet të krijoni ekzekutimin e temës të cilat janë CREATE TABLE, INSERT INTO, SELECT FROM dhe DELETE FROM. Duke përdorur nyjet e vulës kohore ne mund të ekzekutojmë tema në nyjen sqlite e cila bën secilën nga ato funksione (krijoni, futni, zgjidhni dhe fshini). Ne duhet të krijojmë bazën e të dhënave vetëm një herë dhe pasi të jetë bërë, ne mund të regjistrojmë të dhëna në të. Pasi të krijohet baza e të dhënave, ne mund të regjistrojmë të dhëna dhe kemi përdorur përsëri hyrjen e përdoruesit për t'u regjistruar kur kamioni të ketë ardhur. Ne e bëmë atë kështu që ju nuk jeni në gjendje të regjistroni të dhëna derisa kamioni të lejohet të vijë, i cili është 5 rroba me kapacitet 80% (konsiderohet i plotë). Ne gjithashtu përdorëm përsëri nyjen e gamës për të shkallëzuar numrin 500 në 0-100%. Ne pastaj kemi mundësinë të fshijmë të gjitha të dhënat nga baza e të dhënave nëse dëshirojmë. Nyja e tabelës UI është një nyje që na lejon të shohim tabelën në një mënyrë të formatuar bukur në pultin tonë.

Hapi 6: Paraqitja

Pasi të ketë përfunduar e gjithë kjo, ju jeni në gjendje të krijoni një plan urbanistik që dëshironi me ndihmën e Node-RED. Në skedën anësore do të jeni në gjendje t'i vendosni ato sipas dëshirës tuaj dhe ka shumë më tepër mundësi personalizimi që keni. Gjithashtu është bashkangjitur rrjedhja ime për të gjithë programin tim.

Hapi 7: Përfundimi

Me përfundimin e këtij projekti, ka zona ku mund të shohim që programi të rritet më tej. Unë kurrë nuk kam gjetur një mënyrë për të bërë prerjet automatikisht pasi e vetmja mënyrë që mund të bënim ishte që ajo të regjistrohej në një interval dhe ne nuk do të kishim nevojë për ndonjë numër të përsëritur nëse kamioni i plehrave do të vinte një herë. Unë mendoj se kjo është pjesërisht për shkak të mënyrës sesi ne vendosëm ta bëjmë atë shumë të varur nga nyjet e funksionit dhe programimi pasi ne jemi më të kënaqur me atë programim. Pas eksplorimit pasi mbaruam, ishte e qartë se ka nyje të bëra për gjithçka dhe mund ta kishte bërë jetën shumë më të lehtë nëse gjejmë funksionin e nyjeve switch dhe rbe më herët. Kishte gjithashtu një nyje të bërë për sensorë tejzanor, të cilat ne nuk arritëm të punojmë. Do t'i kishte bërë gjërat më të lehta pasi nuk do të kishte nevojë për MQTT ose programin Python pasi është thjesht një nyje me këmbëzën e shkyçjes dhe jehonës. Ne vendosëm të punojmë rreth tij duke bërë programin Python siç e shihni më lart. Një këshillë e madhe për këdo që dëshiron të zhytet në Nyje-RED është se ju duhet të përdorni shumë nyje të korrigjimit për të kuptuar nëse secila rrjedhë po funksionon dhe nxjerr atë që dëshironi/keni nevojë.

Recommended: