Cuprins:

Alarmă inteligentă: 6 pași
Alarmă inteligentă: 6 pași

Video: Alarmă inteligentă: 6 pași

Video: Alarmă inteligentă: 6 pași
Video: Afla cum inrolezi doua sirene wireless pe sistemele de alarma HEYI WIRELESS GSM HY-6107S/HY-6108W 2024, Noiembrie
Anonim
Alarmă inteligentă
Alarmă inteligentă

De la școală am primit sarcina de a face un proiect. Am ales o alarmă inteligentă pentru că dorm mereu prin alarmă și dor de școală atunci. Puteți ucide alarma numai dacă există lumină, sunet și mișcare, astfel încât să nu vă puteți lăsa în somn sau să o amânați fără să deschideți ochii. Există, de asemenea, un site web unde vă puteți vizualiza tiparul de somn, setați alarme și creați alarme noi.

Provizii

Pentru a construi proiectul sunt necesare câteva materiale. puteți găsi o listă mai jos. de asemenea, puteți găsi totul înapoi în lista de materiale, inclusiv prețul.

  1. Raspberry pi 3
  2. Placă de rupere pentru T-cobbler
  3. Senzor PIR
  4. Senzor de lumina
  5. Senzor de detectare a sunetului
  6. Buzzer
  7. Ecran LCD
  8. Buton

Pasul 1: Hardware

Hardware
Hardware

Înainte de a începe să construiesc tot, am făcut 2 scheme (1 electric și 1 pe panou) pe fritzing și le-am controlat pentru a fi sigur că nu există defecte în acesta. Odată ce am fost sigur că totul este în regulă, am început cu proiectul. În primul rând am început cu buzzer-ul și butonul, deoarece acestea au fost cele mai ușoare componente. După aceea mi-am conectat afișajul la raspberry pi. La final, atunci mi-am conectat senzorii. senzorul de lumină și senzorul de mișcare sunt ușori, deoarece nu aveți nevoie de altceva, dar senzorul PIR are nevoie de ceva în plus. Pentru a vă asigura că PIR nu va face un scurtcircuit, trebuie să utilizați un pod de tensiune. Înseamnă că trebuie să utilizați un rezistor suplimentar de 1k ohm și 2k ohm pentru a vă asigura că totul merge bine. Utilizarea exactă a pinilor și cum să conectați totul la pi o puteți găsi în scheme.

Pasul 2: Baza de date

Bază de date
Bază de date

Pentru a stoca toate datele am avut nevoie de o bază de date.

Baza mea de date există din 6 tabele.

  1. Senzor
  2. History_sensors
  3. Persoană
  4. Alarm_person
  5. Sleep_patern
  6. Alarma

există 2 părți în baza de date. 1 pentru senzori și 1 pentru persoană și toate statisticile sale.

Tabelul senzorilor conține un ID și un nume. Acest tabel este conectat la History_sensors care are un ID, valoare, Sensor_id și un nume. sensor_id este necesar pentru a ști care senzor are o valoare și data este necesară pentru a ști când senzorul a măsurat-o.

Persoana din tabel conține un ID, un nume și o parolă. Parola și numele sunt necesare pentru a vă conecta, astfel încât nimeni altcineva să nu vă poată alarma. Acest tabel este conectat la tabelul sleep_pattern și la tabelul Alarm_person. Tabelul Sleep_patern conține un ID, Hours_sleep, Date, Person_id, Bedtime și Wake_up_time. Iată deci datele stocate pentru a face o imagine despre paternul somnului.

Tabelul Alarm_person conține un Person_id, Alarm_id și ora. Acest tabel este necesar, deoarece diferite persoane pot utiliza o alarmă în același timp și o persoană poate folosi mai multe alarme. Ultimul tabel este tabelul de alarmă. Acesta conține un ID și o descriere.

Pasul 3: back-end

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

În back-end trebuia să scriu diferite funcții.

  1. cere senzorii de masă
  2. cere tabelul history_sensors
  3. cere modelul de somn
  4. pune o nouă alarmă
  5. cere alarma de masă
  6. înregistrare utilizator
  7. Autentificare
  8. pune valorile senzorilor în tabelul history_sensors

Am folosit pycharm și am scris codul în python.

pentru toate funcțiile folosesc @ app.route și apoi adresa. de fiecare dată când trebuie să utilizați o adresă diferită, pentru că altfel nu va funcționa. După aceasta scriu o funcție if cu metoda ca valoare, așa că atunci când acest lucru este adevărat, el execută codul. în valoarea if există un try catch și o declarație sql pentru a obține datele sau a pune datele la distanță.

Pentru funcțiile cu senzori este diferit. Aici nu am folosit @ app.route, ci doar am făcut o funcție pentru senzor. aici vă declarați pinii și efectuați o funcție de apel invers. în acest fel de fiecare dată când senzorul detectează ceva funcția este executată. În funcția de apel invers am folosit un dacă funcționează atunci când senzorul detectează ceva. În if se află codul pentru introducerea datelor în tabel cu o declarație sql. Există, de asemenea, un somn în el, deoarece altfel ar pune prea multe valori în tabel pentru o singură detectare.

În github-ul meu puteți găsi codul complet pentru proiect.

Pasul 4: site-ul web

Site-ul web
Site-ul web
Site-ul web
Site-ul web
Site-ul web
Site-ul web

Pentru site-ul meu am lucrat cu html și css site-ul meu conține 11 pagini html.

Există atât de multe pagini, deoarece totul funcționează pe site. puteți seta o alarmă, adăuga o alarmă și șterge una. În pagina de setări vă puteți schimba parola și adresa de e-mail. Aveți o pagină pentru modelul de somn. Puteți adăuga și momentul în care v-ați culcat și când vă treziți. Aspectul pozitiv este că fiecare pagină are același aspect și folosește în mare parte aceleași lucruri, astfel încât CSS este adesea același în fiecare pagină.

Pasul 5: Front-end

Front-end-ul este scris în javascript.

Pasul 6: Caz

Caz
Caz
Caz
Caz

Pentru cazul meu, am ales să folosesc lemnul. Nu este atât de greu de tăiat, arată frumos. Carcasa mea este de 26 cm pe 14 cm cu o înălțime de 7, 5 cm. Este atât de mare pentru că tot ce era necesar pentru a se potrivi. Am făcut găuri pentru senzori, buton și LCD, astfel încât timpul să fie vizibil și senzorii să poată detecta mișcarea sau lumina. Pentru a le face, am folosit un laser. În interiorul carcasei se află panoul meu și pi zmeură.

Recomandat: