Съдържание:

SmartHome с Raspberry Pi: 5 стъпки
SmartHome с Raspberry Pi: 5 стъпки

Видео: SmartHome с Raspberry Pi: 5 стъпки

Видео: SmartHome с Raspberry Pi: 5 стъпки
Видео: HOW TO - Create a Raspberry Pi Smart Home Kiosk (Home Assistant) 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 стъпков двигател (5V)
  • 1 RFID-RC522 четец
  • 8 резистора (220 ома)
  • 1 резистор (10K Ohm)
  • 2 дъски
  • 2 опаковки джъмпер проводници
  • 1 16x2 LCD дисплей
  • 1 PCF8574AN
  • 4 малки прозорци (3D отпечатани)
  • 1 врата (3D печат)
  • 2 големи прозорци (3D отпечатани)
  • 1 гаражна врата (3D печат)

Ако имате нужда от всичко това, за да купите, максималната цена ще бъде около 150 евро

Стъпка 1: Окабеляване

Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации

Най -лесният начин да започнете е с окабеляването, така че вече да имате основите, с този метод можете лесно да проверите дали всичко работи, когато пишете кода.

По този начин можете да видите дали имате достатъчно щифтове на Raspberry Pi, за да свържете всичко. В този случай използвах PCF8574AN, за да контролирам моя LCD с по -малко GPIO щифтове.

За да нарисувам схемата използвах Fritzing. Това е удобна програма, в която можете да видите вашите кабели по добре организиран начин.

Както можете да видите на втората снимка, има много кабели, така че все още трябва да работите организирано.

Стъпка 2: Жилища

Жилища
Жилища
Жилища
Жилища
Жилища
Жилища
Жилища
Жилища

За корпуса използвах дъски от пяна като стени. Използвах нож, за да изрежа дъските в желаните форми. Прозорците, вратите и гаражните врати са 3D отпечатани. Разбира се, чертах къщата предварително, така че знаех какви размери трябва да използвам.

Използвах SketchUp, за да нарисувам къщата. Използвах пистолет за лепило, за да поддържам стените прави и да ги държат заедно. Ако можете да видите на снимките, прозорецът и гаражната врата са прикрепени с лепило, така че да са достатъчно здрави. Черната кутия на 3 -та снимка е кутия, която използвах за транспортиране, така че всичко да остане непокътнато

Стъпка 3: База данни

База данни
База данни

На първо място, трябва да проектирате базата данни с помощта на Mysql Workbench. Ако това е успешно, трябва да инсталирате базата данни Mysql на Raspberry Pi.

Първата стъпка, която предприемате, е да проверите дали вашият Pi е актуализиран. Можете да използвате следната команда:

sudo apt-get update

и

sudo apt-get надстройка

Сега можете да инсталирате сървъра Mysql:

sudo apt-get install mysql-server

Ако сървърът Mysql е инсталиран, инсталирайте клиента Mysql

sudo apt-get install mysql-client

Ако сега погледнете sql сървъра чрез командата:

sudo mysql

Вече можете да импортирате кода на вашата база данни, като отворите.mwb файла с sql workbench и forward engineer, Копирате кода и го поставите в mysql от Raspberry. Базата данни е направена.

За да може потребителят да получи всички разрешения, просто добавете потребителското си име в таблицата

предоставете всички привилегии на smarthome.* на 'yourname'@'%' идентифицирано с 'yourname';

разбира се, трябва да опресните таблицата сега

ФЛУШ ПРИВИЛЕГИ;

За да проверите това, можете просто да опитате:

използвайте smarthome;

изберете * от historiek;

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

Стъпка 4: Настройка

За да настроите изображението на Raspberry Pi, можете да използвате Putty, това е безплатна програма. Можете да намерите основния файл с изображение тук:

Интерфейси

Разбира се, трябва да активирате някои интерфейси на Pi. Първо отидете на страницата за конфигуриране.

sudo raspi-config

Сега можете да преминете към категориите 1-Wire и Spi и двете да ги активират. Те ще ви трябват за температурния сензор.

Wifi

Следвайте следващите стъпки, за да получите wifi на Pi.

Първо влезте като root

sudo-i

След това попълнете името и паролата на вашата wifi мрежа

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

След това въведете WPA клиента

wpa_cli

изберете интерфейса

интерфейс wlan0

Сега презаредете конфигурацията

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

И сега можете да проверите дали сте свързани

ip a

Пакети

Първото нещо, което трябва да направите, е да актуализирате най -новите версии

sudo apt актуализация

За python инсталираме и се уверяваме, че Pi избира правилната версия

update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1update-alternatives --install/usr/bin/python python/usr/bin/python3 2

За да може уеб сървърът да изпълнява сайта, трябва да инсталираме Apache2

sudo apt инсталирате apache2 -y

Трябва да се инсталират и някои пакети на python

  • Колба
  • Flask-Cors
  • 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…

Препоръчано: