Sadržaj:

EasyTalk: Laka komunikacija i kalendar pored vas: 6 koraka
EasyTalk: Laka komunikacija i kalendar pored vas: 6 koraka

Video: EasyTalk: Laka komunikacija i kalendar pored vas: 6 koraka

Video: EasyTalk: Laka komunikacija i kalendar pored vas: 6 koraka
Video: «Цифровая коммуникация». Лекция Ольги Кириченко 2024, Novembar
Anonim
EasyTalk: Laka komunikacija i kalendar pored vas
EasyTalk: Laka komunikacija i kalendar pored vas
EasyTalk: Laka komunikacija i kalendar pored vas
EasyTalk: Laka komunikacija i kalendar pored vas

Moje ime je Kobe Marchal, studiram na Howest -u u Belgiji i student sam Multimedijske i komunikacijske tehnologije (MCT). Za konačni zadatak u prvoj godini morala sam napraviti IoT uređaj.

Kod kuće imamo problem s kojim se moj brat uvijek igra i kad majka treba nešto da mu kaže odozdo, ona mora vikati jer nosi slušalice i ne čuje ništa. Htio sam riješiti ovaj problem za nju pa sam izgradio uređaj na koji možete slati poruke s web stranice. Koristi se i kao kalendar u koji možete pohraniti vlastite događaje ili uvesti vanjski kalendar putem URL -a. Ovaj uređaj također pohranjuje vrijednosti temperature i kvalitete zraka tako da možete vidjeti koliko je zdrav dok se igrate ili radite jer često to ne primjećujete.

Ovaj uređaj se naziva EasyTalk i rješava ovaj problem. To je mali uređaj koji koristi OLED ekran tako da trenutno možete vidjeti svoje događaje, vrijeme ili temperaturu i kvalitetu zraka. Kada se poruka pošalje, primijetiće vas sa zvučnim upozorenjem i prikazuje poruku na ekranu na koju možete odgovoriti sa da ili ne.

Ako želite izgraditi ovu stvar ili želite vidjeti kako je napravljena, toplo vam predlažem da pročitate dalje. Ako želite znati više o meni, možete posjetiti moj portfolio.

Korak 1: Materijali

Materijali
Materijali
Materijali
Materijali
Materijali
Materijali

Prvi korak je prikupiti sav materijal koji će se koristiti u ovom projektu. Biću iskren sa tobom. Ovo nije jeftin uređaj, ukupna cijena je 271 €. Ispod se nalazi njihov popis i neke fotografije za pojašnjenje.

  • Raspberry Pi 4 model B - 4 GB
  • Pibow Coupé 4 - Ninja
  • 12 x Premium traka za spajanje - 40 štapića - M/M - 20 cm
  • 6 x Premium opruga za spajanje - 40 štapića - M/Ž - 20 cm
  • 2 x 36-pinsko zaglavlje za slaganje
  • 40-pinski muški zaglavlje kutije
  • 40 pinova Regenboog GPIO kabel
  • Jednobojni 2.42 "128x64 OLED komplet modula grafičkog ekrana
  • Kleine Metalen zvučnik sa Draadjesom - 8 ohma 0.5W
  • Adafruit Mono 2.5W Class D Audio Versterker
  • 3,5 mm Aux Jack kabel
  • Momentalno dugme sa navojem od 7 mm
  • Tuimelschakelaar
  • PIR Bewegingssensor
  • DS18B20 Digitalni senzor temperature
  • Grove - Lucht kwaliteit senzor v1.3
  • Grove - I2C ADC
  • Raspberry Pi 4 USB-C Voeding
  • Flexibel mini-statief
  • 470 Ohm otpornici
  • 4, 7K Ohm otpornik
  • Termoskupljajuće cijevi
  • 6 x vijci M2 x 6 mm
  • 6 x vijci M2 x 8 mm
  • 3 x vijci M2 x 16 mm
  • Aluminijski okvir 3 mm

Napravio sam i Bill of Materials (BOM) tako da možete vidjeti koliko sam platio za sve materijale i gdje sam ih nabavio.

Korak 2: Raspberry Pi

Za ovaj projekt koristimo Raspberry Pi jer je jednostavan za postavljanje i može se koristiti za mnoge stvari. Savršeno je za ono što želimo raditi.

Preuzmite Raspberry Pi Desktop OS i instalirajte ga na svoj Raspberry Pi. Morate omogućiti SPI, I2C i One Wire u raspi-config. Predlažem da onemogućite neke stvari u opcijama pokretanja kako bi se pokrenulo brže. Osim toga, ja koristim neke biblioteke koje morate instalirati s pipom da bi ovo funkcioniralo.

pip3 instaliraj:

  • adafruit-circuitpython-ssd1305
  • ics
  • Flask
  • Flask-Cors
  • Flask-JWT-Extended
  • mysql-konektor-python

Apache2 vam je potreban i za postavljanje web stranice, ovdje koristimo apt:

sudo apt install apache2 -y

Morate postaviti bežičnu vezu jer ne možete dobiti UTP kabel u Raspberry Pi kad je u kućištu.

Morat ćete postaviti i MariaDB kako biste mogli pristupiti bazi podataka.

Korak 3: Ožičenje

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

Sljedeći korak je povezivanje svega zajedno i provjera rade li sve komponente. Napravio sam PCB za uklanjanje matične ploče i smanjenje ožičenja kako bi uređaj mogao biti manji. To je potrebno jer će stajati pored vašeg monitora i ne može zauzeti puno prostora pa vas ne odvraća od posla.

Korak 4: Baza podataka

Baza podataka
Baza podataka

Ovaj uređaj koristi normaliziranu MySQL bazu podataka za spremanje svih svojih podataka i prikazivanje na web stranici i samom uređaju. Napravio sam ga u MySQL Workbench -u.

U ovoj bazi podataka postoji 5 tablica.

Tablica Activiteiten (= aktivnosti, događaji) koristi se za spremanje svih događaja u kalendaru. Ovo također uključuje sve događaje uvezene iz drugog kalendara.

Aplikacija tablice (= uređaji) koristi se za spremanje različitih vrsta uređaja koji se koriste u tablici Historiek (= povijest). U ovom projektu koriste se dva senzora, senzor temperature i senzor kvalitete zraka, ali imam i treći „uređaj“, samu web stranicu za spremanje poruka poslanih s web stranice na uređaj.

Tablica Gebruikers (= korisnici) pohranjuje korisnike. Mogu se prijaviti sa svojom lozinkom i navesti nadimak koji će se prikazati uz poruku prilikom slanja na uređaj.

Tablica Historiek (= povijest) koristi se za spremanje vrijednosti senzora i poruka poslanih na uređaj.

I na kraju, veze tablice (= URL -ovi) pohranjuju sve URL -ove vanjskog kalendara.

Korak 5: Kodirajte

Kod
Kod
Kod
Kod
Kod
Kod

Preporučujem da napravite novog korisnika jer je to najbolja praksa, ali nije potrebno, možete koristiti i zadanog korisnika pi.

Frontend kod se stavlja u zadanu html fasciklu iz apache2. Ovu fasciklu možete pronaći u/var/www/html.

Za pozadinu morate napraviti fasciklu u svojoj matičnoj fascikli i tamo staviti sav kôd.

Moramo promijeniti i neke vrijednosti u ovom kodu. Prvo idite na app.py. Na liniji 23 postavite naziv jednožičnog osjetnika temperature. Ovo će vjerovatno biti nešto drugačije za vas. Da biste pronašli pravo ime, otvorite terminal i upišite:

ls/sys/bus/w1/devices

i potražite niz koji se sastoji od više različitih brojeva i zamijenite onaj u retku 23.

Druga stvar koju moramo promijeniti je u datoteci config.py, promijenite lozinku baze podataka.

Ako želite da se ovo pokreće pri pokretanju, morate promijeniti i datoteku EasyTalk.service. Samo promijenite WorkingDirectory i User. Morate kopirati ovu datoteku sljedećom naredbom:

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

Zatim ga pokrenite:

sudo systemctl pokrenite EasyTalk.service

A zatim ga omogućite kako bi započeo pri pokretanju

sudo systemctl omogućuje EasyTalk.service

Korak 6: Slučaj

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

Odlučio sam 3D kućište odštampati kako bi ono moglo biti što je moguće manje. Otisak se sastoji od 3 dijela, same kutije, poklopca i držača zvučnika jer nema rupe za uvrtanje vijaka.

Trebat će vam i neke podebljane oznake kako biste sve sjebali.

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

Biću iskren. Trebalo mi je 4-5 sati da napravim ovu stvar. Budući da je tako mali, sve jednostavno pristaje i ponekad je teško uvrnuti podebljano, ali funkcionira ako to radite pažljivo.

Dizajnirao sam i tiskanu ploču za zamjenu matične ploče, prvo morate lemiti zaglavlja i 5 otpornika (4 x 470 Ohm, 1 x 4,7K Ohm).

Kad imate PCB, predlažem da počnete s lemljenjem kabela na sve što se treba spojiti na PCB.

Kada to učinite, pričvrstit ćete OLED zaslon na mjesto i spojiti PCB na njega. Ekran drži PCB. Za to koristite vijke od 6 mm.

Zatim zašrafite senzor kvalitete zraka tamo gdje bi trebao ići, ali to je malo zeznuto jer se ADC povezuje s njim. Da biste to učinili ispravno, tako da se dvije komponente ne dodiruju, koristite vijke od 16 mm s aluminijskim cijevima 3 x 5 mm koje morate rezati. Učinio sam to s dva vijka jer nisam mogao dohvatiti treći. Spojite 4 žice tamo gdje bi trebale ići na PCB.

Zatim spojite audio pojačalo na PCB i postavite zvučnik na mjesto s držačem za 3D ispis.

Nakon ovih koraka, najteži dijelovi su prošli i sve ostalo možete spojiti na PCB i pričvrstiti na mjesto. Imajte na umu da na fotografijama koje vidite koristim drugačiji senzor temperature, za krajnji proizvod sam koristio temperaturni senzor s dugim kabelom koji ističe iz kutije jer je mjerio toplinu iz kutije.

Kad sve ovo bude na svom mjestu, morate pričvrstiti Raspberry Pi. Za ovo koristim kućište jer ne vjerujem toploti koju proizvodi, ovaj kovčeg je tu za zaštitu pa se 3D ispis ne topi. Prije nego što ga pričvrstite na mjesto, morate spojiti kabel za napajanje i pomoćni kabel (koji morate otvoriti i lemiti jednu žicu na, a zatim spojiti s Raspberry Pi -a na PCB) jer nakon toga ne možete doći do njega.

Zatim samo spojite kabel zaglavlja GPIO -a sa PCB -a na Raspberry Pi i provjerite radi li sve prije zatvaranja poklopca.

Na dnu se nalazi otvor na koji možete spojiti stativ, ali to nije obavezno.

To je to! Nadam se da ste uživali čitajući ovaj članak! -Kobe

Preporučuje se: