Mundarija:

Aqlli signal: 6 qadam
Aqlli signal: 6 qadam

Video: Aqlli signal: 6 qadam

Video: Aqlli signal: 6 qadam
Video: Zino qilgan ayolni dinda qanday jazolashadi? 2024, Noyabr
Anonim
Aqlli signal
Aqlli signal

Maktabdan menga loyiha tuzish topshirig'i berildi. Men aqlli signalni tanladim, chunki men doim signal bilan uxlayman va maktabni sog'inaman. Siz signalni faqat yorug'lik, tovush va harakat mavjud bo'lganda o'ldirishingiz mumkin, shuning uchun siz uyquga qaytolmaysiz yoki ko'zingizni ochmasdan kechiktira olmaysiz. Shuningdek, siz uyqu rejimini ko'rishingiz, budilnik o'rnatishingiz va yangi signallarni qo'yishingiz mumkin bo'lgan veb -sayt mavjud.

Ta'minotlar

Loyihani yaratish uchun ba'zi materiallar kerak bo'ladi. ro'yxatini quyida topishingiz mumkin. siz hammasini hisob varag'ida, shu jumladan narxda ham topishingiz mumkin.

  1. Malinali pi 3
  2. T-poshnali kesish taxtasi
  3. PIR sensori
  4. Yorug'lik sensori
  5. Ovozni aniqlash sensori
  6. Buzzer
  7. LCD displey
  8. Tugma

1 -qadam: Uskuna

Uskuna
Uskuna

Hamma narsani qurishni boshlashdan oldin, men fritzing bo'yicha 2 ta sxemani (1 ta elektr va 1 ta non taxtasida) tuzdim va unda nuqson yo'qligiga ishonch hosil qildim. Hammasi yaxshi ekaniga amin bo'lganimdan so'ng, men loyihani boshladim. Birinchidan, men signal va tugma bilan boshladim, chunki bu eng oson komponentlar edi. Shundan so'ng men displeyimni malina pi ga uladim. Oxirida men sensorlarimni uladim. yorug'lik sensori va harakat sensori oson, chunki sizga boshqa hech narsa kerak emas, lekin PIR sensori qo'shimcha narsaga muhtoj. PIR qisqa tutashuv qilmasligini ta'minlash uchun siz kuchlanish ko'prigidan foydalanishingiz kerak. Bu shuni anglatadiki, hamma narsa yaxshi ketayotganiga ishonch hosil qilish uchun siz qo'shimcha 1k va 2k ohmli rezistorlardan foydalanishingiz kerak. Pimlarning aniq ishlatilishi va hamma narsani pi -ga qanday ulashni sxemalarda topishingiz mumkin.

2 -qadam: ma'lumotlar bazasi

Ma'lumotlar bazasi
Ma'lumotlar bazasi

Ma'lumotni saqlash uchun menga ma'lumotlar bazasi kerak edi.

Mening ma'lumotlar bazam 6 ta jadvaldan iborat.

  1. Sensor
  2. Tarix_sensorlari
  3. Shaxs
  4. Signal_ odami
  5. Uyqu_ otasi
  6. Signal

ma'lumotlar bazasida 2 qism mavjud. Sensorlar uchun 1, odam va uning barcha statistikasi uchun 1.

Sensor jadvalida identifikator va ism mavjud. Bu jadval ID, qiymat, Sensor_id va ismga ega bo'lgan History_sensors -ga ulangan. sensor_id qaysi sensor qiymatga ega ekanligini bilish uchun kerak va sana qachon o'lchaganini bilish kerak.

Jadvaldagi shaxs ID, ism va parolni o'z ichiga oladi. Kirish uchun parol va ism kerak, shuning uchun hech kim sizga signal berolmaydi. Bu jadval sleep_pattern va Alarm_person jadvaliga ulangan. "Sleep_patern" jadvalida identifikator, "Soat_sleep", "Date", "Person_id", "Bedtime" va "Wake_up_time" mavjud. Bu erda sizning uyqu otangiz haqida grafik yaratish uchun ma'lumotlar saqlanadi.

Alarm_person jadvali Person_id, Alarm_id va vaqtni o'z ichiga oladi. Bu jadval kerak, chunki har xil odamlar bir vaqtning o'zida signalni ishlatishi mumkin va 1 kishi bir nechta signaldan foydalanishi mumkin. Oxirgi jadval - signalli stol. Bu identifikator va tavsifni o'z ichiga oladi.

3-qadam: orqa qism

Orqa tomon
Orqa tomon
Orqa tomon
Orqa tomon

Oxirida men turli xil funktsiyalarni yozishim kerak edi.

  1. stol sensorlarini so'rang
  2. history_sensors jadvalini so'rang
  3. uyqu rejimini so'rang
  4. yangi signal qo'ying
  5. stol signalini so'rang
  6. foydalanuvchini ro'yxatdan o'tkazish
  7. Kirish
  8. sensorlarning qiymatlarini history_sensors jadvaliga qo'ying

Men pycharmdan foydalandim va kodni pythonda yozdim.

barcha funktsiyalar uchun @app.route va keyin manzilni ishlataman. har safar boshqa manzilni ishlatishingiz kerak, chunki aks holda u ishlamaydi. Shundan so'ng men if funktsiyasini usuli sifatida yozaman, agar bu to'g'ri bo'lsa, u kodni bajaradi. if qiymatida ma'lumotlarni olish yoki ma'lumotlarni qo'yish uchun try catch va sql bayonoti mavjud.

Sensorli funktsiyalar uchun bu boshqacha. Bu erda men @app.route -dan foydalanmadim, faqat sensor uchun funktsiyani qildim. bu erda siz pinlaringizni e'lon qilasiz va qayta qo'ng'iroq qilish funktsiyasini bajarasiz. Shunday qilib, sensor har safar biror narsani aniqlasa, vazifa bajariladi. Qayta qo'ng'iroq qilish funktsiyasida men sensordan biror narsa aniqlanganda ishlaydigan if dan foydalanardim. If -da, ma'lumotlar jadvalga sql ifodasi bilan kiritiladi. U erda uxlash ham bor, chunki aks holda jadvalga faqat 1 ta aniqlash uchun juda ko'p qiymat qo'yiladi.

Github -da siz loyihaning to'liq kodini topishingiz mumkin.

4 -qadam: veb -sayt

Veb -sayt
Veb -sayt
Veb -sayt
Veb -sayt
Veb -sayt
Veb -sayt

Mening veb -saytim uchun men html va css bilan ishladim, veb -saytimda 11 html sahifasi bor.

Sahifalar juda ko'p, chunki hamma narsa veb -sayt orqali ishlaydi. siz signal o'rnatishingiz, signal qo'shishingiz va o'chirishingiz mumkin. Sozlamalar sahifasida siz parol va elektron pochtangizni o'zgartirishingiz mumkin. Sizning uyqu rejimingiz uchun sahifangiz bor. Siz uxlagan va uyg'ongan paytingizni ham qo'shishingiz mumkin. Ijobiy tomoni shundaki, har bir sahifa bir xil ko'rinishga ega va asosan bir xil narsalardan foydalanadi, shuning uchun CSS har bir sahifada bir xil bo'ladi.

5-qadam: oldingi qism

Old qismi javascriptda yozilgan.

6 -qadam: ish

Koson
Koson
Koson
Koson

Mening ishim uchun men yog'ochdan foydalanishni tanladim. Kesish unchalik qiyin emas, chiroyli ko'rinadi. Mening sumkam 26 sm, 14 sm va balandligi 7, 5 sm. Bu juda katta, chunki hamma narsaga mos bo'lishi kerak. Men sensorlar, tugma va lcd uchun teshiklar qildim, shunda vaqt ko'rinadi va sensorlar harakatni yoki yorug'likni aniqlay oladi. Buning uchun men lazer kesgichdan foydalandim. Ishning ichida mening non taxtam va malina pi bor.

Tavsiya: