Sommario:

Allarme intelligente: 6 passaggi
Allarme intelligente: 6 passaggi

Video: Allarme intelligente: 6 passaggi

Video: Allarme intelligente: 6 passaggi
Video: Sistema di allarme intelligente WIBY compatibile con Tuya Smart 2024, Novembre
Anonim
Allarme intelligente
Allarme intelligente

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.

  1. Lampone pi 3
  2. Tavola breakout T-cobbler
  3. Sensore PIR
  4. Sensore di luce
  5. Sensore di rilevamento del suono
  6. Cicalino
  7. display LCD
  8. Pulsante

Passaggio 1: hardware

Hardware
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

Banca dati
Banca dati

Per memorizzare tutti i dati avevo bisogno di un database.

Il mio database esiste di 6 tabelle.

  1. Sensore
  2. History_sensors
  3. Persona
  4. Alarm_person
  5. Sleep_patern
  6. 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

Back-end
Back-end
Back-end
Back-end

Nel back-end ho dovuto scrivere diverse funzioni.

  1. richiedi i sensori da tavolo
  2. richiedi la tabella history_sensors
  3. chiedi lo schema del sonno
  4. metti un nuovo allarme
  5. chiedi la sveglia da tavolo
  6. registra utente
  7. Accedere
  8. 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

Sito web
Sito web
Sito web
Sito web
Sito web
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

Caso
Caso
Caso
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: