Sadržaj:
- Korak 1: Materijali
- Korak 2: Raspberry Pi
- Korak 3: Ožičenje
- Korak 4: Baza podataka
- Korak 5: Kodirajte
- Korak 6: Slučaj
Video: EasyTalk: Laka komunikacija i kalendar pored vas: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
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
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
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
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
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
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:
Laka LED svijeća za promjenu boje: 5 koraka (sa slikama)
"Candle" za jednostavno mijenjanje boje LED -a: Ovo je jednostavno svjetlo za promjenu boje koje je odlično za djecu i odrasle. Izgleda prekrasno u slabo osvijetljenoj prostoriji, odlično za praznike i čini prilično hladno noćno svjetlo
"Laka" beskonačna kocka: 14 koraka (sa slikama)
"Laka" Infinity Cube: Beskonačne kocke i ikosaedri su stvari koje su mi uvijek padale u oči. Uvijek se činilo da ih je teško napraviti, zbog relativno složenog okvira. Ova beskonačna kocka, međutim, ima okvir koji se štampa u jednom komadu. Izrada konstrukcije
Laka, jeftina i pristupačna olovka: 4 koraka (sa slikama)
Lak, jeftin i pristupačan olovka: Kapacitivni senzori dodira pojavljuju se u različitim oblicima. Mnogi popularni oblici uključuju zaslone na pametnim telefonima, tabletima i prekidačima. Da biste aktivirali ove zaslone ili prekidače, potrebno je da se provodljivi materijal dovede u neposrednu blizinu. Mnogi koriste svoje
Jednostavna i laka Spider-Man Web-Shooter: 12 koraka
Jednostavan i lagan Spider-Man Web-Shooter: Jeste li gledali Spider-Man film? Spider-Man strip? Ima li nešto neodređeno vezano za Spider-Mana? Spider-Man je naizgled posvuda. Zašto ne napravite jednostavan web-shooter? Nakon malo vježbe, stvorio sam dizajn od kućnog materijala koji se može stvoriti
Mini LED noćno svjetlo / lampa pored kreveta: 5 koraka
Mini LED noćno svjetlo / lampa pored kreveta: Prvo bih trebao reći da je ovo inspirirano Mini samostojećom LED lampom kompanije Sunbanks. Umjesto da koristim biro da držim led od stola, upotrijebio sam jasnu perspektivu za projiciranje svjetla iz baze. Ovaj mali projekt je prototip