Sadržaj:

Pametno upravljanje rubljem: 7 koraka
Pametno upravljanje rubljem: 7 koraka

Video: Pametno upravljanje rubljem: 7 koraka

Video: Pametno upravljanje rubljem: 7 koraka
Video: Piramida zdrave prehrane 2024, Studeni
Anonim
Pametno upravljanje rubljem
Pametno upravljanje rubljem
Pametno upravljanje rubljem
Pametno upravljanje rubljem
Pametno upravljanje rubljem
Pametno upravljanje rubljem

Dandywash je pametan sustav 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 košaru, nadajući se da ćemo kasnije pronaći motivaciju za rješavanje nereda. Međutim, nitko to nikada ne pronađe. 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 usredotočenosti. Upravo sam zato započeo ovaj projekt. Dandywash uklanja sve te 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.

Pribor

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 dobro doći kada sami izrađujete ovaj projekt, ali nisu obvezne.

  • Budući da će vam trebati neke duge kratkospojne žice, 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 baš i nije potrebno. Na ovaj način možete stvoriti duže kabele tako da ih spojite zajedno. Time se uklanja 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 uvijek imate otpornike koji su vam potrebni, jasno označeni.

Korak 1: Prethodno

Preliminarno
Preliminarno
Preliminarno
Preliminarno

Pokretanje Raspberry Pi

Kako bismo pokrenuli cijeli IOT lanac s Raspberry Pi, moramo inicijalizirati uređaj. To se može 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 korak po korak cijeli proces. Imajte na umu da ne morate koristiti sliku Raspbian, već ponuđenu sliku umjesto nje.

Kad završite s pisanjem SD kartice, možete je ukloniti i umetnuti u Pi. Provjerite je li Pi još 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 ulaskom u naredbeni redak i upisivanjem

ping 169.254.10.1 -t

Kad dobijete odgovor, a ne "Host Unreachable", vaš se Pi 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 ažuriranje

$ sudo apt-get nadogradnja

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

MariaDB i Apache2 već će 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 podizanje sustava

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čunala / radne površine, a ne Pi. Otvorite MySQL Workbench (vodič za preuzimanje) i dodajte novu vezu.

Nakon toga od vas će se zatražiti prozor s konfiguracijom. Moje je ispunjeno onako kako bi trebalo biti tvoje. Obratite posebnu pozornost na označena polja. Strelice ukazuju na lozinke koje morate pohraniti u trezor. Ovo su samo zadane postavke i mogu se mijenjati 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 su polja pogrešna. Možete nastaviti klikom na U redu 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 budući da smo je pohranili u trezor.

Posljednji 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čunalu!

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 jednostavno prebacivati s računala na raspi. Git bi već trebao biti instaliran na uređaju, pa možete jednostavno 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 mapu/var/www/html. Ne želim staviti ovdje cijeli repo i definitivno ne želim zaseban repo.

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

klon $ git

Stvaranje simbiotske veze ima sljedeću strukturu

$ ln -s/path/to/dir/path/to/simbolička veza

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 mapi pronaći ćete potpuni responzivni kod sučelja. Uključujući HTML5, CSS i JavaScript.

Korak 4: Pozadina

Pozadina
Pozadina
Pozadina
Pozadina

Za ovaj projekt koristit ćemo Flask u kombinaciji sa Socketioom. To nam omogućuje postavljanje fleksibilnog web poslužitelja s usmjeravanjem i web -utičnicama. Ova aplikacija Flask također će stupiti u interakciju s bazom podataka radi izvođenja CRUD radnji. Najbolja stvar u cijelom ovom stogu je to što za postavljanje treba jako malo vremena i truda. Prvo provjerite jesu li instalirani sljedeći Python paketi trećih strana. To 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. Možda ste dobili grešku attributeError koja kaže da objekt tipa "Database" nema atribut "cursor". To je uzrokovano pogreškom u datoteci config.py. Provjerite jesu li lozinka za korisničko ime i naziv baze podataka ispravni i imaju li pristup bazi podataka koju smo upravo uvezli. Ovo je posebno vrijedno pažnje ako 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 strujnom krugu. Morat ćete samo izgraditi ovo i pokrenuti testne skripte u git repo. Napravio sam skriptu ispitivanja 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 uvijek imate otpornike koji su vam potrebni, jasno označeni.

Ako vas sklop uopće plaši, nemojte se obeshrabriti. Pokušajte ga raščlaniti na dijelove. Prvo izradite gumbe, provjerite radi li, a zatim prijeđite na sljedeći senzor. Ovo je nešto što ne možete izgraditi u jednom potezu, osim ako niste zapanjujuće talentirani.

Na kraju, imajte na umu da Raspberry Pi nije prikladan za bilo koji ozbiljan softver PWM. Linux nije operativni sustav u stvarnom vremenu. To znači da ćete imati lagano podrhtavanje u servo motorima. GPIO pin 18 podržava hardverski pwm, ali trebamo 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 da je ovo 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 trbušnjak ploča koju sam namjeravao montirati na gornji 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 zaobljene krivulje učinilo nemogućim, ali je ustvari stvorila 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 krugu za ovaj prototip.

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

Za daske sam posjetio lokalnu trgovinu za kućne radinosti. Uvijek imaju pokoje drveno 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 bušenje rupa i zavrtanje svega na mjestu. Detaljan pregled gdje rezati, a gdje bušiti možete pronaći ovdje.

Za 3D ispisane dijelove morao sam se osloniti na ljude oko sebe, jer škola zbog pandemije više nije mogla pružati ovu uslugu. Preko prijatelja prijatelja stupio sam u kontakt s nekim tko je tek počeo graditi svoj posao s 3D ispisom. Bio je dovoljno velikodušan da mi odštampa glavni dio. Kvaliteta je bila prilično loša zbog pogrešne konfiguracije pisača. Kupila sam sprej za prajmer i nanijela mu 3 premaza, vrativši cjelokupni izgled.

Držače senzora udaljenosti napravio je drugi prijatelj. Odštampao je i poklopce pričvršćene na servo motore. Isprva sam ovo pokušao 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 potrebno je ispisati samo jednom.

Korak 7: Pitanja?

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

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

Preporučeni: