Turinys:

Išmanusis signalas: 6 žingsniai
Išmanusis signalas: 6 žingsniai

Video: Išmanusis signalas: 6 žingsniai

Video: Išmanusis signalas: 6 žingsniai
Video: Kaip atpažinti priklausomybę nuo išmaniojo telefono ir kaip su tuo kovoti? 2024, Lapkritis
Anonim
Išmanusis signalas
Išmanusis signalas

Iš mokyklos gavau užduotį sukurti projektą. Pasirinkau išmanųjį žadintuvą, nes visada miegu per žadintuvą ir tada praleidžiu mokyklą. Žadintuvą galite užmušti tik esant šviesai, garsui ir judėjimui, kad negalėtumėte užmigti ar snausti, neatmerkę akių. Taip pat yra svetainė, kurioje galite peržiūrėti miego režimą, nustatyti žadintuvus ir kurti naujus žadintuvus.

Prekės

Norint sukurti projektą, reikia tam tikrų medžiagų. sąrašą galite rasti žemiau. taip pat viską galite rasti medžiagų sąrašuose, įskaitant kainą.

  1. Aviečių pi 3
  2. T-cobbler išardymo lenta
  3. PIR jutiklis
  4. Šviesos sensorius
  5. Garso aptikimo jutiklis
  6. Garsinis signalas
  7. LCD ekranas
  8. Mygtukas

1 žingsnis: Aparatūra

Techninė įranga
Techninė įranga

Prieš pradėdamas kurti viską, sukūriau 2 schemas (1 elektros ir 1 ant duonos lentos) ant fritavimo ir jas valdžiau, kad įsitikinčiau, jog jame nėra jokių gedimų. Kai buvau tikras, kad viskas gerai, pradėjau nuo projekto. Pirmiausia pradėjau nuo garsinio signalo ir mygtuko, nes tai buvo paprasčiausi komponentai. Po to aš prijungiau savo ekraną prie aviečių pi. Pabaigoje prijungiau jutiklius. šviesos jutiklis ir judesio jutiklis yra lengvi, nes jums nieko daugiau nereikia, o PIR jutikliui reikia kažko papildomo. Norėdami užtikrinti, kad PIR nesukeltų trumpojo jungimo, turite naudoti įtampos tiltelį. Tai reiškia, kad jums reikia naudoti papildomą 1k ir 2k omų rezistorių, kad įsitikintumėte, jog viskas gerai. Tikslų kaiščių naudojimą ir tai, kaip viską prijungti prie pi, rasite schemose.

2 žingsnis: duomenų bazė

Duomenų bazė
Duomenų bazė

Norėdami išsaugoti visus duomenis, man reikėjo duomenų bazės.

Mano duomenų bazėje yra 6 lentelės.

  1. Jutiklis
  2. Istorijos_jutikliai
  3. Asmuo
  4. Alarm_person
  5. Miego tėvas
  6. Signalizacija

duomenų bazėje yra 2 dalys. 1 jutikliams ir 1 asmeniui ir visai jo statistikai.

Jutiklių lentelėje yra ID ir pavadinimas. Ši lentelė susieta su „History_sensors“, kurios ID, vertė, „Sensor_id“ir pavadinimas. „sensor_id“reikalingas norint sužinoti, kuris jutiklis turi vertę, ir data, kad būtų galima žinoti, kada jutiklis jį matavo.

Lentelės asmenyje yra ID, vardas ir slaptažodis. Prisijungti reikia slaptažodžio ir vardo, kad niekas kitas negalėtų už jus įspėti. Ši lentelė prijungta prie „sleep_pattern“lentelės ir „Alarm_person“lentelės. „Sleep_patern“lentelėje yra ID, „Hours_sleep“, „Date“, „Person_id“, „Bedtime“ir „Wake_up_time“. Taigi čia yra saugomi duomenys, skirti grafikai apie jūsų miego tėvą.

Lentelėje Alarm_person yra Person_id, Alarm_id ir laikas. Ši lentelė reikalinga, nes žadintuvą vienu metu gali naudoti skirtingi žmonės, o kelis - kelis. Paskutinė lentelė yra žadintuvo lentelė. Jame yra ID ir aprašymas.

3 žingsnis: galinė dalis

Užpakalinė dalis
Užpakalinė dalis
Užpakalinė dalis
Užpakalinė dalis

Galinėje dalyje turėjau parašyti įvairias funkcijas.

  1. paprašykite stalo jutiklių
  2. paprašykite lentelės history_sensors
  3. paprašykite miego režimo
  4. įdėti naują žadintuvą
  5. paprašykite stalo žadintuvo
  6. registruoti vartotoją
  7. Prisijungti
  8. įdėkite jutiklių reikšmes į lentelę history_sensors

Aš naudoju pycharm ir parašiau kodą python.

visoms funkcijoms naudoju @app.route ir tada adresą. kiekvieną kartą, kai reikia naudoti kitą adresą, nes kitaip jis neveiks. Po to aš parašau „if“funkciją su metodu kaip reikšmę, taigi, kai tai tiesa, jis vykdo kodą. „if“reikšmėje yra bandomasis gaudyklė ir „SQL“sakinys, norint gauti duomenis arba juos pašalinti.

Funkcijų su jutikliais atveju yra kitaip. Čia aš nenaudojau @app.route, bet tiesiog sukūriau jutiklio funkciją. čia jūs deklaruojate savo kaiščius ir atliekate atgalinio skambučio funkciją. tokiu būdu kiekvieną kartą, kai jutiklis aptinka ką nors, kad funkcija būtų vykdoma. Atgalinio skambučio funkcijoje naudojau an, jei tai veikia, kai jutiklis kažką aptinka. Jei yra kodas, skirtas duomenims įdėti į lentelę su SQL pareiškimu. Jame taip pat yra miegas, nes kitaip lentelėje būtų per daug reikšmių tik 1 aptikimui.

Mano „github“galite rasti visą projekto kodą.

4 žingsnis: svetainė

Interneto svetainė
Interneto svetainė
Interneto svetainė
Interneto svetainė
Interneto svetainė
Interneto svetainė

Savo svetainėje dirbau su html, o css - mano svetainėje yra 11 html puslapių.

Yra tiek daug puslapių, nes viskas veikia svetainėje. galite nustatyti žadintuvą, pridėti žadintuvą ir jį ištrinti. Nustatymų puslapyje galite pakeisti slaptažodį ir el. Jūs turite savo miego modelio puslapį. Taip pat galite pridėti momentą, kai nuėjote miegoti ir kai pabundate. Teigiamas dalykas yra tai, kad kiekvienas puslapis atrodo vienodai ir naudoja daugiausia tuos pačius dalykus, todėl CSS dažnai yra tas pats kiekviename puslapyje.

5 žingsnis: priekinis galas

Priekinė dalis parašyta „javascript“.

6 žingsnis: atvejis

Byla
Byla
Byla
Byla

Mano atveju aš nusprendžiau naudoti medieną. Tai nėra taip sunku iškirpti, jis atrodo gražiai. Mano dėklas yra 26 cm ilgio ir 14 cm aukščio, 7,5 cm. Jis toks didelis, nes viskas, ko reikia, kad tilptų. Aš padariau skyles jutikliams, mygtukui ir LCD, kad laikas būtų matomas ir jutikliai galėtų aptikti judėjimą ar šviesą. Norėdami tai padaryti, naudoju lazerinį pjoviklį. Dėklo viduje yra mano duonos lentelė ir aviečių pi.

Rekomenduojamas: