Оглавление:

Умный будильник: 6 шагов
Умный будильник: 6 шагов

Видео: Умный будильник: 6 шагов

Видео: Умный будильник: 6 шагов
Видео: MI BAND 6 - как установить Умный Будильник 2024, Ноябрь
Anonim
Умная сигнализация
Умная сигнализация

Еще со школы мне дали задание сделать проект. Я выбрал умный будильник, потому что я всегда сплю по будильнику и тогда скучаю по школе. Вы можете отключить будильник, только если есть свет, звук и движение, поэтому вы не можете заснуть или отложить его, не открывая глаза. Существует также веб-сайт, на котором вы можете просматривать свой режим сна, устанавливать будильники и создавать новые будильники.

Запасы

Для постройки проекта нужны материалы. вы можете найти список ниже. Вы также можете найти все обратно в ведомости материалов, включая цену.

  1. Малина пи 3
  2. Коммутационная панель t-cobbler
  3. ИК-датчик
  4. Световой датчик
  5. Датчик обнаружения звука
  6. Зуммер
  7. ЖК дисплей
  8. Кнопка

Шаг 1. Аппаратное обеспечение

Аппаратное обеспечение
Аппаратное обеспечение

Перед тем, как я начал собирать все, я сделал 2 схемы (1 электрическая и 1 на макете) на фритзинге и проверил их, чтобы убедиться, что в нем нет неисправностей. Убедившись, что все в порядке, я приступил к проекту. В первую очередь я начал с зуммера и кнопки, потому что это были самые простые компоненты. После этого я подключил свой дисплей к Raspberry Pi. В конце я подключил свои датчики. датчик освещенности и датчик движения просты, потому что вам больше ничего не нужно, но датчику PIR нужно что-то дополнительное. Чтобы избежать короткого замыкания PIR, необходимо использовать мост напряжения. Это означает, что вам нужно использовать дополнительный резистор на 1 кОм и 2 кОм, чтобы убедиться, что все идет хорошо. Точное использование контактов и то, как все подключить к пи, вы можете найти в схемах.

Шаг 2: База данных

База данных
База данных

Для хранения всех данных мне нужна была база данных.

Моя база данных состоит из 6 таблиц.

  1. Датчик
  2. History_sensors
  3. Человек
  4. Alarm_person
  5. Sleep_patern
  6. Тревога

в базе 2 части. 1 для датчиков и 1 для человека и всей его статистики.

Таблица датчиков содержит идентификатор и имя. Эта таблица связана с History_sensors, у которых есть ID, значение, Sensor_id и имя. sensor_id необходим, чтобы знать, какой датчик получил значение, а дата необходима, чтобы знать, когда датчик его измерил.

Таблица person содержит идентификатор, имя и пароль. Пароль и имя необходимы для входа в систему, чтобы никто другой не мог поставить за вас сигнал тревоги. Эта таблица связана с таблицей sleep_pattern и таблицей Alarm_person. Таблица Sleep_patern содержит ID, Hours_sleep, Date, Person_id, Bedtime и Wake_up_time. Итак, вот данные, которые хранятся для графического изображения вашего сна.

Таблица Alarm_person содержит Person_id, Alarm_id и время. Эта таблица необходима, потому что разные люди могут использовать будильник одновременно, а один человек может использовать несколько будильников. Последняя таблица - это таблица аварийных сигналов. Он содержит идентификатор и описание.

Шаг 3. Серверная часть

Бэк-энд
Бэк-энд
Бэк-энд
Бэк-энд

В back-end пришлось писать разные функции.

  1. спросите датчики стола
  2. запросить таблицу history_sensors
  3. спроси режим сна
  4. поставить новую сигнализацию
  5. попросить настольную сигнализацию
  6. зарегистрировать пользователя
  7. авторизоваться
  8. занести значения датчиков в таблицу history_sensors

Я использовал pycharm и написал код на python.

для всех функций я использую @ app.route, а затем адрес. каждый раз вам нужно использовать другой адрес, иначе это не сработает. После этого я пишу функцию if с методом в качестве значения, поэтому, когда это правда, он выполняет код. в значении if есть попытка catch и оператор sql для получения или удаления данных.

Для функций с датчиками все иначе. Здесь я не использовал @ app.route, а просто сделал функцию для датчика. здесь вы объявляете свои контакты и выполняете функцию обратного вызова. Таким образом, каждый раз, когда датчик что-то обнаруживает, функция выполняется. В функции обратного вызова я использовал if, который работает, когда датчик что-то обнаруживает. В if стоит код для помещения данных в таблицу с помощью оператора sql. В нем также есть сон, потому что в противном случае он поместил бы слишком много значений в таблицу только для одного обнаружения.

В моем гитхабе вы можете найти полный код проекта.

Шаг 4: Веб-сайт

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

Для своего сайта я работал с html и css, мой сайт содержит 11 страниц html.

Страниц столько, потому что на сайте все работает. вы можете установить будильник, добавить будильник и удалить его. На странице настроек вы можете изменить свой пароль и электронную почту. У вас есть страница с вашим режимом сна. Вы также можете добавить момент, когда вы заснули и когда проснулись. Положительным моментом является то, что каждая страница имеет одинаковый вид и в основном использует одни и те же вещи, поэтому CSS часто одинаков на всех страницах.

Шаг 5: интерфейс

Интерфейс написан на javascript.

Шаг 6: Дело

Случай
Случай
Случай
Случай

В моем случае я решил использовать дерево. Стричь не так уж и сложно, выглядит красиво. Мой футляр 26см на 14см при высоте 7,5см. Он такой большой, потому что все необходимое помещается внутрь. Я проделал отверстия для датчиков, кнопки и ЖК-дисплея, чтобы время было видно, а датчики могли обнаруживать движение или свет. Для их изготовления я использовал лазерный резак. Внутри корпуса находится мой макет и Raspberry Pi.

Рекомендуемые: