Мазмуну:

Smart Alarm: 6 кадам
Smart Alarm: 6 кадам

Video: Smart Alarm: 6 кадам

Video: Smart Alarm: 6 кадам
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Ноябрь
Anonim
Smart Alarm
Smart Alarm

Мектептен мен проект жасоого тапшырма алдым. Мен Smart ойготкучту тандадым, анткени мен ар дайым ойготкучум аркылуу уктап, анан мектепти сагынам. Сиз ойготкучту жарык, үн жана кыймыл бар болгондо гана өлтүрө аласыз, андыктан кайра уктай албайсыз же көзүңүздү ачпастан тындыра албайсыз. Уйку режимиңизди көрүп, ойготкучтарды коюп, жаңы ойготкучтарды жасай турган веб -сайт дагы бар.

Жабдуулар

Долбоорду куруу үчүн кээ бир материалдар керек. сиз төмөндө тизмесин таба аласыз. ошондой эле бааны кошо алганда материалдардын эсебинен баарын таба аласыз.

  1. Raspberry pi 3
  2. T-өтүкчү сынык тактасы
  3. PIR-сенсор
  4. Жарык сенсору
  5. Үн аныктоочу сенсор
  6. Коңгуроо
  7. LCD дисплей
  8. Button

1 -кадам: Аппараттык

Аппараттык
Аппараттык

Бардыгын кура электе, мен фритзинг боюнча 2 схеманы (1 электрдик жана 1 нан табакчасында) жасап, мында эч кандай мүчүлүштүктөр жок экенине ынануу үчүн көзөмөлгө алдым. Баары жайында экенине көзүм жеткенден кийин, мен долбоорду баштадым. Биринчиден, мен зумерден жана баскычтан баштадым, анткени бул эң оңой компоненттер болчу. Андан кийин мен дисплейимди малина pi менен байланыштырдым. Аягында мен сенсорлорумду туташтырдым. жарык сенсору жана кыймыл сенсору оңой, анткени сизге башка нерсенин кереги жок, бирок PIR сенсоруна кошумча нерсе керек. PIR кыска туташууну жаратпашы үчүн, чыңалуу көпүрөсүн колдонуу керек. Бул 1к жана 2к ом кошумча резисторун колдонуу керек экенин билдирет, баары жакшы болот. Пиндердин так колдонулушу жана бардыгын пи менен кантип байланыштыруу керектигин схемалардан таба аласыз.

2 -кадам: Маалыматтар базасы

Маалыматтар базасы
Маалыматтар базасы

Бардык маалыматтарды сактоо үчүн мага маалымат базасы керек болчу.

Менин маалымат базам 6 столдон турат.

  1. Сенсор
  2. History_sensors
  3. Person
  4. Alarm_person
  5. Sleep_patern
  6. Ойготкуч

маалымат базасында 2 бөлүк бар. Сенсорлор үчүн 1 жана адам жана анын бардык статистикасы үчүн 1.

Сенсордук таблицада ID жана ысым камтылган. Бул жадыбалда ID_sensors туташкан, анын идентификатору, мааниси, Sensor_id жана аты бар. sensor_id кайсы сенсор мааниге ээ экенин билүү үчүн керек жана датасы сенсор качан ченегенин билүү үчүн керек.

Таблицада ID, ысым жана сырсөз камтылган. Сырсөз жана ысым кирүү үчүн керек, андыктан башка эч ким сизге сигнал бере албайт. Бул таблица sleep_pattern столуна жана Alarm_person столуна туташкан. Sleep_patern столунда ID, Hours_sleep, Date, Person_id, Bedtime жана Wake_up_time бар. Ошентип, бул жерде сиздин уйкуңуздун атасы жөнүндө график түзүү үчүн сакталган маалыматтар.

Alarm_person столунда Person_id, Alarm_id жана убакыт камтылган. Бул стол керек, анткени ар кандай адамдар бир убакта сигналды колдоно алышат жана 1 адам бир нече сигналды колдоно алышат. Акыркы стол - сигнализация столу. Бул ID жана сүрөттөмөнү камтыйт.

3-кадам: Арткы аягы

Арткы аягы
Арткы аягы
Арткы аягы
Арткы аягы

Арткы аягында мен ар кандай функцияларды жазууга туура келди.

  1. стол сенсорлорун сураңыз
  2. table_sensors таблицасын сураңыз
  3. уйку режимин сураңыз
  4. жаңы ойготкуч коюңуз
  5. столдун ойготкучун сураңыз
  6. колдонуучуну каттоо
  7. кирүү
  8. history_sensors таблицасына сенсорлордун маанилерин коюңуз

Мен пихармды колдонуп, кодду питонго жаздым.

бардык функциялар үчүн мен @app.route жана андан кийин даректи колдоном. ар дайым башка даректи колдонуу керек, антпесе ал иштебейт. Андан кийин мен if функциясын метод менен жазам, бул чын болгондо ал кодду аткарат. if маанисинде маалыматтарды кармоо жана маалыматтарды жок кылуу үчүн аракет жана sql билдирүүсү бар.

Сенсорлор менен иштөө үчүн бул башкача. Бул жерде мен @app.route колдонгон жокмун, болгону сенсордун функциясын жасадым. бул жерде сиз төөнөгүчтөрүңүздү жарыялап, кайра чалуу функциясын жасайсыз. ушундай жол менен сенсор функцияны аткарган сайын бир нерсени аныктайт. Кайра чалуу функциясында мен сенсор бир нерсени аныктаганда иштей турган if колдондум. If -де sql билдирүүсү менен маалыматтарды столго коюу коду турат. Ал жерде дагы уйку бар, анткени антпесе ал таблицада өтө көп баалуулуктарды коюп, 1 гана аныктоого мүмкүндүк берет.

Менин githubдан сиз долбоордун толук кодун таба аласыз.

4 -кадам: Вебсайт

Вебсайт
Вебсайт
Вебсайт
Вебсайт
Вебсайт
Вебсайт

Менин веб -сайтым үчүн мен html жана css менен иштедим, менин веб -сайтымда 11 html барагы бар.

Барактар веб -сайтта иштегендиктен, барактар абдан көп. сиз ойготкучту коюп, ойготкучту кошуп, бирин өчүрө аласыз. Орнотуулар барагында сиз сырсөзүңүздү жана электрондук почтаңызды өзгөртө аласыз. Сизде уйку режимиңиз үчүн баракча бар. Сиз уктап кеткен жана ойгонгон учурду да кошо аласыз. Позитивдүү нерсе, ар бир барак бирдей көрүнөт жана көбүнчө бир эле нерсени колдонот, андыктан CSS ар бир баракта бирдей болот.

5-кадам: Front-end

Алдыңкы бети javascript менен жазылган.

6 -кадам: Case

Case
Case
Case
Case

Мен үчүн жыгачты колдонууну чечтим. Кесүү анча деле кыйын эмес, бул жагымдуу көрүнөт. Менин корпустун бийиктиги 7, 5 см болгон 14 см боюнча 26см. Бул ушунчалык чоң, анткени бардык нерсеге туура келиши керек. Мен сенсорлорго, баскычка жана LCDге тешиктерди жасадым, ошондуктан убакыт көрүнүп турат жана сенсорлор кыймылды же жарыкты аныктай алат. Буларды жасоо үчүн мен лазер кескичти колдондум. Корпустун ичинде менин нанды жана малина пи отурат.

Сунушталууда: