Innholdsfortegnelse:

EasyTalk: Enkel kommunikasjon og en kalender ved siden av deg: 6 trinn
EasyTalk: Enkel kommunikasjon og en kalender ved siden av deg: 6 trinn

Video: EasyTalk: Enkel kommunikasjon og en kalender ved siden av deg: 6 trinn

Video: EasyTalk: Enkel kommunikasjon og en kalender ved siden av deg: 6 trinn
Video: #shorts Mental Fact #easytalk 2024, Desember
Anonim
EasyTalk: Enkel kommunikasjon og en kalender ved siden av deg
EasyTalk: Enkel kommunikasjon og en kalender ved siden av deg
EasyTalk: Enkel kommunikasjon og en kalender ved siden av deg
EasyTalk: Enkel kommunikasjon og en kalender ved siden av deg

Mitt navn er Kobe Marchal, jeg studerer i Howest, Belgia og er student Multimedia and Communication Technology (MCT). For min siste oppgave det første året måtte jeg lage en IoT-enhet.

Hjemme har vi dette problemet at broren min alltid spiller, og når mor trenger å fortelle ham noe nedenunder, må hun rope fordi han bruker hodetelefoner og ikke hører noe. Jeg ønsket å løse dette problemet for henne, så jeg bygger en enhet hvor du kan sende meldinger fra et nettsted. Den brukes også som en kalender hvor du kan lagre dine egne hendelser i eller importere en ekstern kalender over en URL. Denne enheten lagrer også temperatur- og luftkvalitetsverdier, slik at du kan se hvor sunt det er når du spiller eller jobber fordi du ofte ikke legger merke til det.

Denne enheten kalles EasyTalk og løser dette problemet. Det er en liten enhet som bruker en OLED -skjerm, slik at du kan se hendelsene dine, tiden eller temperaturen og luftkvaliteten akkurat nå. Når en melding sendes, merker den deg med en varslingslyd og viser meldingen på skjermen hvor du kan svare med ja eller nei.

Hvis du vil bygge denne tingen, eller du vil se hvordan den er laget, foreslår jeg på det sterkeste å lese videre. Hvis du vil vite mer om meg, kan du gå til porteføljen min.

Trinn 1: Materialer

Materialer
Materialer
Materialer
Materialer
Materialer
Materialer

Det første trinnet er å samle alt materialet som skal brukes i dette prosjektet. Jeg skal være ærlig med deg. Dette er ikke en billig enhet, den totale kostnaden er € 271. Nedenfor er en liste over dem og noen bilder for å klargjøre.

  • Raspberry Pi 4 Model B - 4 GB
  • Pibow Coupé 4 - Ninja
  • 12 x Premium Jumperwires op strip - 40 stuks - M/M - 20cm
  • 6 x Premium Jumperwires op strip - 40 stuks - M/F - 20cm
  • 2 x 36-pinners stablingsoverskrift
  • 40-pinners hannboks
  • 40 pins Regenboog GPIO kabel
  • Monokrom 2,42 "128x64 OLED grafisk skjermmodulsett
  • Kleine Metalen Høyttaler med Draadjes - 8 ohm 0,5W
  • Adafruit Mono 2.5W Class D Audio Versterker
  • 3,5 mm Aux Jack -kabel
  • 7 mm tråd kort trykknapp
  • Tuimelschakelaar
  • PIR Bewegingssensor
  • DS18B20 Digital temperatur sensor
  • Grove - Luktkvalitetssensor v1.3
  • Grove - I2C ADC
  • Raspberry Pi 4 USB-C Voeding
  • Fleksibel mini-statief
  • 470 Ohm motstander
  • 4, 7K Ohm motstand
  • Krympeslange
  • 6 x skruer M2 x 6 mm
  • 6 x skruer M2 x 8 mm
  • 3 x skruer M2 x 16 mm
  • Aluminiumbuis 3 mm

Jeg lagde også en Bill Of Materials (BOM) slik at du kan se hvor mye jeg betalte for alt materialet og hvor jeg fikk det.

Trinn 2: Bringebær Pi

For dette prosjektet bruker vi en Raspberry Pi fordi den er enkel å sette opp og den kan brukes til mange ting. Det er perfekt for det vi ønsker å gjøre.

Last ned Raspberry Pi Desktop OS og installer det på Raspberry Pi. Du må aktivere SPI, I2C og One Wire i raspi-config. Jeg foreslår at du også deaktiverer noen ting i oppstartsalternativene for å få det til å starte opp raskere. Annet enn det bruker jeg noen biblioteker som du må installere med pip for å få dette til å fungere.

pip3 installere:

  • adafruit-circuitpython-ssd1305
  • ics
  • Kolbe
  • Flask-Cors
  • Kolbe-JWT-utvidet
  • mysql-connector-python

Du trenger også apache2 for å sette opp et nettsted, her bruker vi apt:

sudo apt installere apache2 -y

Du må sette opp en trådløs tilkobling fordi du ikke kan få en UTP -kabel i Raspberry Pi når den er i etui.

Du må også konfigurere MariaDB, slik at du får tilgang til databasen.

Trinn 3: Kabling

Kabling
Kabling
Kabling
Kabling

Det neste trinnet er å koble alt sammen og teste om alle komponentene fungerer. Jeg opprettet en PCB for å fjerne brødbrettet og gjøre ledningene mindre, slik at enheten kan bli mindre. Dette er nødvendig fordi det vil stå ved siden av skjermen og ikke kan ta mye plass, slik at det ikke distraherer deg fra arbeidet ditt.

Trinn 4: Database

Database
Database

Denne enheten bruker en normalisert MySQL -database for å lagre all informasjonen i og vise dette på nettstedet og selve enheten. Jeg opprettet den i MySQL Workbench.

Det er 5 tabeller i denne databasen.

Tabellaktiviteter (= aktiviteter, hendelser) brukes til å lagre alle hendelser i kalenderen. Dette inkluderer også alle hendelsene som er importert fra en annen kalender.

Table Apparaten (= enheter) brukes til å lagre de forskjellige enhetstypene som brukes i tabell Historiek (= historikk). Det er to sensorer som brukes i dette prosjektet, en temperatursensor og en luftkvalitetssensor, men jeg har også en tredje "enhet", selve nettstedet for å lagre meldingene som sendes fra nettstedet til enheten.

Tabellbrukere (= brukere) lagrer brukerne. De kan logge på med passordet sitt og angi et kallenavn som vises med en melding når de sendes til enheten.

Table Historiek (= historikk) brukes til å lagre sensorverdiene og meldingene som sendes til enheten.

Og til slutt lagrer tabelllenker (= URL -er) alle eksterne kalender -URL -er.

Trinn 5: Kode

Kode
Kode
Kode
Kode
Kode
Kode

Jeg anbefaler å opprette en ny bruker ettersom det er beste praksis, men det er ikke nødvendig, du kan også bruke standard pi -brukeren.

Frontend -koden legges i standard html -mappe fra apache2. Du finner denne mappen i/var/www/html.

For backend må du lage en mappe i hjemmemappen og sette all koden der.

Vi må også endre noen verdier i denne koden. Gå først til app.py. På linje 23 angir du navnet på entråds temperatursensoren. Dette vil sannsynligvis være noe annerledes for deg. For å finne det riktige navnet, åpner du en terminal og skriver inn:

ls/sys/buss/w1/enheter

og se etter en streng som består av flere forskjellige tall og erstatt den på linje 23.

Den andre tingen vi må endre er i config.py -filen, endre passordet til databasen.

Hvis du vil at dette skal kjøre ved oppstart, må du også endre filen EasyTalk.service. Bare endre arbeidsmappen og brukeren. Du må kopiere denne filen med den neste kommandoen:

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

Kjør den deretter:

sudo systemctl starter EasyTalk.service

Og så aktiver den slik at den starter ved oppstart

sudo systemctl aktiver EasyTalk.service

Trinn 6: Case

Sak
Sak
Sak
Sak
Sak
Sak
Sak
Sak

Jeg bestemte meg for å skrive ut saken på 3D slik at den kan være så liten som mulig. Trykket består av 3 deler, selve esken, et lokk og en høyttalerholder fordi dette ikke har hull å skru inn bolter i.

Du trenger også noen fet skrift for å skru alt sammen.

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

Jeg vil være ærlig skjønt. Det tok meg 4-5 timer å bygge denne tingen. Fordi det er så lite, passer alt bare, og det er vanskelig å skru inn fet skrift noen ganger, men det fungerer hvis du gjør det forsiktig.

Jeg designet også en PCB for å erstatte brødbrettet. Du må først lodde toppene og 5 motstander (4 x 470 Ohm, 1 x 4,7K Ohm).

Når du har kretskortet, foreslår jeg å begynne med loddekabler til alt som skal kobles til kretskortet.

Når dette er gjort, skal du skru på OLED -skjermen på plass og koble PCB -en til den. Skjermen inneholder PCB. Du bruker 6 mm skruer til dette.

Deretter skruer du luftkvalitetssensoren dit den skal gå, men dette er litt vanskelig fordi ADC kobles til den. For å gjøre dette riktig slik at de to komponentene ikke berører hverandre, bruker du 16 mm skruer med 3 x 5 mm aluminiumsrør som du må sage. Jeg gjorde dette med to skruer fordi jeg ikke kunne nå den tredje. Du kobler de 4 ledningene der de skal gå på kretskortet.

Deretter kobler du lydforsterkeren til PCB og setter høyttaleren på plass med 3D -trykt holder.

Etter disse trinnene er de vanskeligste delene over, og du kan koble alt annet til kretskortet og skru det på plass. Legg merke til at på bildene du ser bruker jeg en annen temperatursensor, for sluttproduktet brukte jeg temperatursensoren med en lang kabel som løper ut av esken fordi den målte varmen fra esken.

Når alle disse er på plass, må du skru Raspberry Pi inn. Jeg bruker saken til dette fordi jeg ikke stoler på varmen den produserer, denne saken er der for å beskytte så 3D -utskriften ikke smelter. Før du skrur den på plass, må du koble til strømkabelen og aux -kabelen (som du må åpne og lodde en ledning til og deretter koble fra Raspberry Pi til PCB) fordi du ikke kan nå den etterpå.

Deretter er det bare å koble GPIO -topptekabelen fra kretskortet til Raspberry Pi og teste om alt fungerer før du lukker lokket.

På bunnen er det et hull hvor du kan koble til et stativ, men dette er valgfritt.

Det er det! Jeg håper du likte å lese denne artikkelen! -Kobe

Anbefalt: