Kazalo:

EasyTalk: Enostavna komunikacija in koledar poleg vas: 6 korakov
EasyTalk: Enostavna komunikacija in koledar poleg vas: 6 korakov

Video: EasyTalk: Enostavna komunikacija in koledar poleg vas: 6 korakov

Video: EasyTalk: Enostavna komunikacija in koledar poleg vas: 6 korakov
Video: Z enostavno komunikacijo, jasnimi navodili in cilji do rezultatov 2024, November
Anonim
EasyTalk: Enostavna komunikacija in koledar poleg vas
EasyTalk: Enostavna komunikacija in koledar poleg vas
EasyTalk: Enostavna komunikacija in koledar poleg vas
EasyTalk: Enostavna komunikacija in koledar poleg vas

Moje ime je Kobe Marchal, študiram na Howestu v Belgiji in sem študentka multimedijske in komunikacijske tehnologije (MCT). Za zadnjo nalogo v prvem letu sem moral narediti IoT-napravo.

Doma imamo problem, da se moj brat vedno igra in ko mu mora mama nekaj povedati od spodaj, mora kričati, ker nosi slušalke in nič ne sliši. To težavo sem želel rešiti zanjo, zato sem zgradil napravo, na katero lahko pošiljate sporočila s spletnega mesta. Uporablja se tudi kot koledar, kamor lahko shranite svoje dogodke ali uvozite zunanji koledar prek URL -ja. Ta naprava shranjuje tudi vrednosti temperature in kakovosti zraka, tako da lahko vidite, kako zdrav je, ko igrate igre ali delate, ker tega pogosto ne opazite.

Ta naprava se imenuje EasyTalk in rešuje to težavo. To je majhna naprava, ki uporablja zaslon OLED, tako da si lahko trenutno ogledate svoje dogodke, čas ali temperaturo in kakovost zraka. Ko je sporočilo poslano, vas opazi z zvokom obvestila in prikaže sporočilo na zaslonu, kjer lahko odgovorite z da ali ne.

Če želite to stvar zgraditi ali želite videti, kako je narejena, toplo priporočam, da nadaljujete. Če želite izvedeti več o meni, pojdite v moj portfelj.

1. korak: Materiali

Materiali
Materiali
Materiali
Materiali
Materiali
Materiali

Prvi korak je zbrati vse materiale za uporabo pri tem projektu. Iskrena bom s tabo. To ni poceni naprava, skupni stroški znašajo 271 €. Spodaj je njihov seznam in nekaj fotografij za pojasnitev.

  • Raspberry Pi 4 Model B - 4 GB
  • Pibow Coupé 4 - Ninja
  • 12 x vrhunski oprijem - 40 palic - M/M - 20 cm
  • 6 x vrhunski oprijem - 40 palic - M/Ž - 20 cm
  • 2 x 36-polna zložljiva glava
  • 40-polna moška glava škatle
  • 40 zatičev Regenboog GPIO kabel
  • Enobarvni 2.42 "128x64 OLED komplet grafičnih modulov zaslona
  • Kleine Metalen zvočnik z Draadjesom - 8 ohm 0,5W
  • Adafruit Mono 2,5 W razred D avdio različica
  • 3,5 mm Aux Jack kabel
  • 7 mm navojni trenutni gumb
  • Tuimelschakelaar
  • PIR Bewegingssensor
  • Digitalni temperaturni senzor DS18B20
  • Grove - Lucht kwaliteit sensor v1.3
  • Grove - I2C ADC
  • Raspberry Pi 4 USB-C Voeding
  • Flexibel mini-statief
  • 470 ohmski upori
  • 4, 7K ohmski upor
  • Termoskrčljive cevi
  • 6 x vijaki M2 x 6 mm
  • 6 x vijaki M2 x 8 mm
  • 3 x vijaki M2 x 16 mm
  • Aluminij 3 mm

Naredil sem tudi Bill of Materials (BOM), tako da lahko vidite, koliko sem plačal za vse materiale in kje sem jih dobil.

2. korak: Raspberry Pi

Za ta projekt uporabljamo Raspberry Pi, ker ga je enostavno nastaviti in ga je mogoče uporabiti za veliko stvari. Idealen je za to, kar želimo početi.

Prenesite namizni OS Raspberry Pi in ga namestite na svoj Raspberry Pi. V raspi-config morate omogočiti SPI, I2C in One Wire. Predlagam, da nekatere možnosti onemogočite tudi v možnostih zagona, da bi se zagon hitreje zagnal. Razen tega uporabljam nekatere knjižnice, ki jih morate namestiti s pipom, da to deluje.

pip3 namestitev:

  • adafruit-circuitpython-ssd1305
  • ics
  • Bučka
  • Bučke
  • Flask-JWT-Extended
  • mysql-priključek-python

Za nastavitev spletnega mesta potrebujete tudi apache2, tukaj uporabljamo apt:

sudo apt namestite apache2 -y

Morate nastaviti brezžično povezavo, ker ne morete dobiti kabla UTP v Raspberry Pi, ko je v ohišju.

Za dostop do baze podatkov boste morali nastaviti tudi MariaDB.

3. korak: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje

Naslednji korak je, da vse povežete skupaj in preizkusite, ali vse komponente delujejo. Ustvaril sem tiskano vezje, s katerim sem odstranil ploščo in ožičenje zmanjšal, da je naprava lahko manjša. To je potrebno, ker bo stalo poleg vašega monitorja in ne bo zavzelo veliko prostora, da vas ne moti pri delu.

4. korak: zbirka podatkov

Baza podatkov
Baza podatkov

Ta naprava uporablja normalizirano bazo podatkov MySQL za shranjevanje vseh svojih podatkov in to prikaže na spletnem mestu in sami napravi. Ustvaril sem ga v MySQL Workbench.

V tej bazi je 5 tabel.

Tabela Activiteiten (= dejavnosti, dogodki) se uporablja za shranjevanje vseh dogodkov v koledarju. To vključuje tudi vse dogodke, uvožene iz drugega koledarja.

Tabela Apparaten (= naprave) se uporablja za shranjevanje različnih vrst naprav, ki se uporabljajo v tabeli Historiek (= zgodovina). V tem projektu se uporabljata dva senzorja, temperaturni senzor in senzor kakovosti zraka, imam pa tudi tretjo "napravo", spletno mesto samo za shranjevanje sporočil, poslanih s spletnega mesta na napravo.

Tabela Gebruikers (= uporabniki) shranjuje uporabnike. Lahko se prijavijo s svojim geslom in določijo vzdevek, ki se prikaže, ko se pošlje v napravo.

Tabela Historiek (= zgodovina) se uporablja za shranjevanje vrednosti senzorjev in sporočil, poslanih v napravo.

In končno, povezave tabele (= URL -ji) shranijo vse zunanje URL -je koledarja.

5. korak: Koda

Koda
Koda
Koda
Koda
Koda
Koda

Priporočam, da naredite novega uporabnika, saj je to najboljša praksa, ni pa nujno, lahko uporabite tudi privzetega uporabnika pi.

Koda vmesnika je postavljena v privzeto mapo html iz apache2. To mapo najdete v/var/www/html.

Za zaledje morate narediti mapo v domači mapi in vanjo vstaviti vso kodo.

Tudi v tej kodi moramo spremeniti nekatere vrednosti. Najprej pojdite na app.py. V vrstici 23 nastavite ime senzorja temperature za eno žico. Verjetno bo to za vas nekaj drugačnega. Če želite poiskati pravo ime, odprite terminal in vnesite:

ls/sys/bus/w1/devices

in poiščite niz, ki je sestavljen iz več različnih številk, in zamenjajte tistega v vrstici 23.

Druga stvar, ki jo moramo spremeniti, je v datoteki config.py, spremenite geslo baze podatkov.

Če želite, da se to zažene ob zagonu, morate spremeniti tudi datoteko EasyTalk.service. Samo spremenite WorkingDirectory in User. To datoteko morate kopirati z naslednjim ukazom:

sudo cp EasyTalk.service/etc/systemd/system/EasyTalk.service

Nato ga zaženite:

sudo systemctl zaženite EasyTalk.service

Nato ga omogočite, da se bo zagnal ob zagonu

sudo systemctl omogoči storitev EasyTalk.service

6. korak: Primer

Ovitek
Ovitek
Ovitek
Ovitek
Ovitek
Ovitek
Ovitek
Ovitek

Odločil sem se, da bom ohišje 3D natisnil, da bo čim manjše. Tisk je sestavljen iz treh delov, same škatle, pokrova in držala za zvočnike, ker nima lukenj za privijanje vijakov.

Potrebovali boste tudi nekaj krepkosti, da vse skupaj zavrtite.

  • 6 x vijaki M2 x 6 mm
  • 6 x vijaki M2 x 8 mm
  • 3 x vijaki M2 x 16 mm

Bom pa iskren. Za izdelavo te stvari sem porabil 4-5 ur. Ker je tako majhen, se vse prilega in je včasih težko priviti krepko, vendar deluje, če to storite previdno.

Oblikoval sem tudi tiskano vezje za zamenjavo plošče, najprej morate spajkati glave in 5 uporov (4 x 470 Ohm, 1 x 4,7K Ohm).

Ko imate tiskano vezje, predlagam, da začnete s spajkanjem kablov na vse, kar naj bi se povezalo s tiskanim vezjem.

Ko to storite, boste priklopili zaslon OLED na mesto in nanj priključili tiskano vezje. Zaslon drži tiskano vezje. Za to uporabite 6 mm vijake.

Nato privijte senzor kakovosti zraka, kamor naj bi šel, vendar je to nekoliko težavno, ker se ADC poveže z njim. Če želite, da se obe komponenti ne dotikata, uporabite 16 mm vijake z aluminijastimi cevmi 3 x 5 mm, ki jih morate žagati. To sem naredil z dvema vijakoma, ker tretjega nisem mogel doseči. Priključite 4 žice, kamor naj bi šle na tiskano vezje.

Nato zvočni ojačevalnik priključite na tiskano vezje in zvočnik namestite z držalom za 3D tiskanje.

Po teh korakih je najtežjih delov konec in vse ostalo lahko priključite na tiskano vezje in ga privijete na svoje mesto. Upoštevajte, da na fotografijah, ki jih vidite, uporabljam drugačen temperaturni senzor, za končni izdelek sem uporabil temperaturni senzor z dolgim kablom, ki teče iz škatle, ker je meril toploto iz škatle.

Ko so vsi ti na svojem mestu, morate priviti Raspberry Pi. Za to uporabljam ohišje, ker ne zaupam toploti, ki jo proizvaja, ta kovček je namenjen zaščiti, tako da se 3D -tisk ne stopi. Preden ga privijete na svoje mesto, morate priključiti napajalni kabel in pomožni kabel (ki ga morate odpreti in spajati eno žico in nato povezati z Raspberry Pi na tiskano vezje), ker po njem ne morete doseči.

Nato samo priključite kabel glave GPIO iz tiskanega vezja na Raspberry Pi in preizkusite, če vse deluje, preden zaprete pokrov.

Na dnu je luknja, kamor lahko priključite stativ, vendar to ni obvezno.

To je to! Upam, da ste uživali v branju tega članka! -Kobe

Priporočena: