Innholdsfortegnelse:
- Trinn 1: Materialer
- Trinn 2: Bringebær Pi
- Trinn 3: Kabling
- Trinn 4: Database
- Trinn 5: Kode
- Trinn 6: Case
Video: EasyTalk: Enkel kommunikasjon og en kalender ved siden av deg: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
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
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
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
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
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
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:
Trådløs kommunikasjon ved bruk av NRF24L01 transceivermodul for Arduino -baserte prosjekter: 5 trinn (med bilder)
Trådløs kommunikasjon ved bruk av NRF24L01 transceivermodul for Arduino-baserte prosjekter: Dette er min andre instruerbare opplæring om roboter og mikrokontrollere. Det er virkelig fantastisk å se roboten din i live og fungere som forventet, og tro meg det vil bli morsommere hvis du styrer roboten eller andre ting trådløst med rask og
Fotballrobot (eller fotball, hvis du bor på den andre siden av dammen): 9 trinn (med bilder)
Fotballrobot (eller fotball, hvis du bor på den andre siden av dammen): Jeg lærer robotikk i tinker-robot-labs.tk Elevene mine har laget disse robotene som spiller fotball (eller fotball, hvis du bor på den andre siden av dammen). Målet mitt med dette prosjektet var å lære barna hvordan de skal samhandle med en robot via Bluetooth
Trådløs kommunikasjon ved bruk av billige 433MHz RF -moduler og Pic -mikrokontrollere. Del 2: 4 trinn (med bilder)
Trådløs kommunikasjon ved bruk av billige 433MHz RF -moduler og Pic -mikrokontrollere. Del 2: På den første delen av denne instruksjonsboken demonstrerte jeg hvordan jeg programmerer en PIC12F1822 ved hjelp av MPLAB IDE og XC8 -kompilatoren, for å sende en enkel streng trådløst ved hjelp av billige TX/RX 433MHz -moduler. Mottakermodulen ble koblet via en USB til UART TTL kabelannonse
Trådløs seriell kommunikasjon ved hjelp av Bluefruit: 4 trinn
Trådløs seriekommunikasjon ved hjelp av Bluefruit: Her er en enkel trinnvis veiledning for å bytte ut ledningene dine med en Bluetooth lavenergitilkobling: Det tok meg en stund å finne ut av dette fordi det knapt er dokumentasjon på hvordan jeg gjør dette med moderne Bluetooth lavenergiteknologi som som Bluefrui
Nettbasert SmartMirror ved bruk av seriell kommunikasjon: 6 trinn
Nettbasert SmartMirror ved bruk av seriell kommunikasjon: Denne instruksjonen leveres med all koden klar til bruk. Utviklingen var veldig komplisert, men når den er satt opp, er den veldig enkel å tilpasse. Ta en titt og nyt;)