Kazalo:

Pametno upravljanje perila: 7 korakov
Pametno upravljanje perila: 7 korakov

Video: Pametno upravljanje perila: 7 korakov

Video: Pametno upravljanje perila: 7 korakov
Video: Автоматический календарь-планировщик смен в Excel 2024, November
Anonim
Pametno upravljanje perila
Pametno upravljanje perila
Pametno upravljanje perila
Pametno upravljanje perila
Pametno upravljanje perila
Pametno upravljanje perila

Dandywash je pameten sistem za upravljanje perila, namenjen ljudem, ki imajo malo časa za preživetje gospodinjskih opravil, kot je pranje perila. Vsi smo bili tam, samo vrgli smo svoja umazana oblačila v koš, v upanju, da bomo kasneje našli motivacijo za reševanje nereda. Vendar ga nihče nikoli ne najde. Dokler res ne potrebujemo oblačila in ga ne najdemo nikjer. To je šele začetek. Nato sledi sortiranje, polnjenje in sledenje. Izvajanje te preproste in ponavljajoče se naloge vzame preveč pozornosti in osredotočenosti. Ravno zato sem se lotil tega projekta. Dandywash odpravlja vse te dolgočasne dejavnosti. Nič več vam ni treba porabiti za razvrščanje, sledenje ali merjenje tovora. Ob ohranjanju popolnega nadzora. Več o tem in o tem, kako lahko dosežete enak produktiven rezultat, preberite v tem članku.

Zaloge

V Excelu sem ustvaril podrobno gradivo, ki si ga lahko ogledate tukaj.

Ta vsebuje vse bistvene koščke in kose, ki jih potrebujete, in kje jih dobiti.

Poleg tega bi želel našteti še nekaj dodatnih predmetov, ki bodo zelo koristni pri sami izdelavi tega projekta, vendar niso zavezujoči.

  • Ker boste potrebovali nekaj dolgih mostičarskih žic in to v resnici ni stvar, predlagam, da oba žensko -ženska kabla kupite kot moško -moški kabel. Kupil sem tudi samico - samca, ki pa res ni nujna. Na ta način lahko ustvarite daljše kable tako, da jih povežete skupaj. To odpravlja dolgotrajna spajkanja.
  • V vezje sem dodal tudi veliko varnostnih uporov. Če ste samozavestni, jih vzemite ven. Če vam primanjkuje uporov, vam priporočam, da vzamete ta komplet, zelo priročno je, da imate vedno potrebne upore, ki so jasno označeni.

1. korak: Predhodno

Predhodno
Predhodno
Predhodno
Predhodno

Zagon Raspberry Pi

Če želimo iz Raspberry Pi zagnati celotno verigo IOT, moramo napravo inicializirati. To lahko storite tako, da prenesete priloženo sliko in jo zapišete na kartico micro SD (16 GB). To lahko storite z uporabo Win32DiskImager ali katere koli druge programske opreme. Pred zapiranjem slike se prepričajte, da je kartica SD popolnoma prazna in formatirana. Ta video posnetek razlaga celoten postopek. Upoštevajte, da vam ni treba uporabljati slike Raspbian, ampak namesto tega priloženo sliko.

Ko končate s pisanjem kartice SD, jo lahko odstranite in vstavite v Pi. Prepričajte se, da Pi še ni priključen na napajanje!

Ko vstavite kartico SD, povežite Pi z prenosnim računalnikom z ethernetnim kablom. Šele takrat, ko je že pod vašim nadzorom, mu dajte moč. Pi se bo zagnal v nekaj sekundah.

To lahko spremljate tako, da odprete ukazni poziv in vnesete

ping 169.254.10.1 -t

Ko prejmete odgovor in ne »Host Unreachable«, se je vaš Pi uspešno zagnal. To pomeni, da lahko z njim sodelujemo. Zaprite neskončno zanko pinganja s pritiskom na Ctrl+C. Zdaj lahko vnesete Pi tako, da vnesete

ssh [email protected]

to vas bo vprašalo za geslo, ki je privzeta malina.

Pri prvem zagonu je na splošno dobra praksa, da zaženete oba

$ sudo apt-get posodobitev

$ sudo apt-get nadgradnja

Tako boste zagotovili posodobitev vseh paketov in njihovo najnovejšo različico.

MariaDB in Apache2 bosta že nameščena. Zato nam ni treba skrbeti za te. Vseeno pa moramo nastaviti nekatere druge stvari, da bo vse delovalo tako, kot si želimo.

Vendar morate najprej znova zagnati, da se prepričate, da je vse pripravljeno za naslednji korak.

$ sudo ponovni zagon

2. korak: Nastavitev zbirke podatkov

Vzpostavitev zbirke podatkov
Vzpostavitev zbirke podatkov
Vzpostavitev zbirke podatkov
Vzpostavitev zbirke podatkov

Podatkovno bazo bomo nastavili z vašim prenosnikom / namizjem, ne s sistemom Pi. Odprite MySQL Workbench (vodnik za prenos) in dodajte novo povezavo.

Nato boste pozvani k konfiguracijskemu oknu. Moja je napolnjena tako, kot bi morala biti tvoja. Bodite pozorni na označena polja. Puščice kažejo na gesla, ki jih morate shraniti v trezorju. To so le privzete nastavitve in jih lahko spremenite po svojih željah.

Ko vnesete vse podatke, kliknite Preskusna povezava, prezrite opozorilo in upajmo, da boste videli okno uspeha. Če tega ne storite, so nekatera polja napačna. Nadaljujete tako, da v oknu z vsemi vnosnimi polji kliknete V redu.

Povezava bi morala biti zdaj vidna v začetnem oknu. Kliknite nanjo, da se poskusite povezati. Geslo je treba vnesti samodejno, saj smo ga shranili v trezor.

Zadnji korak je uvoz baze podatkov. Odlagališče lahko prenesete tukaj. Ta videoposnetek razlaga, kako odpreti in zagnati datoteko.sql. Prepričajte se, da ste povezani z Raspberry Pi in ne z lokalnim primerkom na prenosnem računalniku!

3. korak: Nastavitev skladišča Git

Nastavitev skladišča Git
Nastavitev skladišča Git
Nastavitev skladišča Git
Nastavitev skladišča Git
Nastavitev skladišča Git
Nastavitev skladišča Git
Nastavitev skladišča Git
Nastavitev skladišča Git

Delo z git repo je tukaj precej potrebno. Še posebej, če želite preprosto preklopiti med računalnikom in raspi. Git bi moral biti že nameščen v napravi, zato lahko preprosto git klonirate kateri koli repo v katero koli mapo, ki jo želite. Ker pa uporabljamo apache, moramo kodo Frontend (html, css, javascript) postaviti v mapo/var/www/html. Tu ne želim postaviti celotnega repo -ja in vsekakor nočem ločenega repo -ja.

To je mogoče rešiti z ustvarjanjem simbiotske povezave, ki je v bistvu enaka bližnjici v oknih. Enostavno ga lahko nastavite tako, da v terminal raspi vnesete naslednji ukaz (po kloniranju repo!)

klon $ git

Ustvarjanje simbiotske povezave ima naslednjo strukturo

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

V tem primeru bi moral biti ukaz videti nekako takole

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

Če je bilo vse v redu, lahko poiščete https://169.254.10.1/ Frontend bi moral videti index.html iz git repo.

V tej mapi boste našli popolno odzivno kodo prednje strani. Vključno z HTML5, CSS in JavaScript.

4. korak: Backend

Backend
Backend
Backend
Backend

Za ta projekt bomo uporabljali Flask v kombinaciji s Socketio. To nam omogoča, da nastavimo prilagodljiv spletni strežnik z usmerjanjem in spletnimi vtičnicami. Ta aplikacija Flask bo sodelovala tudi z zbirko podatkov za izvajanje dejanj CRUD. Najboljša stvar pri vsem tem nizu je, da za nastavitev potrebuje zelo malo časa in truda. Najprej se prepričajte, da so nameščeni naslednji paketi Python tretjih oseb. Te bi morale biti vključene v sliko, vendar z zagonom naslednjih ukazov lahko zagotovite / posodobite na novejše različice.

$ pip3 namestite mysql-connector-python

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

Zdaj bi morali brez težav zagnati skript app.py. Lahko pride do napake attributeError, ki pravi, da tip objekta "Database" nima atributa "cursor". To je posledica napake v datoteki config.py. Prepričajte se, da sta geslo za uporabniško ime in ime zbirke podatkov pravilna in da imata dostop do baze podatkov, ki smo jo pravkar uvozili. To je še posebej pomembno, če ste v MySQL spremenili privzeto uporabniško ime in geslo.

5. korak: Vezje

Vezje
Vezje
Vezje
Vezje
Vezje
Vezje

