Sadržaj:

Pametno upravljanje vešom: 7 koraka
Pametno upravljanje vešom: 7 koraka

Video: Pametno upravljanje vešom: 7 koraka

Video: Pametno upravljanje vešom: 7 koraka
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Juli
Anonim
Pametno upravljanje vešom
Pametno upravljanje vešom
Pametno upravljanje vešom
Pametno upravljanje vešom
Pametno upravljanje vešom
Pametno upravljanje vešom

Dandywash je pametan sistem upravljanja rubljem, orijentiran na ljude koji imaju malo vremena za trošenje kućanskih poslova poput pranja rublja. Svi smo bili tamo, samo smo bacali svoju prljavu odjeću u korpu, nadajući se da ćemo kasnije pronaći motivaciju za rješavanje nereda. Međutim, niko ga nikada ne pronalazi. Sve dok nam zaista ne treba neki odjevni predmet i nigdje ga ne možemo pronaći. To je tek početak. Zatim slijedi sortiranje, punjenje i praćenje. Izvođenje ovog jednostavnog i ponavljajućeg zadatka oduzima previše pažnje i koncentracije. Upravo sam zato započeo ovaj projekat. Dandywash uklanja sve ove dosadne aktivnosti. Više ne morate trošiti sekundu na sortiranje, praćenje ili mjerenje tereta. Uz zadržavanje potpune kontrole. Saznajte više i kako možete postići isti produktivni rezultat čitajući ovaj članak.

Supplies

Napravio sam detaljan opis materijala u Excelu, koji možete pogledati ovdje.

Sadrži sve bitne dijelove koji su vam potrebni i gdje ih nabaviti.

Povrh svega, želio bih navesti neke dodatne stavke koje će vam vrlo dobro doći prilikom izrade ovog projekta, ali nisu obavezne.

  • Budući da će vam trebati neke duge kratkospojnice, a one zapravo nisu stvar, predlažem da kupite oba žensko -ženska kabela kao muško -muški kabel. Kupio sam i žensko - muško, ali to zaista nije potrebno. Na ovaj način možete stvoriti duže kabele tako što ćete ih povezati zajedno. Ovo eliminira dugotrajno lemljenje.
  • Također sam dodao mnogo sigurnosnih otpornika u krug. Slobodno ih izvadite ako se osjećate dodatno samouvjereno. Ako vam nedostaje otpornika, preporučujem da uzmete ovaj komplet, vrlo je zgodno da otpornici uvijek budu jasno označeni.

Korak 1: Prethodno

Preliminary
Preliminary
Preliminary
Preliminary

Pokretanje Raspberry Pi

Da bismo pokrenuli cijeli IOT lanac s Raspberry Pi -a, moramo inicijalizirati uređaj. To možete učiniti preuzimanjem priložene slike i snimanjem na mikro SD karticu (16 GB). To se može učiniti pomoću Win32DiskImager ili bilo kojeg drugog softvera. Prije snimanja slike provjerite je li SD kartica potpuno prazna i formatirana. Ovaj video objašnjava cijeli proces korak po korak. Imajte na umu da ne morate koristiti sliku Raspbian, već ponuđenu sliku umjesto nje.

Kada završite s pisanjem SD kartice, možete je ukloniti i umetnuti u Pi. Uvjerite se da Pi još nije spojen na napajanje!

Kad je umetnuta SD kartica, povežite Pi na prijenosno računalo pomoću Ethernet kabela. Tek tada, kad već imate kontrolu, dajte joj moć. Pi će se pokrenuti za nekoliko sekundi.

To možete pratiti ako odete u naredbeni redak i upišete

ping 169.254.10.1 -t

Kada dobijete odgovor umjesto "Host Unreachable", vaš Pi se uspješno pokrenuo. To znači da možemo komunicirati s njim. Izađite iz beskonačne petlje pinganja pritiskom na Ctrl+C. Sada možete unijeti Pi upisivanjem

ssh [email protected]

ovo će od vas zatražiti lozinku, koja je zadana malina.

Prilikom prvog pokretanja, općenito je dobra praksa pokrenuti oboje

$ sudo apt-get update

$ sudo apt-get nadogradnja

Ovo će osigurati da su svi paketi ažurirani i na najnovijoj verziji.

MariaDB i Apache2 će već biti instalirani. Tako da ne moramo brinuti o njima. Moramo, međutim, postaviti neke druge stvari kako bi sve funkcioniralo kako želimo.

Međutim, prvo biste trebali ponovno pokrenuti sustav kako biste bili sigurni da je sve spremno za sljedeći korak.

$ sudo ponovno pokretanje

Korak 2: Postavljanje baze podataka

Postavljanje baze podataka
Postavljanje baze podataka
Postavljanje baze podataka
Postavljanje baze podataka

Bazu ćemo postaviti pomoću vašeg prijenosnog računara, a ne Pi -a. Otvorite MySQL Workbench (vodič za preuzimanje) i dodajte novu vezu.

Nakon toga će se od vas zatražiti prozor za konfiguraciju. Moje je ispunjeno na način na koji bi vaš trebao biti. Obratite posebnu pažnju na označena polja. Strelice ukazuju na lozinke koje morate pohraniti u trezor. Ovo su samo zadane postavke i mogu se promijeniti prema vašim željama.

Kad unesete sve podatke, kliknite na Test Connection, zanemarite upozorenje i nadamo se da ćete vidjeti prozor uspjeha. Ako to ne učinite, neka polja su pogrešna. Možete nastaviti klikom na OK u prozoru sa svim poljima za unos.

Veza bi sada trebala biti vidljiva u početnom prozoru. Kliknite na nju za pokušaj povezivanja. Lozinku treba unijeti automatski jer smo je spremili u trezor.

Zadnji korak je uvoz baze podataka. Dump možete preuzeti ovdje. Ovaj video objašnjava kako otvoriti i pokrenuti.sql datoteku. Provjerite jeste li povezani s Raspberry Pi, a ne lokalnom instancom na prijenosnom računaru!

Korak 3: Postavljanje Git spremišta

Postavljanje Git spremišta
Postavljanje Git spremišta
Postavljanje Git spremišta
Postavljanje Git spremišta
Postavljanje Git spremišta
Postavljanje Git spremišta
Postavljanje Git spremišta
Postavljanje Git spremišta

Rad s git repoom ovdje je prilično potreban. Pogotovo ako želite lako prebacivati između računara i raspi. Git bi već trebao biti instaliran na uređaju, tako da možete samo git klonirati bilo koji repo u bilo koju mapu koju želite. Međutim, budući da koristimo apache, moramo staviti naš Frontend kod (html, css, javascript) u/var/www/html folder. Ne želim stavljati cijeli repo ovdje i definitivno ne želim zaseban repo.

To se može riješiti stvaranjem simbiotske veze, koja je u osnovi ista kao prečica u prozorima. Lako se može postaviti upisivanjem sljedeće naredbe u raspi terminal (nakon kloniranja repo -a!)

klon $ git

Stvaranje simbiotske veze ima sljedeću strukturu

$ ln -s/path/to/dir/path/to/symlink

Primijenjeno na ovaj slučaj upotrebe, naredba bi trebala izgledati otprilike ovako

$ ln -s ~/home/pi/project1/git -repo//var/www/html

Sada, ako je sve prošlo dobro, možete potražiti https://169.254.10.1/Frontend bi trebao vidjeti index.html iz git repoa.

U ovoj fascikli ćete pronaći potpuni odgovarajući interfejs kod. Uključujući HTML5, CSS i JavaScript.

Korak 4: Pozadina

Backend
Backend
Backend
Backend

Za ovaj projekt koristit ćemo Flask u kombinaciji sa Socketio. To nam omogućuje postavljanje fleksibilnog web poslužitelja s usmjeravanjem i web -utičnicama. Ova aplikacija Flask će također stupiti u interakciju s bazom podataka radi izvođenja CRUD radnji. Najbolja stvar u cijelom ovom stogu je to što mu je potrebno vrlo malo vremena i truda za postavljanje. Prvo provjerite jesu li instalirani sljedeći Python paketi trećih strana. Ovo bi trebalo biti uključeno u sliku, ali pokretanjem sljedećih naredbi možete se uvjeriti / ažurirati na novije verzije.

$ pip3 instalirajte mysql-connector-python

$ pip3 instalirajte flask-socketio $ pip3 instalirajte flask-cors $ pip3 instalirajte gevent $ pip3 instalirajte gevent-websocket

Sada biste trebali moći pokrenuti skriptu app.py bez ikakvih problema. Moguće je da dobijete attributeError koja kaže da objekt tipa „Database“nema atribut „cursor“. To je uzrokovano greškom u datoteci config.py. Uvjerite se da su lozinka za korisničko ime i naziv baze podataka ispravni i da imate pristup bazi podataka koju smo upravo uvezli. Ovo je posebno vrijedno pažnje u slučaju da ste promijenili zadano korisničko ime i lozinku u MySQL -u.

Korak 5: Krug

Krug
Krug
Krug
Krug
Krug
Krug

Ne mogu puno reći o krugu. Morat ćete samo izgraditi ovo i pokrenuti test skripte u git repo. Napravio sam skriptu testiranja za svaki senzor i aktuator u krugu, tako da možete testirati svaki dio / komponentu zasebno.

Moguće je da ćete morati promijeniti PIN brojeve u kodu. Također sam dodao mnogo sigurnosnih otpornika u krug. Slobodno ih izvadite ako se osjećate dodatno samouvjereno. Ako vam nedostaje otpornika, preporučujem da uzmete ovaj komplet, vrlo je zgodno da otpornici uvijek budu jasno označeni.

Ako vas kolo uopće plaši, nemojte se obeshrabriti. Pokušajte to podijeliti na dijelove. Prvo izradite dugmad, provjerite radi li, a zatim prijeđite na sljedeći senzor. Ovo je nešto što ne možete jednostavno izgraditi u jednom potezu, osim ako niste zapanjujuće talentovani.

Konačno, imajte na umu da Raspberry Pi nije prikladan za bilo koji ozbiljan softver PWM. Linux nije operativni sistem u stvarnom vremenu. To znači da ćete imati lagano podrhtavanje u servo motorima. GPIO pin 18 podržava hardverski pwm, ali treba nam više od 1 pina.

Korak 6: Slučaj

Slučaj
Slučaj
Slučaj
Slučaj
Slučaj
Slučaj

U glavi sam imao isplaniran cijeli dizajn, koji se nije mogao realizirati zbog trenutne pandemije. Naravno, ovo je situacija koja zahtijeva fleksibilnost od svih, i upravo sam tako reagirao. Još uvijek imam originalnu 3D scenu koju sam napravio, a ovo ću podijeliti i ovdje, ako želite tako izgraditi kućište. Međutim, u ostatku ovog članka raspravljat ću o tome kako je slučaj alternativno izgrađen.

Glavna neugodnost bila je ploča za trbušnjake koju sam namjeravao koristiti za montiranje gornjeg dijela na donji dio. Ovo je bio savršen materijal. Estetski ugodan i vrlo praktičan. To se, međutim, nije moglo realizirati, pa sam morao pronaći alternativu. Budući da se nisam mogao sjetiti drugog materijala iste čvrstoće koji bi se mogao saviti na isti način, odlučio sam ga zamijeniti drvenim izgledom. To je učinilo zaobljene krivulje nemogućim, ali je ustvari stvorilo drugu ravnu površinu koja se mogla koristiti za spremanje predmeta poput proizvoda za rublje ili štipaljki. Na kraju sam ga upotrijebio za spremanje druge ploče, što mi je uvelike olakšalo život u okruženju za ovaj prototip.

Obratite pažnju na pravokutnu rupu koja je izbušena straga. Ovo omogućava usmjeravanje kabela do Raspbarry Pi.

Za daske sam posjetio lokalnu trgovinu za kućne radinosti. Uvijek imaju pokoje drvo i spremni su ga rezati na komade za malu cijenu. Platio sam ukupno 5 € ukupno. Ogromna vika Louisa od Huba Wevelgema da to omogući. Poslije je bilo samo pitanje bušenja rupa i zavrtanja svega na mjestu. Detaljan pregled gdje rezati i gdje bušiti možete pronaći ovdje.

Za 3D ispisane dijelove morao sam se osloniti na ljude oko sebe, jer škola nije mogla više pružati ovu uslugu zbog pandemije. Preko prijatelja prijatelja stupio sam u kontakt sa nekim ko je tek počeo da gradi svoj posao 3D štampanja. Bio je dovoljno velikodušan da odštampa moje glavno delo. Kvalitet je bio prilično loš zbog pogrešne konfiguracije štampača. Kupio sam sprej za prajmer i nanio tri premaza, vrativši im ukupni izgled.

Držače senzora udaljenosti uradio je drugi prijatelj. Odštampao je i poklopce pričvršćene na servo motore. U početku sam ovo pokušavao s kartonom, ali nisu se dobro držali. Imajte na umu da ako 3D ispisujete ove bitove, trebate dvaput bottom_hatch.stl, kao i distanceSensorHolder.stl. main_piece.stl i middle_hatch.stl moraju se odštampati samo jednom.

Korak 7: Pitanja?

Ako vam neki dio još nije potpuno jasan, ne ustručavajte se kontaktirati i dopustite mi da vam pomognem.

Slobodno stupite u kontakt putem e -pošte na [email protected]

Preporučuje se: