Оглавление:
- Шаг 1: Шаг 1: Сбор компонентов
- Шаг 2: Шаг 2: Схема
- Шаг 3: Шаг 3: Настройка Raspberry Pi
- Шаг 4: Шаг 4: Подключение Raspberry Pi
- Шаг 5: Шаг 5: Измените настройки с помощью Raspi-config
- Шаг 6: Шаг 6: Измените настройки в /boot/config.txt
- Шаг 7: Шаг 7: Добавьте пользователя в нужные группы
- Шаг 8: Шаг 8: База данных
- Шаг 9: Шаг 9: код Python
- Шаг 10: Шаг 10: Автозапуск кода Python
- Шаг 11: Шаг 11: Код Arduino
- Шаг 12: Шаг 12: Веб-сервер
- Шаг 13: Шаг 13: Создание внешнего вида
Видео: Умный будильник: 13 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Здравствуйте, меня зовут Александра Кристиаенс, и я изучаю медиа и коммуникационные технологии в Howest в Кортрейке, Бельгия.
В качестве школьного задания от нас требовали сделать устройство IoT. Нас побуждали сделать что-то, что изменило бы нашу жизнь или жизнь людей, которых мы знаем. Мне было довольно сложно найти проект, и когда я пытался найти подходящий, я часто думал: «Я слишком устал для этого». В конце концов я понял, что это может быть мой проект: я сделаю умный будильник, который будет помогать мне вставать утром и помогать мне вовремя ложиться спать вечером. Поскольку требования к этому назначению диктовали, что мы должны использовать Raspberry Pi для запуска всего, я решил назвать свое устройство «Sleepi» в качестве каламбура.
Если вы хотите сделать это устройство самостоятельно и получить приличный режим сна, как я, то ознакомьтесь с этим удобным руководством, которое я написал ниже. Если вы хотите узнать больше обо мне и других проектах, которые я сделал или буду делать, посмотрите мое портфолио.
Шаг 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: Схема
Собрав все компоненты, можно было все подключать. Сначала я сделал схему 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
Для подключения
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: База данных
Чтобы иметь возможность хранить различное время будильника, установленное пользователем, и различные значения датчиков, мне пришлось создать базу данных. Вы можете увидеть схему базы данных выше.
Чтобы добавить базу данных в 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
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: Веб-сервер
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: Создание внешнего вида
Внешний вид будильника можно сделать как угодно! Я сделал коробку для своего будильника из мультиплексной деревянной панели шириной 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 мм). Однако использование меньших винтов немного снижает устойчивость коробки.
Рекомендуемые:
Умный будильник с использованием Magicbit (Arduino): 10 шагов
Умный будильник с использованием Magicbit (Arduino): в этом руководстве показано, как сделать умный будильник с помощью OLED-дисплея на плате Magicbit dev без использования какого-либо модуля RTC
WakeupNow - умный будильник: 8 шагов
WakeupNow - Умный будильник: Как всем известно, жизнь студентов очень тяжелая, у них длинный день с лекциями, много домашних заданий и в целом у них сумасшедшая жизнь. У них нет времени ни на что, и если вы предложите им добавить несколько часов в день, они будут рады. Unfo
Wake Me Up - умный будильник: 6 шагов
Умный будильник «Разбуди меня»: «Разбуди меня» - это умный будильник, который также можно использовать как умный свет. Встроенная светодиодная полоса имитирует естественный свет, проникающий в вашу комнату. Это позволяет спокойно и естественно начать свой день. Будильник также оборудован сегм
Умный будильник: умный будильник на Raspberry Pi: 10 шагов (с изображениями)
Умный будильник: умный будильник на Raspberry Pi: вы когда-нибудь хотели умные часы? Если да, то это решение для вас! Я сделал Smart Alarm Clock, это часы, в которых вы можете менять время будильника в соответствии с веб-сайтом. При срабатывании будильника раздастся звуковой сигнал (зуммер) и загорятся 2 лампочки
GOOB - умный будильник: 15 шагов (с картинками)
GOOB - умный будильник: GOOB - это аббревиатура от «Get Out Of Bed», подходящее название для моего проекта. Я хотел создать устройство, которое поможет разбудить меня по утрам, потому что это не самая простая задача. Основная идея в том, что будильник не останавливает сигнал