Turinys:

Šiukšlių sistema: 7 žingsniai
Šiukšlių sistema: 7 žingsniai

Video: Šiukšlių sistema: 7 žingsniai

Video: Šiukšlių sistema: 7 žingsniai
Video: Делаем вентиляцию и кондиционер в квартире. #19 2024, Lapkritis
Anonim
Šiukšlių sistema
Šiukšlių sistema

Mes nusprendėme pabandyti rasti būdą, kaip sekti mikrorajono bendruomenės šiukšlių užpildymą, arba jutiklį kiekvienoje kaimynystėje esančioje šiukšlėje, kad šiukšlių šalinimas būtų efektyvesnis. Pagalvojome, kad jei kas dvi savaites atvyks sunkvežimis surinkimui, o kas, jei aš ar mano kaimynas galiausiai tik šiek tiek išmesime. Ar nebūtų neveiksminga siųsti sunkvežimį ten, kur pusė apylinkių nesiuntė pilnų šiukšliadėžių? Būtų puiku, jei būtų galima pamatyti, kaip mūsų kaimyno šiukšlės gali būti užpildytos, o tada panaudoti jų šiukšles, jei mano buvo pilna, o jų - tuščia ir atvirkščiai. Mes nusprendėme naudoti ultragarsinį jutiklį HC-SR04 kartu su aviečių pi, kad galėtume išspręsti šį projektą.

Prekės

Ultragarsinis jutiklis (HC-SR04)

Raspberry Pi (naudojome Pi 4 modelį B)

Bandomoji Lenta

Trumpieji kabeliai

Pora rezistorių (3 x 1k omų)

1 žingsnis: HC-SR04 prijungimas

Jungiamas HC-SR04
Jungiamas HC-SR04

Kadangi mes naudojame „Raspberry Pi“, turime naudoti įtampos daliklį, kad reguliuotume įtampą, patenkančią į „Pi“GPIO kaiščius, nes jie leidžia tik 3,3 V. „HC-SR04“naudoja 5 V įtampą, tačiau, prijungus jį prie „Pi“, jį reikia sumažinti iki 3,3 V. Prijunkite atitinkamai 5 V ir įžeminimo kaiščius ir pagal savo programą pritvirtinkite aido ir paleidimo kaiščius prie pagarbių kaiščių. Savo programoje aidui ir trigeriui atitinkamai naudojome 23 ir 24 kaiščius.

2 žingsnis: „Mosquitto“ir „Paho MQTT“

Prieš pradėdami programuoti „Python“, kad ultragarso jutiklis veiktų su „Pi“, turėtume įdiegti šias programas, kad ultragarso jutiklis galėtų bendrauti su mūsų programavimo programine įranga „Node-RED“. „Mosquitto“yra MQTT tarpininkas, kurį galite naudoti „Pi“, o „Paho MQTT“yra biblioteka, leidžianti koduoti „Python“, kad jutiklis galėtų bendrauti su MQTT tarpininku. Norėdami įdiegti abi šias, įveskite šias komandas savo „Pi“terminale

sudo apt atnaujinimas

sudo apt install -y mosquitto mosquitto -customers

sudo apt-get įdiegti python3-pip

sudo pip3 įdiegti paho-mqtt

3 žingsnis: „Python“programa ultragarso jutikliui

Tai programa, kurią naudojau skaityti gaunamus duomenis iš jutiklio ir paskelbti MQTT tarpininkui.

4 žingsnis: mazgas-RAUDONAS

Mazgas-RAUDONAS
Mazgas-RAUDONAS
Mazgas-RAUDONAS
Mazgas-RAUDONAS
Mazgas-RAUDONAS
Mazgas-RAUDONAS
Mazgas-RAUDONAS
Mazgas-RAUDONAS

Kai kurie mazgai nėra iš anksto įdiegti programoje, todėl gali tekti ją įdiegti iš palečių. Jums reikia įdiegti „node-red-dashboard“ir „node-red-node-sqlite“.

Čia mes pradedame naudoti savo programavimo programinę įrangą ir jutiklį. Pirmasis mazgas, kurio jums reikia, yra „MQTT-in Node“ir tai leidžia mums naudoti savo jutiklį, kuriame veikia programa iš viršaus, ir siųsti duomenis į šią programinę įrangą. Naudojamas diapazono mazgas apverčia turimas reikšmes (ty 5 cm yra užpildytas nuo programos, todėl apverčiame jį iki 100%). Po diapazono mazgo turime 2 funkcinius mazgus: vienas, skirtas parodyti pranešimą mūsų prietaisų skydelyje, o kitas - vizualiai parodyti, kad šiukšlės pilnos. Pridėta funkcijų mazgų programa.

Jei įmanoma, šį srautą būtų galima naudoti keliems ultragarso jutikliams. Tačiau mūsų projektui turėjome atlikti modeliavimo duomenis, nes nepavyko gauti daugiau jutiklių. Tai darėme labai panašiai, tačiau turime mygtukus, kuriuos naudotojas gali spustelėti, kad atsitiktinai pridėtų 1–10 procentų šiukšlių kiekvienoje šiukšlėje. Mes naudojome 2 mygtukus, vieną pridėjome šiukšles, o kitą - išvalyti. Matavimo priemonė, pranešimai ir indikatorius vis tiek yra tas pats, tačiau šiukšlių skaičiavimo ir skaičiavimo kodas yra šiek tiek kitoks.

5 veiksmas: duomenų registravimas

Registravimo duomenys
Registravimo duomenys
Registravimo duomenys
Registravimo duomenys
Registravimo duomenys
Registravimo duomenys

Nusprendėme, kad būtų gera mintis registruoti, kiek šiukšlių yra pilna, kai sunkvežimis atvažiuoja ištuštinti šiukšlių. Naudodami „sqlite“mazgą, mes galime skaityti ir rašyti duomenis, kurie taip pat išsaugo juos „Pi“. Jums reikės įdiegti šį mazgą, kaip sakiau anksčiau.

Duomenų kūrimo ir registravimo veiksmai atliekami taip:

1. Sukurkite duomenų bazę

2. Įrašykite duomenis

3. Ištraukite duomenis, kad jie būtų rodomi mūsų prietaisų skydelyje

4. Išvalykite ir ištrinkite duomenis

SQL veikia taip, kad jums reikia sukurti vykdyti temą, kuri yra CREATE LABLE, INSERT INTO, SELECT FROM ir DELETE FROM. Naudodami laiko žymos mazgus galime vykdyti temas „sqlite“mazge, kuris atlieka kiekvieną iš šių funkcijų (kurti, įterpti, pasirinkti ir ištrinti). Mums reikia sukurti duomenų bazę tik vieną kartą, o kai ji bus padaryta, galėsime į ją įrašyti duomenis. Sukūrę duomenų bazę, galime užregistruoti duomenis ir, naudodamiesi vartotojo įvestimi, vėl registravomės, kai atvyko sunkvežimis. Mes tai padarėme, kad negalėtumėte registruoti duomenų, kol sunkvežimiui nebus leista atvažiuoti, tai yra 5 šiukšlės, kurių talpa 80% (laikoma pilna). Mes taip pat vėl panaudojome diapazono mazgą, kad sumažintume 500 iki 0–100%. Tada mes turime galimybę ištrinti visus duomenis iš duomenų bazės, jei to norime. UI lentelės mazgas yra mazgas, leidžiantis gražiai suformatuotą lentelę matyti mūsų prietaisų skydelyje.

6 žingsnis: išdėstymas

Kai visa tai bus baigta, galėsite sukurti norimą maketą naudodami „Node-RED“. Šoniniame skirtuke galėsite juos išdėstyti, kaip jums patinka, ir yra daug daugiau tinkinimo parinkčių. Taip pat pridedamas mano visos programos srautas.

7 žingsnis: Išvada

Baigus šį projektą, yra sričių, kuriose galime pamatyti, kaip programa bus toliau plėtojama. Niekada neradau būdo automatiškai atlikti registravimą, nes vienintelis būdas tai padaryti buvo tai, kad jis registruotųsi tam tikru intervalu ir mums nereikėtų jokių pakartotinių numerių, jei šiukšliavežė atvažiuotų vieną kartą. Manau, kad tai iš dalies lemia tai, kaip mes nusprendėme labai priklausyti nuo funkcijų mazgų ir programavimo, nes mums patogiau tai programuoti. Išnagrinėję, kai baigėme, buvo aišku, kad viskam yra sukurti mazgai, ir tai galėjo padaryti gyvenimą daug lengvesnį, jei anksčiau būtume radę jungiklio ir rbe mazgų funkciją. Taip pat buvo sukurtas mazgas ultragarso jutikliams, kurių mes nespėjome dirbti. Tai būtų palengvinę dalykus, nes nereikėtų MQTT ar „Python“programos, nes tai tik mazgas su gaiduku ir aido kaiščiais. Mes nusprendėme tai išspręsti, sukurdami „Python“programą, kaip matėte aukščiau. Didžiulis patarimas visiems, norintiems pasinerti į „Node-RED“, yra tai, kad turėtumėte naudoti daug derinimo mazgų, kad išsiaiškintumėte, ar kiekvienas srautas veikia ir išleidžia tai, ko norite/reikia.

Rekomenduojamas: