Sommario:
- Passaggio 1: materiali
- Passaggio 2: Raspberry Pi
- Passaggio 3: cablaggio
- Passaggio 4: banca dati
- Passaggio 5: codice
- Passaggio 6: caso
Video: EasyTalk: comunicazione facile e un calendario accanto a te: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Mi chiamo Kobe Marchal, studio a Howest, Belgio e sono uno studente Multimedia and Communication Technology (MCT). Per il mio incarico finale del mio primo anno, ho dovuto realizzare un dispositivo IoT.
A casa abbiamo questo problema che mio fratello gioca sempre e quando mia madre ha bisogno di dirgli qualcosa dal piano di sotto, ha bisogno di gridare perché indossa le cuffie e non sente niente. Volevo risolvere questo problema per lei, quindi ho costruito un dispositivo a cui puoi inviare messaggi da un sito web. Viene anche utilizzato come calendario in cui è possibile memorizzare i propri eventi o importare un calendario esterno tramite un URL. Questo dispositivo memorizza anche i valori di temperatura e qualità dell'aria in modo da poter vedere quanto è salutare quando giochi o lavori perché spesso non te ne accorgi.
Questo dispositivo si chiama EasyTalk e risolve questo problema. È un piccolo dispositivo che utilizza uno schermo OLED in modo da poter vedere i tuoi eventi, l'ora o la temperatura e la qualità dell'aria in questo momento. Quando un messaggio viene inviato, ti avverte con un suono di notifica e mostra il messaggio sullo schermo dove puoi rispondere con sì o no.
Se vuoi costruire questa cosa o vuoi vedere come è fatta, ti consiglio caldamente di continuare a leggere. Se vuoi saperne di più su di me, puoi andare al mio portfolio.
Passaggio 1: materiali
Il primo passo è raccogliere tutti i materiali da utilizzare in questo progetto. Sarò onesto con te. Non si tratta di un dispositivo economico, il costo complessivo è di 271. Di seguito è riportato un elenco di essi e alcune foto per chiarire.
- Raspberry Pi 4 Modello B - 4GB
- Pibow Coupé 4 – Ninja
- 12 x Premium Jumperwires op strip - 40 pezzi - M/M - 20 cm
- 6 x Premium Jumperwires op strip - 40 pezzi - M/F - 20 cm
- Intestazione impilabile 2 x 36 pin
- Intestazione box maschio a 40 pin
- Cavo GPIO Regenboog 40 pin
- Kit modulo display grafico OLED da 2,42" 128x64 monocromatico
- Altoparlante in metallo di piccole dimensioni con Draadjes - 8 ohm 0.5W
- Adafruit Mono 2.5W Classe D Audio Versterker
- Cavo jack Aux da 3,5 mm
- Pulsante momentaneo con filettatura da 7 mm
- Tuimelschakelaar
- PIR Bewegingsensor
- DS18B20 Sensore di temperatura digitale
- Grove - Sensore kwaliteit Lucht v1.3
- Grove - I2C ADC
- Raspberry Pi 4 USB-C Voeding
- Mini-Statief Flexibel
- Resistori da 470 Ohm
- Resistenza da 4, 7K Ohm
- Guaina termorestringente
- 6 x viti M2 x 6 mm
- 6 x viti M2 x 8 mm
- 3 viti M2 x 16 mm
- Costruzione in alluminio 3 mm
Ho anche fatto una distinta materiali (BOM) in modo che tu possa vedere quanto ho pagato per tutti i materiali e dove li ho presi.
Passaggio 2: Raspberry Pi
Per questo progetto utilizziamo un Raspberry Pi perché è facile da configurare e può essere utilizzato per molte cose. È perfetto per quello che vogliamo fare.
Scarica il sistema operativo desktop Raspberry Pi e installalo sul tuo Raspberry Pi. Devi abilitare SPI, I2C e One Wire nel file raspi-config. Suggerisco di disabilitare alcune cose anche nelle Opzioni di avvio per renderlo più veloce. A parte questo, uso alcune librerie che devi installare con pip per farlo funzionare.
pip3 installa:
- adafruit-circuitpython-ssd1305
- ics
- Borraccia
- Flask-Cors
- Flask-JWT-Extended
- mysql-connector-python
Hai anche bisogno di apache2 per configurare un sito web, qui usiamo apt:
sudo apt install apache2 -y
Devi configurare la connessione wireless perché non puoi ottenere un cavo UTP nel Raspberry Pi quando è nel caso.
Dovrai configurare anche MariaDB in modo da poter accedere al database.
Passaggio 3: cablaggio
Il prossimo passo è collegare tutto insieme e testare se tutti i componenti funzionano. Ho creato un PCB per rimuovere la breadboard e ridurre il cablaggio in modo che il dispositivo possa essere più piccolo. Questo è necessario perché starà accanto al tuo monitor e non può occupare molto spazio, quindi non ti distrarrà dal tuo lavoro.
Passaggio 4: banca dati
Questo dispositivo utilizza un database MySQL normalizzato per archiviare tutte le sue informazioni e mostrarle sul sito Web e sul dispositivo stesso. L'ho creato in MySQL Workbench.
Ci sono 5 tabelle in questo database.
La tabella Activiteiten (= attività, eventi) viene utilizzata per memorizzare tutti gli eventi del calendario. Questo include anche tutti gli eventi importati da un altro calendario.
Table Apparaten (= dispositivi) viene utilizzato per memorizzare i diversi tipi di dispositivi utilizzati nella tabella Historiek (= cronologia). Ci sono due sensori utilizzati in questo progetto, un sensore di temperatura e un sensore di qualità dell'aria, ma ho anche un terzo "dispositivo", il sito Web stesso per memorizzare i messaggi inviati dal sito Web al dispositivo.
La tabella Gebruikers (= utenti) memorizza gli utenti. Possono accedere con la loro password e specificare un soprannome che viene visualizzato con un messaggio quando viene inviato al dispositivo.
La tabella Historiek (= cronologia) viene utilizzata per memorizzare i valori del sensore e i messaggi inviati al dispositivo.
E infine i collegamenti della tabella (= URL) memorizzano tutti gli URL del calendario esterno.
Passaggio 5: codice
Consiglio di creare un nuovo utente in quanto è una buona pratica ma non è necessario, puoi anche utilizzare l'utente pi predefinito.
Il codice del frontend viene inserito nella cartella html predefinita da apache2. Puoi trovare questa cartella in /var/www/html.
Per il backend, devi creare una cartella nella tua cartella home e inserire tutto il codice.
Dobbiamo anche cambiare alcuni valori in questo codice. Prima vai su app.py. Sulla riga 23 impostare il nome del sensore di temperatura a un filo. Questo sarà probabilmente qualcosa di diverso per te. Per trovare il nome giusto, apri un terminale e digita:
ls /sys/bus/w1/devices
e cerca una stringa composta da più numeri diversi e sostituisci quella sulla riga 23.
L'altra cosa che dobbiamo cambiare è nel file config.py, cambiare la password del database.
Se vuoi che venga eseguito all'avvio, devi modificare anche il file EasyTalk.service. Basta cambiare la directory di lavoro e l'utente. Devi copiare questo file con il comando successivo:
sudo cp EasyTalk.service /etc/systemd/system/ EasyTalk.service
Quindi eseguilo:
sudo systemctl start EasyTalk.service
E poi abilitalo in modo che inizi all'avvio
sudo systemctl abilita EasyTalk.service
Passaggio 6: caso
Ho deciso di stampare in 3D la custodia in modo che possa essere il più piccola possibile. La stampa è composta da 3 parti, la scatola stessa, un coperchio e un supporto per altoparlante perché questo non ha fori per avvitare i bulloni.
Avrai bisogno anche di alcuni audaci per avvitare tutto insieme.
- 6 x viti M2 x 6 mm
- 6 x viti M2 x 8 mm
- 3 viti M2 x 16 mm
Sarò onesto però. Mi ci sono volute 4-5 ore per costruire questa cosa. Perché è così piccolo, tutto si adatta perfettamente ed è difficile avvitare i grassetti a volte, ma funziona se lo fai con attenzione.
Ho anche progettato un PCB per sostituire la breadboard, devi prima saldare i connettori e 5 resistori (4 x 470 Ohm, 1 x 4,7 K Ohm).
Quando hai il PCB, suggerisco di iniziare con i cavi di saldatura a tutto ciò che dovrebbe connettersi al PCB.
Al termine, avviterai il display OLED per posizionarlo e collegherai il PCB ad esso. Il display contiene il PCB. Usa viti da 6 mm per questo.
Quindi avviti il sensore della qualità dell'aria dove dovrebbe andare, ma questo è un po 'complicato perché l'ADC si collega ad esso. Per farlo correttamente in modo che i due componenti non si tocchino, usi viti da 16 mm con tubi di alluminio da 3 x 5 mm che devi segare. L'ho fatto con due viti perché non riuscivo a raggiungere la terza. Colleghi i 4 fili dove dovrebbero andare sul PCB.
Quindi colleghi l'amplificatore audio al PCB e metti l'altoparlante in posizione con il supporto stampato in 3D.
Dopo questi passaggi, le parti più difficili sono finite e puoi collegare tutto il resto al PCB e avvitarlo in posizione. Nota che nelle foto che vedi io uso un sensore di temperatura diverso, per il prodotto finale ho usato il sensore di temperatura con un cavo lungo che esce dalla scatola perché misurava il calore dall'interno della scatola.
Quando tutti questi sono a posto, devi avvitare il Raspberry Pi. Uso la custodia per questo perché non mi fido del calore che produce, questa custodia è lì per protezione in modo che la stampa 3D non si sciolga. Prima di avvitarlo in posizione, devi collegare il cavo di alimentazione e il cavo aux (che devi aprire e saldare a un filo e quindi collegare da Raspberry Pi a PCB) perché non puoi raggiungerlo dopo.
Quindi collega semplicemente il cavo dell'intestazione GPIO dal PCB al Raspberry Pi e verifica se tutto funziona prima di chiudere il coperchio.
Nella parte inferiore è presente un foro dove è possibile collegare un treppiede ma questo è opzionale.
Questo è tutto! Spero che ti sia piaciuto leggere questo articolo! -Kobe
Consigliato:
Calendario dell'Avvento LED fai-da-te: 3 passaggi
Calendario dell'avvento a LED fai-da-te: descriverò come abbiamo realizzato questo orologio analogico che funge anche da calendario dell'avvento. Ci sono 24 led ws2811 24 ore su 24 disposti in cerchio e ognuno di essi si illumina in verde fino ai giorni prima di Natale. Il giorno di Natale tutte le luci sono accese
Promemoria delle riunioni del calendario di Outlook con touchscreen Nextion: 6 passaggi
Promemoria delle riunioni del calendario di Outlook con touchscreen Nextion: il motivo per cui ho iniziato questo progetto è stato perché spesso ho perso le riunioni e ho pensato di aver bisogno di un sistema di promemoria migliore. Anche se utilizziamo il calendario di Microsoft Outlook, ho trascorso la maggior parte del mio tempo su Linux/UNIX sullo stesso computer. Mentre si lavora con
Giorno della settimana, calendario, ora, umidità/temperatura con risparmio energetico: 10 passaggi (con immagini)
Giorno della settimana, calendario, ora, umidità/temperatura con risparmio energetico: la modalità di risparmio energetico qui è ciò che distingue questo Instructable dagli altri esempi che mostrano giorno della settimana, mese, giorno del mese, ora, umidità e temperatura. È questa capacità che consente a questo progetto di essere eseguito da una batteria, senza t
Calendario personalizzato con servomotore: 4 passaggi
Calendario personalizzato con servomotore: le persone a volte si annoiavano quando erano sedute alla scrivania. Se c'è qualcosa di decorativo sul tavolo, sarebbe sicuramente divertente. Per questo progetto, creerò un calendario personalizzato. Oltre al calendario, puoi anche aggiungere altri elementi che wo
Fai da te MusiLED, LED musicali sincronizzati con applicazione Windows e Linux con un clic (32 bit e 64 bit). Facile da ricreare, facile da usare, facile da trasferire.: 3 passaggi
Fai da te MusiLED, LED musicali sincronizzati con applicazione Windows e Linux con un clic (32 bit e 64 bit). Facile da ricreare, facile da usare, facile da portare.: Questo progetto ti aiuterà a collegare 18 LED (6 rossi + 6 blu + 6 gialli) alla tua scheda Arduino e ad analizzare i segnali in tempo reale della scheda audio del tuo computer e trasmetterli a i led per accenderli secondo gli effetti beat (Snare, High Hat, Kick)