Kazalo:

Sistem za smeti: 7 korakov
Sistem za smeti: 7 korakov

Video: Sistem za smeti: 7 korakov

Video: Sistem za smeti: 7 korakov
Video: Двое против смерти - 7-12 серия (2016) 2024, November
Anonim
Sistem za smeti
Sistem za smeti

Odločili smo se, da bomo poskušali slediti zapolnjevanju smeti v skupnosti v soseski ali senzorju v vsakem smeti v soseski, da bi poskušali narediti odstranjevanje smeti učinkovitejše. Mislili smo, da če tovornjak prihaja vsaka dva tedna po zbirko, kaj če bi jaz ali moj sosed le malo odvrgel. Ali ne bi bilo neučinkovito poslati kamion, kjer polovica soseske ni poslala polnih košev za smeti? Bilo bi super, če bi bilo mogoče videti, kako se smetišče našega soseda napolni in nato uporabiti njihovo smeti, če je moja polna, njihova pa prazna in obratno. Odločili smo se, da bomo uporabili ultrazvočni senzor HC-SR04 skupaj z malinovim pi, da bi se lotili tega projekta.

Zaloge

Ultrazvočni senzor (HC-SR04)

Raspberry Pi (uporabili smo Pi 4 model B)

Ogledna plošča

Mostični kabli

Par uporov (3 x 1 k ohm)

1. korak: Priključitev HC-SR04

Priključitev HC-SR04
Priključitev HC-SR04

Ker uporabljamo Raspberry Pi, moramo z razdelilnikom napetosti uravnavati napetost, ki gre v Pi -jeve GPIO -zatiče, saj dovoljujejo le 3,3 V. HC-SR04 uporablja 5V, vendar ga je treba pri priključitvi na Pi znižati na 3.3V. Priključite 5V in ozemljitvene zatiče in glede na vaš program pritrdite odmevne in sprožilne zatiče na spoštljive nožice. V našem programu smo za odmev in sprožilec uporabili pin 23 oziroma 24.

2. korak: Mosquitto in Paho MQTT

Preden začnemo programirati na Pythonu, da bi ultrazvočni senzor deloval s Pi, bi morali namestiti te aplikacije, da ultrazvočni senzor komunicira z našo programsko opremo za programiranje Node-RED. Mosquitto je posrednik MQTT, ki ga lahko uporabljate na Pi, medtem ko je Paho MQTT knjižnica, ki vam omogoča kodiranje v Pythonu, da senzor komunicira s posrednikom MQTT. Če želite namestiti oboje, vnesite te ukaze v svoj terminal Pi

sudo apt posodobitev

sudo apt install -y komarji -komarji -odjemalci

sudo apt-get install python3-pip

sudo pip3 namestite paho-mqtt

3. korak: Program Python za ultrazvočni senzor

To je program, ki sem ga uporabil za branje dohodnih podatkov s senzorja in tudi objavo posredniku MQTT.

4. korak: Node-RED

Vozlišče-RDEČA
Vozlišče-RDEČA
Vozlišče-RDEČA
Vozlišče-RDEČA
Vozlišče-RDEČA
Vozlišče-RDEČA
Vozlišče-RDEČA
Vozlišče-RDEČA

Nekatera vozlišča niso vnaprej nameščena v programu, zato jih boste morda morali namestiti iz palet. Tiste, ki jih morate namestiti, sta node-red-dashboard in node-red-node-sqlite.

Tu začnemo uporabljati programsko opremo za programiranje in senzor. Prvo vozlišče, ki ga potrebujete, je vhodno vozlišče MQTT, ki nam omogoča uporabo senzorja, ki izvaja program od zgoraj, za pošiljanje podatkov tej programski opremi. Vozlišče obsega, ki smo ga uporabili, obrne vrednosti, ki jih imamo (tj. 5 cm je polno iz programa, zato ga obrnemo na 100%). Po vozlišču obsega imamo dve funkcijski vozlišči, eno za prikaz sporočila na nadzorni plošči in eno za prikaz, da je smeti polno. Program za funkcionalna vozlišča je priložen.

Če je mogoče, bi lahko ta tok uporabili za več ultrazvočnih senzorjev. Za naš projekt pa smo morali narediti simulacijske podatke, saj nismo mogli priti v roke več senzorjev. Način, kako smo to naredili, je zelo podoben, vendar imamo gumbe, ki jih lahko uporabnik klikne, da naključno doda 1-10 odstotkov smeti v vsako od smeti. Uporabili smo 2 gumba, enega za dodajanje smeti in enega za čiščenje. Merilnik, sporočila in indikator so še vedno popolnoma enaki, vendar je koda za štetje in štetje smeti nekoliko drugačna.

5. korak: beleženje podatkov

Zapisovanje podatkov
Zapisovanje podatkov
Zapisovanje podatkov
Zapisovanje podatkov
Zapisovanje podatkov
Zapisovanje podatkov

Odločili smo se, da bi bilo dobro, če bi tovornjak izpraznil smeti, zabeležiti, kako polni so odpadki. S pomočjo vozlišča sqlite lahko beremo in pišemo podatke, ki jih shranijo tudi v Pi. To vozlišče bi morali namestiti, kot sem že rekel.

Koraki za ustvarjanje in beleženje podatkov so naslednji:

1. Ustvarite bazo podatkov

2. Zabeležite podatke

3. Povlecite podatke za prikaz na naši nadzorni plošči

4. Počistite in izbrišite podatke

Način delovanja SQL je, da morate ustvariti izvedbo teme, ki je CREATE TABLE, INSERT INTO, SELECT FROM in DELETE FROM. Z vozlišči časovnega žiga lahko izvajamo teme v vozlišču sqlite, ki opravlja vsako od teh funkcij (ustvarjanje, vstavljanje, izbiranje in brisanje). Bazo podatkov moramo ustvariti le enkrat in ko je končana, lahko vanj zabeležimo podatke. Ko je zbirka podatkov ustvarjena, lahko beležimo podatke in za vpis ko je prišel tovornjak, smo znova uporabili uporabniški vnos. To smo naredili tako, da ne morete beležiti podatkov, dokler ne dovoli pripeljati tovornjak, kar je 5 smeti pri 80% zmogljivosti (velja za polno). Vozlišče range smo ponovno uporabili tudi za povečanje 500 nazaj na 0-100%. Nato imamo možnost, če želimo izbrisati vse podatke iz baze podatkov. Vozlišče tabele uporabniškega vmesnika je vozlišče, ki nam omogoča, da vidimo tabelo na lepo oblikovan način na naši armaturni plošči.

6. korak: Postavitev

Ko je vse to končano, lahko s pomočjo Node-RED ustvarite želeno postavitev. Na stranskem zavihku jih lahko poljubno razporedite in na voljo imate še veliko možnosti prilagajanja. Priložen je tudi moj tok celotnega programa.

7. korak: Zaključek

Po zaključku tega projekta obstajajo področja, na katerih lahko vidimo nadaljnji razvoj programa. Nikoli nisem našel načina za samodejno beleženje, saj je edini način, da to storimo, to, da se vpiše v določenem intervalu in ne bi potrebovali nobenih ponovnih številk, če bi smetir prišel enkrat. Mislim, da je to deloma posledica tega, kako smo se odločili, da bomo močno odvisni od funkcijskih vozlišč in programiranja, saj nam je to programiranje bolj všeč. Po raziskovanju, potem ko smo končali, je bilo jasno, da obstajajo vozlišča, narejena za vse, kar bi lahko olajšalo življenje, če bi prej ugotovili funkcijo stikal in rbe vozlišč. Na voljo je bilo tudi vozlišče za ultrazvočne senzorje, ki ga nismo uspeli opraviti. To bi olajšalo stvari, saj ne bi potrebovali programa MQTT ali programa Python, saj je le vozlišče s sprožilci in odmevi. Odločili smo se, da se bomo izognili temu, da naredimo program Python, kot ste videli zgoraj. Velik namig za vse, ki se želite potopiti v Node-RED, je, da uporabite veliko vozlišč za odpravljanje napak, da ugotovite, ali vsak tok deluje in daje tisto, kar želite/potrebujete.

Priporočena: