Оглавление:

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

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

Видео: Умный будильник: 13 шагов
Видео: 10 скрытых фишек будильника на iPhone 2024, Июль
Anonim
Умный будильник
Умный будильник

Здравствуйте, меня зовут Александра Кристиаенс, и я изучаю медиа и коммуникационные технологии в Howest в Кортрейке, Бельгия.

В качестве школьного задания от нас требовали сделать устройство IoT. Нас побуждали сделать что-то, что изменило бы нашу жизнь или жизнь людей, которых мы знаем. Мне было довольно сложно найти проект, и когда я пытался найти подходящий, я часто думал: «Я слишком устал для этого». В конце концов я понял, что это может быть мой проект: я сделаю умный будильник, который будет помогать мне вставать утром и помогать мне вовремя ложиться спать вечером. Поскольку требования к этому назначению диктовали, что мы должны использовать Raspberry Pi для запуска всего, я решил назвать свое устройство «Sleepi» в качестве каламбура.

Если вы хотите сделать это устройство самостоятельно и получить приличный режим сна, как я, то ознакомьтесь с этим удобным руководством, которое я написал ниже. Если вы хотите узнать больше обо мне и других проектах, которые я сделал или буду делать, посмотрите мое портфолио.

Шаг 1: Шаг 1: Сбор компонентов

Шаг 1: Сбор компонентов
Шаг 1: Сбор компонентов
Шаг 1: Сбор компонентов
Шаг 1: Сбор компонентов
Шаг 1: Сбор компонентов
Шаг 1: Сбор компонентов

Итак, обо всем по порядку, прежде чем приступить к созданию, давайте удостоверимся, что у нас есть все необходимое. Я составил список самых важных компонентов. Ниже вы можете найти PDF-файл с более подробной информацией о компонентах.

- 1 х Raspberry Pi 3 модель B

- 1 х (пустая) карта microSD и адаптер (у меня карта на 16 ГБ, но 8 ГБ достаточно)

- 1 блок питания 5 В для Raspberry Pi

- 1 кабель Ethernet

- 2 батареи по 9 В

- 2 батарейных зажима на 9 В

- 1 плата расширения GPIO 40 pin и радужный кабель

- 2 x BB830 Plug-in Breadbord без пайки

- 1 х Arduino Uno

- 1 x 0,56-дюймовый 4 * 7-сегментный дисплей

- 1x датчик температуры DS18B20

- 1 x датчик освещенности TSL2561

- 1 ЖК-экран 1602A

- 1 преобразователь уровня

- 1 х регистр переключения передач SN74HC595N

- 1 х поворотный энкодер

- 1 потенциометр

- 1 светодиод Power RGB

- 1 х динамик

- 4 транзистора 337В

- 1 х диод

- 1 кнопка

- 3 xl4005 31 светодиодный драйвер

- 7 резисторов (2 x 10 кОм, 4 x 1 кОм, 1 x 470 Ом)

- Различные кабельные перемычки (мужчина к мужчине и мужчина к женщине)

По желанию:

- 1 мультиплексная деревянная панель (я использовал одну со следующими размерами, которых было более чем достаточно: 860 мм x 860 мм x 5 мм)

- Различные инструменты для деревообработки

- Акриловая краска понравившегося вам цвета

Шаг 2: Шаг 2: Схема

Шаг 2: схемы
Шаг 2: схемы

Собрав все компоненты, можно было все подключать. Сначала я сделал схему Fritzing, чтобы убедиться, что я не зажгу какие-либо компоненты из-за их неправильного подключения. Получив отзывы от моих учителей, я внес некоторые исправления, которые привели к следующей принципиальной схеме и схеме подключения:

Большинство контактов GPIO взаимозаменяемы, поэтому вы можете переключить некоторые из них, если хотите. Однако не забудьте соответствующим образом изменить пин-коды в коде.

Однако некоторые элементы должны быть подключены к определенным контактам. Убедитесь, что датчик освещенности подключен к GPIO 23 (SDA) и GPIO 24 (SCL) соответственно. Я объясню, почему это важно, на шаге 5.

Шаг 3: Шаг 3: Настройка Raspberry Pi

Пришло время настроить наш Pi:

1. Вставьте карту microSD в адаптер и подключите ее к компьютеру.

Если ваша карта microSD не пуста, сначала отформатируйте ее предпочтительным способом.

2. Установите программное обеспечение ОС Raspbian с веб-сайта Raspberry pi.

Загрузите ZIP-файл и распакуйте его в желаемое место.

3. Загрузите диспетчер дисков Win32.

Щелкните значок папки, чтобы выбрать изображение. Выберите карту microSD в разделе «Устройство». Нажмите «Записать».

Когда изображение записано на вашу карту MicroSD, вы можете открыть его в проводнике Windows.

Откройте файл «cmdline.txt» В конце файла добавьте следующую строку текста: ip = 169.254.10.1 Убедитесь, что все находится в одной строке. Сохраните файл.

Теперь извлеките карту MicroSD из компьютера. Убедитесь, что питание вашего Pi выключено, и вставьте карту в Raspberry Pi.

Подключите кабель Ethernet к вашему Pi и вашему компьютеру.

Подайте питание на свой Pi с помощью адаптера питания 5,2 В.

Шаг 4: Шаг 4: Подключение Raspberry Pi

Шаг 4: Подключение Raspberry Pi
Шаг 4: Подключение Raspberry Pi

Для подключения

Pi с нашим компьютером, мы будем использовать Putty.

1. Установите Putty и откройте его.

2. Введите IP-адрес и порт, как показано на рисунке, и нажмите «открыть».

3. Войдите в систему со следующими настройками по умолчанию:

а. Имя пользователя: pi

б. Пароль: малина

4. Чтобы настроить Wi-Fi:

а. Судо нано /etc/wpa_supllicant/wpa_supllicant.conf

б. Внизу файла добавьте следующие строки:

я. Сеть = {

II. ssid = "Введите имя вашей беспроводной сети"

iii. psk = "Введите пароль вашей беспроводной сети"

iv. }

c. Закройте файл и сохраните его

5. Введите следующую команду, чтобы узнать IP-адрес вашего Pi: ifconfig wlan0

6. Теперь вы можете использовать этот IP-адрес в Putty для беспроводного подключения (см. Выше).

Шаг 5: Шаг 5: Измените настройки с помощью Raspi-config

Теперь нам нужно убедиться, что Pi может взаимодействовать со всеми нашими компонентами.

Мы изменим некоторые настройки в raspi-config

Откройте raspi-config командой:

sudo raspi-config

2. Выберите 4 варианта локализации.

3. Выберите I2 Изменить часовой пояс.

4. Измените часовой пояс на местный часовой пояс и вернитесь к raspi-config.

5. Выберите 5 параметров интерфейса.

6. Выберите P5 I2C.

7. Включите связь I2C.

8. Выберите 5 вариантов интерфейса.

9. Выберите P6 Serial.

10. Отключите оболочку входа в систему.

11. Включите последовательную связь.

Шаг 6: Шаг 6: Измените настройки в /boot/config.txt

Теперь мы должны перенастроить кое-что в файле /boot/config.txt.

1. Откройте файл:

судо нано /boot/config.txt

2. Внизу вы должны увидеть:

enable_uart = 1

Это потому, что мы ранее включили последовательный порт.

3. Добавьте следующие две строки:

dtoverlay = pi3-miniuart-bt

dtoverlay = i2c-gpio, bus = 3

Raspberry Pi 3 имеет 2 последовательных порта: аппаратный последовательный порт и программный последовательный порт. С помощью первой команды мы назначаем программный последовательный порт функции Bluetooth и назначаем последовательный порт оборудования контактам Rx и Tx, которые мы будем использовать для связи с Arduino.

Вторая строка активирует программную шину I²C на Pi. Это связано с тем, что аппаратная шина I²C иногда выдает ошибки, когда датчик, подключенный к этой шине I²C, использует растяжение тактовой частоты. Программная шина I²C будет автоматически активна на GPIO 23 (SDA) и GPIO 4 (SCL), поэтому было так важно правильно подключить датчик освещенности, который использует I²C для отправки данных.

Шаг 7: Шаг 7: Добавьте пользователя в нужные группы

Наконец, добавьте пользователя в несколько групп:

1. Проверьте, к каким группам принадлежит ваш текущий пользователь:

группирует your_username

2. Для работы всех функций пользователь должен принадлежать к следующим группам:

ADM Dialout sudo input netdev gpio i2c spi ·

При необходимости добавьте пользователя в соответствующие группы:

sudo adduser your_username имя группы

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

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

Чтобы иметь возможность хранить различное время будильника, установленное пользователем, и различные значения датчиков, мне пришлось создать базу данных. Вы можете увидеть схему базы данных выше.

Чтобы добавить базу данных в Raspberry Pi, выполните следующие действия:

1. Сделайте подключение через Putty

2. Обновите MySQL.

sudo apt-get update

sudo apt-get install mysql-server --fix-missing -y

перезагрузка sudo

3. Защитите MariaDB

sudo mysql_secore_installation

4. Войдите в MariaDB.

sudo mysql -u корень

5. В настоящее время в базе данных нет пользователей. Мы используем этот код для создания пользователя, вам просто нужно ввести пользователя и пароль:

ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА *. * ‘Fill_in_your_chosen_username’ @’%’

ИДЕНТИФИЦИРОВАНО "fill_in_your_chosen_password" С ОПЦИЕЙ GRANT;

СМЫВАТЬ ПРИВИЛЕГИИ; ВЫХОД;

6. Загрузите базу данных с Github.

7. Установите верстак.

8. Установите соединение в workbench с вашим пи и запустите файл.

Шаг 9: Шаг 9: код Python

1. Загрузите и сохраните файлы Python с Github.

2. Загрузите и откройте Pycharm.

3. Создайте интерпретатор и конфигурацию развертывания, подходящую для вашего Raspberry Pi.

4. Отредактируйте файл mainCode1.py в Pycharm и измените номера контактов и настройки базы данных на свои личные настройки из предыдущих шагов.

Шаг 10: Шаг 10: Автозапуск кода Python

Шаг 10: автозапуск кода Python
Шаг 10: автозапуск кода Python

1. Установите соединение Putty с вашим Pi.

2. Откройте файл /etc/rc.local:

sudo nano /etc/rc.local

3. Перед выходом добавьте следующие строки:

спать 60

python3 /path_from_root_to_your_pythonfile/name_of_your_pythonfile.py

Шаг 11: Шаг 11: Код Arduino

1. Загрузите и сохраните файл.ino с Github.

2. Подключите Arduino к ноутбуку через USB.

3. Отсоедините кабели Rx и Tx, соединяющие Arduino с Raspberry Pi.

4. Откройте файл и загрузите его в Arduino.

5. Отсоедините Arduino от ноутбука и правильно подключите кабели Rx и Tx.

6. Подайте питание на Arduino. На дисплее 4 * 7 сегментов теперь должно отображаться 12:34.

Шаг 12: Шаг 12: Веб-сервер

Шаг 12: Веб-сервер
Шаг 12: Веб-сервер

1. Установите apache:

sudo apt install apache2 -y

2. Станьте владельцем каталога / var / www / html:

sudo chown pi / var / www / html

3. Заходим в каталог:

cd / var / www / html

4. Проверьте, являетесь ли вы владельцем вместо root:

ls -al

5. Загрузите и откройте Filezilla.

6. Установите соединение со своим пи, как показано на рисунке. (либо используйте 169.254.10.1 и кабель Ethernet, либо подключитесь через Wi-Fi)

а. Заходим в каталог / var / www / html

б. Удалить страницу index.html по умолчанию

c. Переместите все файлы внешнего интерфейса в этот каталог

Шаг 13: Шаг 13: Создание внешнего вида

Шаг 13: построение внешнего вида
Шаг 13: построение внешнего вида
Шаг 13: построение внешнего вида
Шаг 13: построение внешнего вида
Шаг 13: построение внешнего вида
Шаг 13: построение внешнего вида

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

1. Нарисуйте на мультиплексной панели следующие фигуры:

Стороны: 2 x квадрат (180 мм x 180 мм)

Верх и низ: 2 прямоугольника (180 мм x 300 мм)

Спереди и сзади: 2 прямоугольника (170 мм x 300 мм)

2. Распилите и отшлифуйте каждую форму квадрата и прямоугольника.

3. Возьмите запасную древесину и сделайте небольшие доски высотой 20 мм и шириной 20 мм.

4. Прикрутите небольшие планки к внутренней стороне (нижней, передней и задней) мультиплекса, как показано на фотографиях.

5. Решите, где вы хотите сделать соответствующие отверстия для ЖК-экрана, 4 * 7-сегментного дисплея, динамика, датчика освещенности, светодиода RGB, поворотного энкодера и кнопки.

6. Измерьте каждый компонент, который вы хотите показать снаружи, и нарисуйте фигуры подходящего размера на мультиплексе.

7. Вырежьте необходимые кусочки.

8. Прикрепите петли снаружи коробки, соединив верхнюю и заднюю части.

9. Прикрепите магнит с внутренней стороны передней части и небольшую металлическую пластину с внутренней стороны верхней части.

10. Прикрутите или приклейте все, где хотите.

11. Соберите коробку, скрутив вместе все внешние стороны (кроме верхней).

Вы можете пропустить 3 и 4, если используете винты меньшего размера (я использовал винты 12 мм). Однако использование меньших винтов немного снижает устойчивость коробки.

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