O vezju ne morem veliko povedati. To morate samo zgraditi in zagnati preskusne skripte v git repo. Ustvaril sem preskusni skript za vsak senzor in aktuator v vezju, tako da lahko vsak del / komponento preizkusite posebej.

Morda boste morali spremeniti številke pin v kodi. V vezje sem dodal tudi veliko varnostnih uporov. Če ste samozavestni, jih vzemite ven. Če vam primanjkuje uporov, vam priporočam, da vzamete ta komplet, zato je zelo priročno, da imate vedno potrebne upore, ki so jasno označeni.

Če vas vezje sploh prestraši, vas prosimo, da ne obupate. Poskusite ga razdeliti na odseke. Najprej sestavite gumbe, se prepričajte, da delujejo, nato pa pojdite na naslednji senzor. To je nekaj, česar ne morete zgraditi v enem koraku, razen če ste neverjetno nadarjeni.

Na koncu upoštevajte, da Raspberry Pi ni primeren za nobeno resnejšo programsko opremo PWM. Linux ni operacijski sistem v realnem času. To pomeni, da boste imeli rahlo tresenje v servo motorjih. GPIO pin 18 sicer podpira strojno opremo pwm, vendar potrebujemo več kot le 1 pin.

6. korak: Primer

Ovitek
Ovitek
Ovitek
Ovitek
Ovitek
Ovitek

V glavi sem imel načrtovan celoten dizajn, ki ga zaradi trenutne pandemije ni bilo mogoče uresničiti. Seveda je to situacija, ki od vseh zahteva fleksibilnost in tako sem se tudi odzval. Še vedno imam izvirno 3D sceno, ki sem jo naredil, in to bom delil tudi tukaj, če želite ohišje tako sestaviti. V preostalem delu tega članka pa bom razpravljal o tem, kako je bil primer alternativno zgrajen.

Glavna neprijetnost je bila plošča za abs, ki sem jo nameraval namestiti na zgornji del na spodnji del. To je bil popoln material. Estetsko prijeten in zelo praktičen. Tega pa ni bilo mogoče uresničiti, zato sem moral najti alternativo. Ker se nisem mogel spomniti drugega materiala enake trdnosti, ki bi ga lahko upognil na enak način, sem se odločil, da ga zamenjam z lesenim podobnikom. To je onemogočilo zaobljene krivulje, dejansko pa je ustvarilo drugo ravno površino, ki bi jo lahko uporabili za shranjevanje predmetov, kot so izdelki za perilo ali ščipalke. Na koncu sem ga uporabil za shranjevanje druge plošče, kar mi je olajšalo krožno življenje za ta prototip.

Upoštevajte pravokotno luknjo, ki je bila izvrtana zadaj. To omogoča napeljavo kablov na Raspbarry Pi.

Za deske sem obiskal lokalno trgovino z lastnimi rokami. Vedno imajo naokoli nekaj odpadnega lesa in so ga pripravljeni razrezati na koščke za majhno ceno. Skupaj sem plačal 5 €. Hudo Wevelgem, da Louisu to omogoči. Potem je šlo samo za vrtanje lukenj in privijanje vsega na svojem mestu. Podroben pregled, kje rezati in kje vrtati, najdete tukaj.

Pri 3D -tiskanih kosih sem se moral zanašati na ljudi okoli sebe, saj šola zaradi pandemije ni mogla več opravljati te storitve. Prek prijateljevega prijatelja sem stopil v stik z nekom, ki je šele začel graditi svoje podjetje za 3D tiskanje. Bil je dovolj radodaren, da je natisnil moj glavni del. Kakovost je bila precej napačna zaradi napačne konfiguracije tiskalnika. Kupil sem pršilni premaz in mu dal 3 premaze, s čimer sem povrnil celoten videz.

Nosilce senzorja razdalje je naredil drug prijatelj. Natisnil je tudi lopute, ki so bile pritrjene na servo motorje. Sprva sem to poskusil s kartonom, vendar se niso dobro držali. Upoštevajte, da če 3D natisnete te bitove, potrebujete bottom_hatch.stl dvakrat, pa tudi distanceSensorHolder.stl. main_piece.stl in middle_hatch.stl je treba natisniti samo enkrat.

7. korak: Vprašanja?

Če vam kateri del še ni povsem jasen, se obrnite in mi dovolite, da vam pomagam.

Vzpostavite stik po e -pošti na [email protected]

Priporočena: