Оглавление:

SmartHome с Raspberry Pi: 5 шагов
SmartHome с Raspberry Pi: 5 шагов

Видео: SmartHome с Raspberry Pi: 5 шагов

Видео: SmartHome с Raspberry Pi: 5 шагов
Видео: Raspberry pi 5 inch HDMI Screen Installation | #Shorts 2024, Июль
Anonim
SmartHome с Raspberry Pi
SmartHome с Raspberry Pi

Для этого проекта я сделал SmartHome, которым можно управлять как с веб-сайта, так и с мобильного устройства. Для этого я использую Raspberry PI как базу данных и веб-сервер.

Запасы

Если вы хотите начать это, вам понадобится несколько вещей:

  • 5 белых светодиодов (5 мм)
  • 1 однопроводной датчик температуры
  • 1 LDR (светозависимый резистор)
  • 2 серводвигателя
  • 1 карта памяти microSD (для Raspberry Pi)
  • 1 Источник питания макетной платы
  • 1 Raspberry Pi 3 Модель B +
  • 3 пенопласта
  • 1 шаговый двигатель (5 В)
  • 1 считыватель RFID-RC522
  • 8 резисторов (220 Ом)
  • 1 резистор (10 кОм)
  • 2 макета
  • 2 упаковки перемычек
  • 1 ЖК-дисплей 16x2
  • 1 PCF8574AN
  • 4 маленьких окна (3D-печать)
  • 1 дверь (3D-печать)
  • 2 больших окна (3D-печать)
  • 1 гаражная дверь (3D-печать)

Если вам нужно все это купить, максимальная стоимость составит около 150 евро.

Шаг 1. Подключение

Проводка
Проводка
Проводка
Проводка
Проводка
Проводка

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

Таким образом, вы можете увидеть, достаточно ли у вас контактов на Raspberry Pi для подключения всего. В этом случае я использовал PCF8574AN для управления своим ЖК-дисплеем с меньшим количеством контактов GPIO.

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

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

Шаг 2: жилье

Корпус
Корпус
Корпус
Корпус
Корпус
Корпус
Корпус
Корпус

Для жилья я использовал пенопласт в качестве стен. Я использовал нож, чтобы вырезать доски желаемой формы. Окна, двери и гаражные ворота напечатаны на 3D-принтере. Конечно, я нарисовал дом заранее, поэтому знал, какие размеры мне нужно использовать.

Я использовал SketchUp, чтобы нарисовать дом. Я использовал клеевой пистолет, чтобы держать стены ровными и удерживать их вместе. Если вы видите на фотографиях, окно и дверь гаража прикреплены с помощью клея, чтобы он был достаточно прочным. на 3-м фото ящик, который я использовал для перевозки, чтобы все осталось в целости и сохранности

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

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

Прежде всего, вам нужно спроектировать базу данных с помощью Mysql Workbench. Если это удалось, вам необходимо установить базу данных Mysql на Raspberry Pi.

Первое, что вы сделаете, - это проверить, обновлен ли ваш Pi. Вы можете использовать следующую команду:

sudo apt-get update

а также

sudo apt-get upgrade

Теперь вы можете установить сервер Mysql:

sudo apt-get установить mysql-server

Если установлен сервер Mysql, установите клиент Mysql.

sudo apt-get установить mysql-client

Если вы теперь посмотрите на sql-сервер с помощью команды:

sudo mysql

Теперь вы можете импортировать код своей базы данных, открыв файл.mwb с помощью инструментальных средств sql и форвард-инженера. Вы копируете код и вставляете его в mysql из Raspberry. База данных сделана.

Чтобы пользователь получил все разрешения, просто добавьте свое имя пользователя в таблицу

предоставить все привилегии на smarthome. * пользователю 'yourname' @ '%', идентифицированному 'yourname';

конечно, вам нужно обновить таблицу сейчас

ПРИВИЛЕГИИ ПРОМЫВКИ;

Чтобы проверить это, вы можете просто попробовать:

пользоваться умным домом;

выберите * из историческихек;

В таблице пользователей имена пользователей объединяются с их значками, здесь вы можете добавлять новых пользователей. В таблице устройств вы можете найти все активные датчики с их идентификаторами. В таблице Historiek показано все, что происходит, например, датчик температуры, значок с статусом ворот гаража и многое другое.

Шаг 4: настройка

Чтобы установить изображение на Raspberry Pi, вы можете использовать Putty, это бесплатная программа. Вы можете найти файл базового образа здесь:

Интерфейсы

Конечно, вам нужно включить некоторые интерфейсы на Pi. Сначала перейдите на страницу конфигурации.

sudo raspi-config

Теперь вы можете перейти к категориям 1-Wire и Spi и включить их обе. Они понадобятся вам для датчика температуры.

вай фай

Выполните следующие действия, чтобы получить Wi-Fi на Pi.

Сначала войдите как root

судо-я

Затем введите имя и пароль вашей сети Wi-Fi

wpa_passphrase = "wifiname" "пароль" >> /etc/wpa_supplicant/wpa_supplicant.conf

Затем войдите в клиент WPA

wpa_cli

выберите интерфейс

интерфейс wlan0

Теперь перезагрузите конфиг

переконфигурировать

А теперь вы можете проверить, подключены ли вы

ip a

Пакеты

Первое, что нужно сделать, это обновить последние версии

sudo apt update

Для python мы устанавливаем и убеждаемся, что Pi выбирает правильную версию

альтернативы обновлений --install / usr / bin / python python /usr/bin/python2.7 1update-alternatives --install / usr / bin / python python / usr / bin / python3 2

Чтобы веб-сервер запускал сайт, нам необходимо установить Apache2.

sudo apt install apache2 -y

Также необходимо установить некоторые пакеты python

  • Колба
  • Фляга-Корс
  • Flask-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Python-socketIO
  • Запросы
  • пип
  • gpio
  • Gevent
  • Gevent-websocket

если есть проблемы с пакетом, который не найден, просто щелкните его правой кнопкой мыши и дайте ему установить.

Шаг 5: Код

Код
Код
Код
Код

бэкэнд

Для бэкэнда мы пишем код на python и используем для записи pycharm. Маршруты из бэкэнда можно проверить у почтальона. С помощью этого приложения вы можете использовать методы POST и GET. В бэкэнде я использовал многопоточность, поэтому все работает в фоновом режиме и может работать вместе. Чтобы установить изображение на Raspberry Pi, вы можете использовать Putty, это бесплатная программа.

внешний интерфейс

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

Вы можете найти код для внешнего и внутреннего интерфейса на

github.com/NMCT-S2-Project-1/nmct-s2-proje…

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