INHOUDSOPGAWE:

EasyTalk: maklike kommunikasie en 'n kalender langs u: 6 stappe
EasyTalk: maklike kommunikasie en 'n kalender langs u: 6 stappe

Video: EasyTalk: maklike kommunikasie en 'n kalender langs u: 6 stappe

Video: EasyTalk: maklike kommunikasie en 'n kalender langs u: 6 stappe
Video: БОТОКС В ДОМАШНИХ УСЛОВИЯХ С АВОКАДО! Антивозрастной уход за кожей (антивозрастной) 2024, November
Anonim
EasyTalk: maklike kommunikasie en 'n kalender langs u
EasyTalk: maklike kommunikasie en 'n kalender langs u
EasyTalk: maklike kommunikasie en 'n kalender langs u
EasyTalk: maklike kommunikasie en 'n kalender langs u

My naam is Kobe Marchal, ek studeer in Howest, België en ek is 'n student Multimedia en Kommunikasietegnologie (MCT). Vir my laaste opdrag van my eerste jaar moes ek 'n IoT-toestel maak.

Tuis het ons die probleem dat my broer altyd speel, en as my ma vir hom iets van onder af moet vertel, moet sy skree omdat hy 'n koptelefoon dra en niks kan hoor nie. Ek wou hierdie probleem vir haar oplos, en ek bou 'n toestel waarna u boodskappe vanaf 'n webwerf kan stuur. Dit word ook gebruik as 'n kalender waarin u u eie gebeurtenisse kan stoor of 'n eksterne kalender via 'n URL kan invoer. Hierdie toestel stoor ook waardes vir temperatuur en luggehalte, sodat u kan sien hoe gesond dit is as u speel of werk omdat u dit nie gereeld agterkom nie.

Hierdie toestel word EasyTalk genoem en los hierdie probleem op. Dit is 'n klein toestel wat 'n OLED -skerm gebruik, sodat u u gebeure, die tyd of temperatuur en luggehalte op die oomblik kan sien. As 'n boodskap gestuur word, merk dit u op met 'n kennisgewingsgeluid en wys die boodskap op die skerm waar u met ja of nee kan antwoord.

As u hierdie ding wil bou of wil sien hoe dit gemaak word, raai ek u aan om verder te lees. As u meer oor my wil weet, kan u na my portefeulje gaan.

Stap 1: materiaal

Materiaal
Materiaal
Materiaal
Materiaal
Materiaal
Materiaal

Die eerste stap is om al die materiaal bymekaar te maak om in hierdie projek te gebruik. Ek gaan eerlik met jou wees. Dit is nie 'n goedkoop toestel nie; die totale koste beloop € 271. Hieronder is 'n lys daarvan en 'n paar foto's om te verduidelik.

  • Framboos 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-pen stapelkop
  • 40-pen boks kop
  • 40 penne Regenboog GPIO kabel
  • Monochroom 2,42 "128x64 OLED grafiese skermmodule -kit
  • Kleine Metalen Speaker met Draadjes - 8 ohm 0.5W
  • Adafruit Mono 2.5W Klas D Audio Versterker
  • 3,5 mm Aux Jack -kabel
  • 7 mm draad kortstondige drukknop
  • Tuimelschakelaar
  • PIR Bewegingssensor
  • DS18B20 Digitale temperatuur sensor
  • Grove - Luik kwaliteit sensor v1.3
  • Grove - I2C ADC
  • Framboos Pi 4 USB-C Voeding
  • Flexibele mini-statief
  • 470 Ohm weerstande
  • 4, 7K Ohm weerstand
  • Krimpbuis
  • 6 x skroewe M2 x 6 mm
  • 6 x skroewe M2 x 8 mm
  • 3 x skroewe M2 x 16 mm
  • Aluminiumbuis 3 mm

Ek het ook 'n Bill Of Materials (BOM) gemaak, sodat u kan sien hoeveel ek vir al die materiaal betaal het en waar ek dit gekry het.

Stap 2: Framboos Pi

Vir hierdie projek gebruik ons 'n Raspberry Pi, want dit is maklik om op te stel en dit kan vir baie dinge gebruik word. Dit is perfek vir wat ons wil doen.

Laai die Raspberry Pi Desktop OS af en installeer dit op u Raspberry Pi. U moet SPI, I2C en One Wire in die raspi-config aktiveer. Ek stel voor om 'n paar dinge in die opstartopsies ook uit te skakel om dit vinniger te laat opstart. Anders as dit, gebruik ek 'n paar biblioteke wat u met pip moet installeer om dit te laat werk.

pip3 installeer:

  • adafruit-circuitpython-ssd1305
  • ics
  • Fles
  • Fles-Kors
  • Fles-JWT-Uitgebrei
  • mysql-connector-python

U benodig ook apache2 om 'n webwerf op te stel; hier gebruik ons apt:

sudo apt installeer apache2 -y

U moet 'n draadlose verbinding instel, want u kan nie 'n UTP -kabel in die Raspberry Pi kry nie.

U moet ook MariaDB opstel sodat u toegang tot die databasis kan kry.

Stap 3: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading

Die volgende stap is om alles saam te dra en te toets of alle komponente werk. Ek het 'n PCB gemaak om die broodbord te verwyder en die bedrading minder te maak sodat die toestel kleiner kan wees. Dit is nodig omdat dit langs u monitor staan en nie baie ruimte kan inneem nie, sodat dit u nie van u werk aflei nie.

Stap 4: Databasis

Databasis
Databasis

Hierdie toestel maak gebruik van 'n genormaliseerde MySQL -databasis om al sy inligting op te slaan en dit op die webwerf en op die toestel self te wys. Ek het dit in MySQL Workbench geskep.

Daar is 5 tabelle in hierdie databasis.

Table Activiteiten (= aktiwiteite, geleenthede) word gebruik om alle gebeurtenisse in die kalender op te slaan. Dit bevat ook al die geleenthede wat uit 'n ander kalender ingevoer is.

Table Apparaten (= toestelle) word gebruik om die verskillende tipes toestelle wat in tabel Historiek (= geskiedenis) gebruik word, op te slaan. Daar is twee sensors wat in hierdie projek gebruik word, 'n temperatuursensor en 'n luggehalte -sensor, maar ek het ook 'n derde 'toestel', die webwerf self om die boodskappe wat vanaf die webwerf na die toestel gestuur word, te stoor.

Tafelgebruikers (= gebruikers) stoor die gebruikers. Hulle kan met hul wagwoord aanmeld en 'n bynaam spesifiseer wat verskyn met 'n boodskap wanneer hulle na die toestel gestuur word.

Table Historiek (= geskiedenis) word gebruik om die sensorwaardes en boodskappe wat na die toestel gestuur word, te stoor.

En uiteindelik stoor tabelskakels (= URL's) al die eksterne kalender -URL's.

Stap 5: Kode

Kode
Kode
Kode
Kode
Kode
Kode

Ek beveel aan om 'n nuwe gebruiker te maak, aangesien dit die beste praktyk is, maar dit is nie nodig nie; u kan ook die standaard pi -gebruiker gebruik.

Die frontend -kode word in die standaard html -lêergids vanaf apache2 geplaas. U kan hierdie gids vind in/var/www/html.

Vir die backend moet u 'n gids in u tuismap maak en al die kode daarin plaas.

Ons moet ook 'n paar waardes in hierdie kode verander. Gaan eers na app.py. Stel lyn 23 die naam van die eendraad -temperatuursensor in. Dit sal waarskynlik iets anders vir jou wees. Om die regte naam te vind, maak 'n terminale oop en tik in:

ls/sys/bus/w1/toestelle

en soek 'n string wat uit verskillende getalle bestaan en vervang die een op reël 23.

Die ander ding wat ons moet verander, is in die config.py -lêer, verander die wagwoord van die databasis.

As u wil hê dat dit tydens opstart moet begin, moet u ook die EasyTalk.service -lêer verander. Verander net die werkgids en gebruiker. U moet hierdie lêer kopieer met die volgende opdrag:

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

Begin dit dan:

sudo systemctl begin EasyTalk.service

En aktiveer dit dan sodat dit met die opstart kan begin

sudo systemctl aktiveer EasyTalk.service

Stap 6: Saak

Saak
Saak
Saak
Saak
Saak
Saak
Saak
Saak

Ek het besluit om die saak in 3D te druk sodat dit so klein as moontlik kan wees. Die afdruk bestaan uit 3 dele, die boks self, 'n deksel en 'n luidsprekerhouer omdat dit nie gate het om boute in te skroef nie.

U benodig ook vetdruk om alles aanmekaar te skroef.

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

Ek sal wel eerlik wees. Dit het my 4-5 uur geneem om hierdie ding te bou. Omdat dit so klein is, pas alles net by en is dit soms moeilik om die vetdruk in te skroef, maar dit werk as u dit versigtig doen.

Ek het ook 'n PCB ontwerp om die broodbord te vervang; u moet eers die koppe en 5 weerstande (4 x 470 Ohm, 1 x 4.7K Ohm) soldeer.

As u die PCB het, stel ek voor om met soldeerkabels te begin na alles wat met die PCB verbind moet word.

As dit klaar is, gaan u die OLED -skerm op sy plek vasskroef en die printplaat daaraan koppel. Die skerm bevat die PCB. Hiervoor gebruik u 6 mm skroewe.

Dan skroef u die lugkwaliteitssensor vas waarheen dit veronderstel is om te gaan, maar dit is 'n bietjie lastig omdat die ADC daarby aansluit. Om dit reg te doen sodat die twee komponente nie aan mekaar raak nie, gebruik u 16 mm skroewe met 3 x 5 mm aluminium buise wat u moet saag. Ek het dit met twee skroewe gedoen omdat ek nie die derde een kon bereik nie. U verbind die 4 drade waar hulle veronderstel is om op die PCB te gaan.

Koppel dan die klankversterker aan die PCB en plaas die luidspreker met die 3D -gedrukte houer.

Na hierdie stappe is die moeilikste dele verby, en u kan al die ander aan die printplaat koppel en dit vasskroef. Let daarop dat ek op die foto's 'n ander temperatuursensor gebruik; vir die finale produk het ek die temperatuursensor gebruik met 'n lang kabel wat uit die boks loop, omdat dit die hitte van binne in die boks gemeet het.

As al hierdie dinge in plek is, moet u die Raspberry Pi inskroef. Ek gebruik die omhulsel hiervoor, want ek vertrou nie die hitte wat dit produseer nie, hierdie saak is daar vir beskerming, sodat die 3D -afdruk nie smelt nie. Voordat u dit op sy plek vasskroef, moet u die kragkabel en die aux -kabel aansluit (waarna u een draad moet oopmaak en soldeer en dan van Raspberry Pi na die PCB kan koppel), want u kan dit nie bereik nie.

Koppel dan net die GPIO -kopkabel van die PCB aan die Raspberry Pi en toets of alles werk voordat die deksel toegemaak word.

Aan die onderkant is 'n gat waar u 'n driepoot kan koppel, maar dit is opsioneel.

Dis dit! Ek hoop dat u hierdie artikel geniet het! -Kobe

Aanbeveel: