Kazalo:
- Zaloge
- 1. korak: Priključitev HC-SR04
- 2. korak: Mosquitto in Paho MQTT
- 3. korak: Program Python za ultrazvočni senzor
- 4. korak: Node-RED
- 5. korak: beleženje podatkov
- 6. korak: Postavitev
- 7. korak: Zaključek
Video: Sistem za smeti: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
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
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
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
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:
Naredite klasifikator smeti Pi z ML!: 8 korakov (s slikami)
Naredite klasifikator Pi smeti z ML !: Projekt klasifikatorja smeti, ljubkovalno znan kot "Kam gre?!", Je zasnovan tako, da stvari vrže hitreje in zanesljiveje. Ta projekt uporablja model strojnega učenja (ML) usposobljen v Lobeju, prijazen začetnikom (brez kode!)
Pametni koš za smeti z avtomobilom: 5 korakov
Pametni koš za smeti z avtomobilom: To je pameten koš za smeti z ultrazvočnim senzorjem, avtomobilom in gumbom, zato se premaknete naprej, ko ga pritisnete. Ta projekt je navdihnjen s https://www.instructables.com/id/DIY-Smart-Dustbin-With-Arduino/ Tukaj je nekaj delov, ki sem jih spremenil: 4 kolesa
Hidroelektrični generator iz smeti?!?!: 11 korakov
Hidroelektrični generator iz smeti?!?!: Končni izdelek bi moral izgledati nekako takole, ko bi kovinski kolci vstopili v tla ob reki, jajčna struktura bi delovala kot ventilator, ki bi jo voda potisnila in povzročila vrt palico za obračanje, obrnite prestave. Prestavno razmerje m
Samodejni koš za smeti: 7 korakov
Samodejni koš za smeti: To je samodejno odpiranje koša za smeti, ki zazna gibanje. Ima povezavo Wi -Fi in pošlje besedilno sporočilo, ko je polno. To je narejeno za ECE -297DP na Univerzi v Massachusettsu - Amherst. Glavni cilj tečaja je bil pridobiti izkušnje
Pametni sistem za upravljanje smeti: 23 korakov
Pametni sistem za ravnanje s smeti: UVOD.Trenutna težava ali težava, povezana s tem projektom Glavni problem naše sedanje družbe je kopičenje trdnih odpadkov. To bo imelo večji vpliv na zdravje in okolje naše družbe. Odkrivanje, spremljanje