Inhoudsopgave:
- Stap 1: Materialen
- Stap 2: Raspberry Pi
- Stap 3: Bedrading
- Stap 4: Database
- Stap 5: Coderen
- Stap 6: zaak
Video: EasyTalk: eenvoudige communicatie en een kalender naast u: 6 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Mijn naam is Kobe Marchal, ik studeer aan Howest, België en ik studeer Multimedia- en Communicatietechnologie (MCT). Voor mijn afstudeeropdracht van mijn eerste jaar moest ik een IoT-apparaat maken.
Thuis hebben we het probleem dat mijn broer altijd aan het gamen is en als mijn moeder hem iets van beneden moet vertellen, moet ze schreeuwen omdat hij een koptelefoon draagt en niets kan horen. Ik wilde dit probleem voor haar oplossen, dus bouwde ik een apparaat waar je berichten naar kunt sturen vanaf een website. Het wordt ook gebruikt als een kalender waarin u uw eigen evenementen kunt opslaan of een externe kalender kunt importeren via een URL. Dit apparaat slaat ook temperatuur- en luchtkwaliteitswaarden op, zodat je kunt zien hoe gezond het is wanneer je aan het gamen of werken bent, omdat je het vaak niet merkt.
Dit apparaat heet EasyTalk en lost dit probleem op. Het is een klein apparaatje dat een OLED-scherm gebruikt, zodat je je evenementen, de tijd of temperatuur en de luchtkwaliteit nu kunt zien. Wanneer een bericht wordt verzonden, merkt het u op met een meldingsgeluid en toont het bericht op het scherm waar u met ja of nee kunt antwoorden.
Als je dit ding wilt bouwen of als je wilt zien hoe het wordt gemaakt, raad ik je ten zeerste aan om verder te lezen. Als je meer over mij wilt weten, kun je naar mijn portfolio gaan.
Stap 1: Materialen
De eerste stap is het verzamelen van alle materialen om in dit project te gebruiken. Ik zal eerlijk tegen je zijn. Dit is geen goedkoop apparaat, de totale kosten bedragen € 271. Hieronder vindt u een lijst van hen en enkele foto's ter verduidelijking.
- Raspberry Pi 4 Model B - 4GB
- 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 stapelkop
- 40-pins mannelijke box header
- 40 pins Regenboog GPIO kabel
- Monochroom 2,42" 128x64 OLED grafische displaymodulekit
- Kleine Metalen Speaker met Draadjes - 8 ohm 0.5W
- Adafruit Mono 2.5W Klasse D Audio Versterker
- 3,5 mm aux-jackkabel
- 7 mm schroefdraad Momentaire drukknop
- Tuimelschakelaar
- PIR Bewegingssensor
- DS18B20 Digitale temperatuursensor
- Grove - Luchtkwaliteitssensor v1.3
- Grove - I2C ADC
- Raspberry Pi 4 USB-C Voeding
- Flexibel mini-statief
- 470 Ohm weerstanden
- 4, 7K Ohm weerstand
- Krimpkous
- 6 x Schroeven M2 x 6mm
- 6 x Schroeven M2 x 8mm
- 3 x Schroeven M2 x 16mm
- Aluminiumbuis 3 mm
Ik heb ook een stuklijst (BOM) gemaakt, zodat je kunt zien hoeveel ik voor al het materiaal heb betaald en waar ik het vandaan heb.
Stap 2: Raspberry Pi
Voor dit project gebruiken we een Raspberry Pi omdat deze gemakkelijk in te stellen is en voor veel dingen kan worden gebruikt. Het is perfect voor wat we willen doen.
Download het Raspberry Pi Desktop OS en installeer het op je Raspberry Pi. U moet SPI, I2C en One Wire inschakelen in de raspi-config. Ik stel voor om ook enkele dingen in de opstartopties uit te schakelen om het sneller te laten opstarten. Verder gebruik ik enkele bibliotheken die je met pip moet installeren om dit te laten werken.
pip3 installeren:
- adafruit-circuitpython-ssd1305
- ics
- Kolf
- Kolf-Cors
- Kolf-JWT-verlengd
- mysql-connector-python
Je hebt ook apache2 nodig om een website op te zetten, hier gebruiken we apt:
sudo apt installeer apache2 -y
U moet een draadloze verbinding instellen omdat u geen UTP-kabel in de Raspberry Pi kunt krijgen als deze in de hoes zit.
U moet ook MariaDB instellen om toegang te krijgen tot de database.
Stap 3: Bedrading
De volgende stap is om alles met elkaar te verbinden en te testen of alle componenten werken. Ik heb een PCB gemaakt om het breadboard te verwijderen en de bedrading minder te maken, zodat het apparaat kleiner kan zijn. Dit is nodig omdat hij naast je monitor zal staan en niet veel ruimte in beslag kan nemen, zodat hij je niet afleidt van je werk.
Stap 4: Database
Dit apparaat maakt gebruik van een genormaliseerde MySQL-database om al zijn informatie op te slaan en te tonen op de website en het apparaat zelf. Ik heb het gemaakt in MySQL Workbench.
Er zijn 5 tabellen in deze database.
Tabel Activiteiten (= activiteiten, evenementen) wordt gebruikt om alle evenementen van de kalender op te slaan. Dit omvat ook alle gebeurtenissen die uit een andere kalender zijn geïmporteerd.
Tabel Apparaten (= apparaten) wordt gebruikt om de verschillende soorten apparaten op te slaan die worden gebruikt in tabel Historiek (= geschiedenis). Er zijn twee sensoren gebruikt in dit project, een temperatuursensor en een luchtkwaliteitssensor, maar ik heb ook een derde "apparaat", de website zelf om de berichten op te slaan die van de website naar het apparaat worden verzonden.
Tabel Gebruikers (= gebruikers) slaat de gebruikers op. Ze kunnen inloggen met hun wachtwoord en een bijnaam opgeven die wordt weergegeven met een bericht wanneer deze naar het apparaat wordt verzonden.
Tabel Historiek (= historie) wordt gebruikt om de sensorwaarden en berichten die naar het apparaat worden gestuurd op te slaan.
En tot slot slaat tabellinks (= URL's) alle externe agenda-URL's op.
Stap 5: Coderen
Ik raad aan om een nieuwe gebruiker te maken, aangezien dit de beste praktijk is, maar het is niet nodig, je kunt ook de standaard pi-gebruiker gebruiken.
De frontend-code wordt in de standaard html-map van apache2 geplaatst. U vindt deze map in /var/www/html.
Voor de backend moet je een map maken in je thuismap en alle code daarin plaatsen.
We moeten ook enkele waarden in deze code wijzigen. Ga eerst naar app.py. Stel op regel 23 de naam van de eendraads temperatuursensor in. Dit zal voor jou waarschijnlijk iets anders zijn. Om de juiste naam te vinden, opent u een terminal en typt u in:
ls /sys/bus/w1/devices
en zoek naar een string die uit meerdere verschillende getallen bestaat en vervang die op regel 23.
Het andere dat we moeten veranderen, is in het config.py-bestand, verander het wachtwoord van de database.
Als u wilt dat dit bij het opstarten wordt uitgevoerd, moet u ook het bestand EasyTalk.service wijzigen. Verander gewoon de WorkingDirectory en User. U moet dit bestand kopiëren met het volgende commando:
sudo cp EasyTalk.service /etc/systemd/system/ EasyTalk.service
Voer het dan uit:
sudo systemctl start EasyTalk.service
En schakel het dan in, zodat het bij het opstarten begint
sudo systemctl activeer EasyTalk.service
Stap 6: zaak
Ik besloot om de hoes in 3D te printen, zodat deze zo klein mogelijk kan zijn. De print bestaat uit 3 delen, de doos zelf, een deksel en een speakerhouder omdat deze geen gaatjes heeft om bouten in te schroeven.
Je hebt ook wat vet nodig om alles aan elkaar te schroeven.
- 6 x Schroeven M2 x 6mm
- 6 x Schroeven M2 x 8mm
- 3 x Schroeven M2 x 16mm
Ik zal echter eerlijk zijn. Het kostte me 4-5 uur om dit ding te bouwen. Omdat het zo klein is, past alles gewoon en is het soms moeilijk om de veters erin te draaien, maar het werkt als je het voorzichtig doet.
Ik heb ook een PCB ontworpen om het breadboard te vervangen, je moet eerst de headers en 5 weerstanden solderen (4 x 470 Ohm, 1 x 4.7K Ohm).
Als je de print hebt, raad ik aan om te beginnen met het solderen van kabels naar alles wat op de print moet worden aangesloten.
Wanneer dit is gebeurd, gaat u het OLED-scherm op zijn plaats schroeven en de print erop aansluiten. Het display houdt de print vast. Je gebruikt hiervoor 6mm schroeven.
Vervolgens schroef je de luchtkwaliteitssensor waar hij hoort te gaan, maar dit is een beetje lastig omdat de ADC erop wordt aangesloten. Om dit goed te doen, zodat de twee componenten elkaar niet raken, gebruik je 16 mm schroeven met 3 x 5 mm aluminium buizen die je moet zagen. Ik deed dit met twee schroeven omdat ik de derde niet kon bereiken. Je sluit de 4 draden aan waar ze op de print moeten gaan.
Vervolgens sluit je de audioversterker aan op de print en zet je de speaker op zijn plaats met de 3D-geprinte houder.
Na deze stappen zijn de moeilijkste delen voorbij en kun je al het andere op de print aansluiten en op zijn plaats schroeven. Merk op dat op de foto's die je ziet, ik een andere temperatuursensor gebruik, voor het eindproduct heb ik de temperatuursensor gebruikt met een lange kabel die uit de doos loopt omdat deze de warmte van binnenuit de doos meet.
Als deze allemaal op hun plaats zitten, moet je de Raspberry Pi erin schroeven. Ik gebruik de hoes hiervoor omdat ik de warmte die hij produceert niet vertrouw, deze hoes is er voor bescherming zodat de 3D-print niet smelt. Voordat je hem op zijn plaats schroeft, moet je de voedingskabel en de aux-kabel aansluiten (die je moet openen en één draad moet solderen en vervolgens van Raspberry Pi naar PCB moet verbinden) omdat je er daarna niet bij kunt.
Sluit dan gewoon de GPIO-headerkabel van de print aan op de Raspberry Pi en test of alles werkt voordat je het deksel sluit.
Aan de onderkant zit een gat waar je een statief op kan aansluiten maar dit is optioneel.
Dat is het! Ik hoop dat je dit artikel met plezier hebt gelezen! -Kobe
Aanbevolen:
Een digitaal display toevoegen aan een oude communicatie-ontvanger - Ajarnpa
Voeg een digitaal display toe aan een oude communicatie-ontvanger: Een van de tekortkomingen van het gebruik van oudere communicatieapparatuur is het feit dat de analoge wijzerplaat niet erg nauwkeurig is. Je gokt altijd op de frequentie die je ontvangt. In de AM- of FM-banden is dit over het algemeen geen probleem, omdat je meestal
Eenvoudige Arduino LoRa-communicatie (meer dan 5 km): 9 stappen
Eenvoudige Arduino LoRa-communicatie (meer dan 5 km): we gaan de E32-TTL-100 testen met mijn bibliotheek. Het is een draadloze transceivermodule, werkt op 410 441 MHz (of 868MHz of 915MHz) op basis van originele RFIC SX1278 van SEMTECH, transparante transmissie is beschikbaar, TTL-niveau. De module gebruikt LORA
Game-saves kopiëren naar een MU van Microsoft of een derde partij op een eenvoudige manier: 9 stappen
Game Saves kopiëren naar een Microsoft of 3rd Party MU op de GEMAKKELIJKE MANIER .: Originele tutorial HIER Er zijn tal van Softmod-tutorials die er zijn en ze zijn allemaal goed, maar het is lastig om de opslagbestanden op de Xbox HDD te krijgen, ik heb een leven gemaakt cd die het eenvoudig maakt om dat te doen. Dit is geen complete softmod-tutorial, dit
Een eenvoudige EPUB maken van een reeks afbeeldingen: 13 stappen
Maak een eenvoudige EPUB van een reeks afbeeldingen: dit is geen technisch project. Ik ga niet zeuren over wat een EPUB is en wat een EPUB niet is. Ik ga je niet vertellen hoe het verschilt van andere bestandsformaten. Een EPUB is een supercool formaat dat voor veel, veel meer kan worden gebruikt dan alleen publi
Gratis muziek krijgen van PP zonder speciale programma's naast Windows Media 9 Misschien 10: 3 stappen
Gratis muziek krijgen van PP zonder speciale programma's Naast Windows Media 9 Misschien 10: deze instructable leert je hoe je gratis muziek kunt krijgen van de gratis afspeellijstprovider Project Playlist. (Mijn eerste Instructable ftw!) De dingen die je nodig hebt: 1. Een computer (duh) 2. Internettoegang (nog een duh want je leest dit) 3. Een Pr