Sommario:
- Forniture
- Passaggio 1: hardware
- Passaggio 2: banca dati
- Passaggio 3: back-end
- Passaggio 4: sito web
- Passaggio 5: front-end
- Passaggio 6: caso
Video: Allarme intelligente: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Dalla scuola ho ricevuto l'incarico di realizzare un progetto. Ho scelto una sveglia intelligente perché dormo sempre con la sveglia e poi mi manca la scuola. Puoi spegnere la sveglia solo se c'è luce, suono e movimento in modo da non poter ricadere nel sonno o posticiparla senza aprire gli occhi. C'è anche un sito web in cui è possibile visualizzare il ritmo del sonno, impostare sveglie e creare nuove sveglie.
Forniture
Per realizzare il progetto sono necessari alcuni materiali. puoi trovare un elenco qui sotto. trovi anche tutto nella distinta base compreso il prezzo.
- Lampone pi 3
- Tavola breakout T-cobbler
- Sensore PIR
- Sensore di luce
- Sensore di rilevamento del suono
- Cicalino
- display LCD
- Pulsante
Passaggio 1: hardware
Prima di iniziare a costruire tutto, ho realizzato 2 schemi (1 elettrico e 1 sulla breadboard) su fritzing e li ho controllati per essere sicuro che non ci fossero errori. Una volta che ero sicuro che tutto fosse a posto, ho iniziato con il progetto. Per prima cosa ho iniziato con il cicalino e il pulsante perché questi erano i componenti più facili. Successivamente ho collegato il mio display al Raspberry Pi. Alla fine poi ho collegato i miei sensori. il sensore di luce e il sensore di movimento sono facili perché non hai bisogno di nient'altro, ma il sensore PIR ha bisogno di qualcosa in più. Per garantire che il PIR non crei un cortocircuito è necessario utilizzare un ponte di tensione. Significa che è necessario utilizzare un resistore aggiuntivo di 1k ohm e 2k ohm per essere sicuri che tutto vada bene. L'uso esatto dei pin e come collegare il tutto al pi lo trovate negli schemi.
Passaggio 2: banca dati
Per memorizzare tutti i dati avevo bisogno di un database.
Il mio database esiste di 6 tabelle.
- Sensore
- History_sensors
- Persona
- Alarm_person
- Sleep_patern
- Allarme
ci sono 2 parti nel database. 1 per i sensori e 1 per la persona e tutte le sue statistiche.
La tabella dei sensori contiene un ID e un nome. Questa tabella è collegata agli History_sensors che ha un ID, un valore, Sensor_id e un nome. il sensor_id è necessario per sapere quale sensore ha un valore e la data è necessaria per sapere quando il sensore lo ha misurato.
La persona al tavolo contiene un ID, un nome e una password. La password e il nome sono necessari per accedere in modo che nessun altro possa mettere un allarme per te. Questa tabella è collegata alla tabella sleep_pattern e alla tabella Alarm_person. La tabella Sleep_patern contiene un ID, Hours_sleep, Date, Person_id, Bedtime e Wake_up_time. Quindi ecco i dati memorizzati per creare un grafico sul tuo sonno.
La tabella Alarm_person contiene Person_id, Alarm_id e l'ora. Questa tabella è necessaria perché diverse persone possono utilizzare un allarme contemporaneamente e 1 persona può utilizzare più allarmi. L'ultima tabella è la tabella degli allarmi. Questo contiene un ID e una descrizione.
Passaggio 3: back-end
Nel back-end ho dovuto scrivere diverse funzioni.
- richiedi i sensori da tavolo
- richiedi la tabella history_sensors
- chiedi lo schema del sonno
- metti un nuovo allarme
- chiedi la sveglia da tavolo
- registra utente
- Accedere
- metti i valori dei sensori nella tabella history_sensors
Ho usato pycharm e ho scritto il codice in python.
per tutte le funzioni uso @app.route e poi l'indirizzo. ogni volta è necessario utilizzare un indirizzo diverso perché altrimenti non funzionerà. Dopo questo scrivo una funzione if con il metodo come valore, quindi quando questo è vero esegue il codice. nel valore if c'è un tentativo di cattura e un'istruzione sql per ottenere i dati o mettere via i dati.
Per le funzioni con i sensori è diverso. Qui non ho usato @app.route ma ho solo creato una funzione per il sensore. qui dichiari i tuoi pin e fai una funzione di callback. in questo modo ogni volta che il sensore rileva qualcosa la funzione viene eseguita. Nella funzione di callback ho usato un if che funziona quando il sensore rileva qualcosa. In if sta il codice per inserire i dati nella tabella con un'istruzione sql. C'è anche il sonno perché altrimenti metterebbe troppi valori nella tabella per un solo rilevamento.
Nel mio github puoi trovare il codice completo per il progetto.
Passaggio 4: sito web
Per il mio sito web ho lavorato con html e css il mio sito web contiene 11 pagine html.
Ci sono così tante pagine perché tutto funziona dal sito web. puoi impostare una sveglia, aggiungere una sveglia ed eliminarne una. Nella pagina delle impostazioni è possibile modificare la password e l'e-mail. Hai una pagina per il tuo schema del sonno. Puoi anche aggiungere il momento in cui sei andato a dormire e quando ti sei svegliato. La cosa positiva è che ogni pagina ha lo stesso aspetto e utilizza per lo più le stesse cose, quindi il css è spesso lo stesso in ogni pagina.
Passaggio 5: front-end
Il front-end è scritto in javascript.
Passaggio 6: caso
Per il mio caso ho scelto di usare il legno. Non è così difficile da tagliare sembra carino. Il mio caso è 26 cm su 14 cm con un'altezza di 7,5 cm. È così grande perché tutto il necessario per adattarsi. Ho fatto dei fori per i sensori, il pulsante e l'LCD in modo che l'ora sia visibile e i sensori possano rilevare il movimento o la luce. Per realizzarli ho utilizzato un lasercutter. All'interno della custodia si trovano la mia breadboard e il Raspberry Pi.
Consigliato:
Luce LED da scrivania intelligente - Illuminazione intelligente con Arduino - Area di lavoro Neopixel: 10 passaggi (con immagini)
Luce LED da scrivania intelligente | Illuminazione intelligente con Arduino | Neopixels Workspace: Al giorno d'oggi trascorriamo molto tempo a casa, studiando e lavorando virtualmente, quindi perché non rendere il nostro spazio di lavoro più grande con un sistema di illuminazione personalizzato e intelligente basato su Arduino e LED Ws2812b. Qui ti mostro come costruire il tuo Smart Luce LED da scrivania che
Come Realizzare un Sistema di Allarme Rilevamento Inondazione Intelligente Usando Raspberry Pi e Particelle Argon: 6 Passaggi
Come realizzare un sistema di allarme intelligente per il rilevamento di allagamenti utilizzando Raspberry Pi e Particle Argon: disporre di sensori di allagamento standard è ottimo per prevenire danni massicci alla tua casa o al posto di lavoro. Ma rende difficile se non sei a casa partecipare all'allarme. potresti comprare quelli intelligenti Questo sistema di allarme per allagamento rileva qualsiasi liquido e fa scattare l'allarme
Allarme impianto allarme sete: 13 passaggi
Allarme sete per le piante: devo confessare: sono un orribile genitore vegetale. È bello togliermelo dal petto. Non riesco a capire se sta colpendo la fotosintesi un po 'troppo forte o sta andando leggero con il vecchio H2O. Sembra che niente di ciò che farò manterrà questi tizi
Tutorial: come attivare l'allarme della porta utilizzando l'allarme del sensore dell'interruttore magnetico MC-18: 3 passaggi
Tutorial: come creare un allarme porta utilizzando l'allarme del sensore dell'interruttore magnetico MC-18: Ciao ragazzi, sto per fare un tutorial sull'allarme del sensore dell'interruttore magnetico MC-18 che funziona in modalità normalmente chiusa. Ma prima, lasciate che vi spieghi in breve cosa si intende per normalmente vicino. Esistono due tipi di modalità, normalmente aperta e normalmente chiusa
Musica intelligente in camera da letto e in bagno con Raspberry Pi: integrazione di multiroom, allarme, controllo dei pulsanti e automazione domestica: 7 passaggi
Musica intelligente in camera da letto e in bagno con Raspberry Pi – Integrazione di multiroom, allarme, controllo dei pulsanti e automazione domestica: oggi vogliamo darvi due esempi su come utilizzare il Raspberry Pi con il nostro software Max2Play per l'automazione domestica: in bagno e in camera da letto . Entrambi i progetti sono simili in quanto la musica ad alta fedeltà da varie fonti può essere trasmessa in streaming attraverso