Indholdsfortegnelse:
- Trin 1: Materialer
- Trin 2: Hindbær Pi
- Trin 3: Ledningsføring
- Trin 4: Database
- Trin 5: Kode
- Trin 6: Case
Video: EasyTalk: Nem kommunikation og en kalender ved siden af dig: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Mit navn er Kobe Marchal, jeg studerer i Howest, Belgien, og jeg er studerende Multimedia and Communication Technology (MCT). Til min sidste opgave på mit første år måtte jeg lave en IoT-enhed.
Herhjemme har vi dette problem, at min bror altid spiller, og når min mor skal fortælle ham noget nedenunder, skal hun råbe, fordi han bærer hovedtelefoner og ikke kan høre noget. Jeg ville løse dette problem for hende, så jeg bygger en enhed, hvor du kan sende beskeder til fra et websted. Det bruges også som en kalender, hvor du kan gemme dine egne begivenheder i eller importere en ekstern kalender over en webadresse. Denne enhed gemmer også temperatur- og luftkvalitetsværdier, så du kan se, hvor sundt det er, når du spiller eller arbejder, fordi du ofte ikke lægger mærke til det.
Denne enhed kaldes EasyTalk og løser dette problem. Det er en lille enhed, der bruger en OLED -skærm, så du kan se dine begivenheder, tidspunktet eller temperaturen og luftkvaliteten lige nu. Når en besked sendes, bemærker den dig med en meddelelseslyd og viser beskeden på skærmen, hvor du kan svare med ja eller nej.
Hvis du vil bygge denne ting, eller du vil se, hvordan den er lavet, foreslår jeg stærkt at læse videre. Hvis du vil vide mere om mig, kan du gå til min portefølje.
Trin 1: Materialer
Det første trin er at samle alt det materiale, der skal bruges i dette projekt. Jeg vil være ærlig over for dig. Dette er ikke en billig enhed, den samlede pris er € 271. Nedenfor er en liste over dem og nogle fotos for at præcisere.
- 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-pins stabelhoved
- 40-benet hanhoved
- 40 ben Regenboog GPIO kabel
- Monokrom 2,42 "128x64 OLED grafisk display modul kit
- Kleine Metalen Højttaler med Draadjes - 8 ohm 0,5W
- Adafruit Mono 2.5W klasse D Audio Versterker
- 3,5 mm Aux Jack kabel
- 7 mm tråd momentan trykknap
- Tuimelschakelaar
- PIR Bewegingssensor
- DS18B20 Digital temperatur sensor
- Grove - Luftkvalitetssensor v1.3
- Grove - I2C ADC
- Raspberry Pi 4 USB-C Voeding
- Fleksibel mini-statief
- 470 Ohm modstande
- 4, 7K Ohm modstand
- 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 lavede også en Bill Of Materials (BOM), så du kan se, hvor meget jeg betalte for alle materialer, og hvor jeg fik dem.
Trin 2: Hindbær Pi
Til dette projekt bruger vi en Raspberry Pi, fordi den er let at konfigurere, og den kan bruges til mange ting. Det er perfekt til det, vi gerne vil gøre.
Download Raspberry Pi Desktop OS og installer det på din Raspberry Pi. Du skal aktivere SPI, I2C og One Wire i raspi-config. Jeg foreslår også at deaktivere nogle ting i Boot Options for at få det til at starte hurtigere. Bortset fra det bruger jeg nogle biblioteker, som du skal installere med pip for at få dette til at fungere.
pip3 installation:
- adafruit-circuitpython-ssd1305
- ics
- Kolbe
- Kolbe-Cors
- Kolbe-JWT-udvidet
- mysql-connector-python
Du har også brug for apache2 for at oprette et websted, her bruger vi apt:
sudo apt installere apache2 -y
Du skal oprette en trådløs forbindelse, fordi du ikke kan få et UTP -kabel i Raspberry Pi, når det er i etuiet.
Du skal også konfigurere MariaDB, så du kan få adgang til databasen.
Trin 3: Ledningsføring
Det næste trin er at koble alt sammen og teste, om alle komponenter fungerer. Jeg lavede et printkort til at fjerne brødbrættet og gøre ledningerne mindre, så enheden kan være mindre. Dette er nødvendigt, fordi det vil stå ved siden af din skærm og ikke kan tage meget plads, så det ikke distraherer dig fra dit arbejde.
Trin 4: Database
Denne enhed anvender en normaliseret MySQL -database til at gemme alle dens oplysninger i og vise dette på webstedet og selve enheden. Jeg oprettede det i MySQL Workbench.
Der er 5 tabeller i denne database.
Table Activiteiten (= aktiviteter, begivenheder) bruges til at gemme alle begivenheder i kalenderen. Dette inkluderer også alle de begivenheder, der er importeret fra en anden kalender.
Table Apparaten (= enheder) bruges til at gemme de forskellige typer enheder, der bruges i tabel Historiek (= historik). Der er to sensorer, der bruges i dette projekt, en temperatursensor og en luftkvalitetssensor, men jeg har også en tredje "enhed", selve webstedet til at gemme de meddelelser, der sendes fra webstedet til enheden.
Table Gebruikers (= brugere) gemmer brugerne. De kan logge ind med deres adgangskode og angive et kaldenavn, der vises med en besked, når de sendes til enheden.
Table Historiek (= historik) bruges til at gemme sensorværdier og meddelelser, der sendes til enheden.
Og til sidst gemmer tabellinks (= URL’er) alle de eksterne kalender -URL’er.
Trin 5: Kode
Jeg anbefaler at oprette en ny bruger, da det er bedste praksis, men det er ikke nødvendigt, du kan også bruge standard pi -brugeren.
Frontend -koden sættes i standard html -mappen fra apache2. Du kan finde denne mappe i/var/www/html.
Til backend skal du oprette en mappe i din hjemmemappe og lægge al koden der.
Vi skal også ændre nogle værdier i denne kode. Gå først til app.py. På linje 23 skal du indstille navnet på entråds temperatursensoren. Dette vil sandsynligvis være noget andet for dig. For at finde det rigtige navn skal du åbne en terminal og indtaste:
ls/sys/bus/w1/enheder
og kig efter en streng, der består af flere forskellige tal, og erstat den på linje 23.
Den anden ting, vi skal ændre, er i filen config.py, skift adgangskoden til databasen.
Hvis du vil have dette til at køre ved opstart, skal du også ændre filen EasyTalk.service. Du skal bare ændre arbejdsmappen og brugeren. Du skal kopiere denne fil med den næste kommando:
sudo cp EasyTalk.service/etc/systemd/system/EasyTalk.service
Kør det derefter:
sudo systemctl start EasyTalk.service
Og aktiver derefter det, så det starter ved opstart
sudo systemctl aktiver EasyTalk.service
Trin 6: Case
Jeg besluttede at 3D -udskrive sagen, så den kan være så lille som muligt. Trykket består af 3 dele, selve kassen, et låg og en højttalerholder, fordi dette ikke har huller til at skrue bolte i.
Du skal også bruge nogle fed til at skrue 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 dog være ærlig. Det tog mig 4-5 timer at bygge denne ting. Fordi det er så lille, passer alt bare, og det er svært at skrue fedt ind nogle gange, men det virker, hvis du gør det omhyggeligt.
Jeg har også designet et printkort til at udskifte brødbrættet, du skal først lodde overskrifterne og 5 modstande (4 x 470 Ohm, 1 x 4,7K Ohm).
Når du har printkortet, foreslår jeg at starte med loddekabler til alt, hvad der skal tilsluttes printkortet.
Når dette er gjort, skal du skrue OLED -displayet på plads og slutte printkortet til det. Displayet indeholder printkortet. Du bruger 6 mm skruer til dette.
Derefter skruer du luftkvalitetssensoren ned, hvor den skal gå, men det er lidt svært, fordi ADC'en opretter forbindelse til den. For at gøre dette ordentligt, så de to komponenter ikke rører hinanden, bruger du 16 mm skruer med 3 x 5 mm aluminiumsrør, som du skal save. Jeg gjorde dette med to skruer, fordi jeg ikke kunne nå den tredje. Du forbinder de 4 ledninger, hvor de skal gå på printkortet.
Derefter slutter du lydforstærkeren til printkortet og sætter højttaleren på plads med 3D -printet holder.
Efter disse trin er de sværeste dele forbi, og du kan slutte alt andet til printet og skrue det på plads. Bemærk, at på de fotos, du ser, bruger jeg en anden temperatursensor, til det endelige produkt brugte jeg temperatursensoren med et langt kabel, der løber ud af kassen, fordi den målte varmen inde i boksen.
Når alle disse er på plads, skal du skrue Raspberry Pi i. Jeg bruger sagen til dette, fordi jeg ikke stoler på den varme, den producerer, denne sag er der til beskyttelse, så 3D -printet ikke smelter. Inden du skruer den på plads, skal du tilslutte strømkablet og aux -kablet (som du skal åbne op og lodde en ledning til og derefter tilslutte fra Raspberry Pi til PCB), fordi du ikke kan nå det efter.
Tilslut derefter bare GPIO -headerkablet fra printkortet til Raspberry Pi og test, om alt virker, før låget lukkes.
I bunden er der et hul, hvor du kan tilslutte et stativ, men dette er valgfrit.
Det er det! Jeg håber du nød at læse denne artikel! -Kobe
Anbefalede:
Trådløs kommunikation ved hjælp af NRF24L01 -transceivermodul til Arduino -baserede projekter: 5 trin (med billeder)
Trådløs kommunikation ved hjælp af NRF24L01 Transceiver-modul til Arduino-baserede projekter: Dette er min anden instruerbare vejledning om robotter og mikro-controllere. Det er virkelig fantastisk at se din robot i live og fungere som forventet, og tro mig, det vil være sjovere, hvis du styrer din robot eller andre ting trådløst med hurtig og
Trådløs kommunikation ved hjælp af billige 433MHz RF -moduler og Pic -mikrokontroller. Del 2: 4 trin (med billeder)
Trådløs kommunikation ved hjælp af billige 433MHz RF -moduler og Pic -mikrokontroller. Del 2: På den første del af denne instruktive demonstrerede jeg, hvordan man programmerer en PIC12F1822 ved hjælp af MPLAB IDE og XC8 -compiler, til at sende en simpel streng trådløst ved hjælp af billige TX/RX 433MHz -moduler. Modtagermodulet blev forbundet via en USB til UART TTL kabelannonce
Trådløs seriel kommunikation ved hjælp af Bluefruit: 4 trin
Trådløs seriel kommunikation ved hjælp af Bluefruit: Her er en simpel trin for trin guide til at udskifte dine ledninger med en bluetooth lavenergiforbindelse: Det tog mig et stykke tid at finde ud af dette, fordi der næsten ikke er dokumentation for at gøre dette med moderne bluetooth lavenergiteknologi, f.eks. som Bluefrui
Web-baseret SmartMirror ved hjælp af seriel kommunikation: 6 trin
Web-baseret SmartMirror ved hjælp af seriel kommunikation: Denne instruktør leveres med al koden klar til brug. Udviklingen var meget kompliceret, men når den er konfigureret, er den virkelig let at tilpasse. Tag et kig og nyd den;)
Foreløbig* SPI på Pi: Kommunikation med et SPI 3-akset accelerometer ved hjælp af en Raspberry Pi: 10 trin
Preliminær* SPI på Pi: Kommunikation med et SPI 3-akset accelerometer Brug af en Raspberry Pi: Trin for trin guide til, hvordan du konfigurerer Raspbian og kommunikerer med en SPI-enhed ved hjælp af bcm2835 SPI-bibliotek (IKKE lidt banket!) Dette er stadig meget foreløbigt … Jeg er nødt til at tilføje bedre billeder af fysisk tilslutning og arbejde igennem nogle af de akavede koder