Мазмуну:

Raspberry Pi менен SmartHome: 5 кадам
Raspberry Pi менен SmartHome: 5 кадам

Video: Raspberry Pi менен SmartHome: 5 кадам

Video: Raspberry Pi менен SmartHome: 5 кадам
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Ноябрь
Anonim
Raspberry Pi менен SmartHome
Raspberry Pi менен SmartHome

Бул долбоор үчүн мен веб -сайт жана мобилдик тарабынан башкарыла турган SmartHome жасадым. Бул үчүн мен Raspberry PIди маалымат базасы жана веб -сервер катары колдоном.

Жабдуулар

Эгер сиз муну баштоону кааласаңыз, сизге бир нече нерсе керек:

  • 5 ак лед (5мм)
  • 1 бир зымдын температурасы сенсору
  • 1 LDR (жарыкка көз каранды каршылык)
  • 2 servo мотор
  • 1 microSD (Raspberry Pi үчүн)
  • 1 Breadboard ыйгарым укуктары
  • 1 Raspberry Pi 3 Model B+
  • 3 Көбүк табак
  • 1 кадам мотору (5V)
  • 1 RFID-RC522 окурманы
  • 8 резистор (220 Ом)
  • 1 каршылык (10K Ohm)
  • 2 Breadboards
  • 2 пакет секирүүчү зымдар
  • 1 16x2 ЖК дисплей
  • 1 PCF8574AN
  • 4 кичине терезе (3D басылган)
  • 1 эшик (3D басып чыгарылган)
  • 2 чоң терезе (3D басылган)
  • 1 гараждын эшиги (3D басылган)

Эгер сизге мунун баары керек болсо, максималдуу наркы 150 евронун тегерегинде болот

1 -кадам: Кабелдөө

Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү

Баштоонун эң оңой жолу - бул зымдарды колдонуу, андыктан сизде негиздер бар, бул ыкма менен сиз кодду жазып жатканда баары иштээрин оңой эле текшере аласыз.

Ошентип, сиз Raspberry Piде бардыгын туташтыруу үчүн жетиштүү төөнөгүчтөрүңүздүн бар -жогун көрө аласыз. Бул учурда мен азыраак GPIO казыктары менен ЖКны башкаруу үчүн PCF8574AN колдондум.

Схеманы тартуу үчүн Fritzing колдондум. Бул сиздин кабелди жакшы уюштурулган түрдө көрө турган ыңгайлуу программа.

Экинчи сүрөттө көрүнүп тургандай, көптөгөн кабелдер бар, андыктан дагы эле уюшкандыкта иштөө керек.

2 -кадам: Турак жай

Турак жай
Турак жай
Турак жай
Турак жай
Турак жай
Турак жай
Турак жай
Турак жай

Турак жай үчүн мен дубал катары көбүк тактайларды колдондум. Тактайларды керектүү формада бычак менен кесип алдым. Терезелер, эшиктер жана гараждын эшиги 3D принтерде басылган. Албетте, мен үйдү алдын ала чийип койгом, ошондуктан кандай өлчөмдөрдү колдонуу керек экенин билчүмүн.

Мен үйдү тартуу үчүн SketchUp колдончумун. Мен дубалдарды түз кармап, чогуу кармап туруу үчүн желим тапанча колдондум, эгер сүрөттөрдөн көрсөңөр, терезе менен гараждын эшиги клей менен жабыштырылган, ошондуктан ал күчтүү болот. 3 -сүрөттө мен ташыган кутуча бар, баары сакталып калат

3 -кадам: Маалыматтар базасы

Маалыматтар базасы
Маалыматтар базасы

Биринчиден, сиз маалымат базасын Mysql Workbenchтин жардамы менен түзүшүңүз керек. Эгер бул ишке ашса, сиз Raspberry Piге Mysql маалымат базасын орнотушуңуз керек.

Биринчи кадам - бул Pi жаңыртылгандыгын текшерүү. Сиз төмөнкү буйрукту колдоно аласыз:

sudo apt-get update

жана

sudo apt-get жогорулатуу

Эми сиз Mysql серверин орното аласыз:

sudo apt-get mysql-server орнотуу

Эгерде Mysql сервери орнотулган болсо, Mysql кардарын орнотуңуз

sudo apt-get mysql-client орнотуу

Эгерде сиз азыр sql серверин төмөнкү буйрук менен карасаңыз:

sudo mysql

Сиз азыр.mwb файлын sql workbench жана алдыга инженер менен ачуу менен маалымат базаңыздын кодун импорттой аласыз. Сиз кодду көчүрүп, Raspberryден mysqlге чаптаңыз Маалыматтар базасы түзүлөт.

Колдонуучу бардык уруксаттарды алышы үчүн, колдонуучу атыңызды столго кошуңуз

smarthome боюнча бардык артыкчылыктарды берүү.* 'yourname'@'%' 'your name' менен аныкталган;

Албетте, азыр дасторконду жаңыртуу керек

FLUSH артыкчылыктары;

Муну текшерүү үчүн сиз жөн гана аракет кылсаңыз болот:

smarthome колдонуу;

тарыхтан * тандаңыз;

Колдонуучу таблицасында колдонуучулардын аттары төш белгиси менен чогуу келет, бул жерде сиз жаңы колдонуучуларды кошо аласыз. Түзмөктөрдүн столунда сиз бардык активдүү сенсорлорду id. The historiek таблицасында таба аласыз, температура сенсору, гараждын эшигинин статусу жана башка нерселер сыяктуу.

4 -кадам: Орнотуу

Сүрөттү Raspberry Piге орнотуу үчүн Putty колдонсоңуз болот, бул бекер программа. Бул жерден негизги сүрөт файлын таба аласыз:

Интерфейстер

Албетте, сиз Piдеги айрым интерфейстерди иштетишиңиз керек. Алгач конфигурация барагына өтүңүз.

sudo raspi-config

Эми сиз 1-Wire жана Spi категорияларына кирип, экөө тең аларды иштете аласыз. Булар температура сенсоруна керек болот.

WiFi

Пи боюнча Wi -Fi алуу үчүн кийинки кадамдарды аткарыңыз.

Алгач root катары кириңиз

sudo-i

Андан кийин wifi тармагыңыздын атын жана сырсөзүн толтуруңуз

wpa_passphrase = "wifiname" "сырсөз" >> /etc/wpa_supplicant/wpa_supplicant.conf

Андан кийин WPA кардарын киргизиңиз

wpa_cli

интерфейсти тандоо

wlan0 интерфейси

Эми конфигурацияны кайра жүктөңүз

кайра конфигурациялоо

Эми сиз туташып турганыңызды текшере аласыз

ip a

Пакеттер

Биринчи нерсе - акыркы версияларын жаңыртуу

sudo apt update

Питон үчүн биз орнотобуз жана 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 install apache2 -y

Кээ бир python пакеттери да орнотулушу керек

  • Колба
  • Flask-Cors
  • Flask-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Python-socketIO
  • өтүнүчтөр
  • пип
  • gpio
  • Gevent
  • Gevent-websocket

Эгерде табылбаган пакетте көйгөйлөр болсо, аны оң баскыч менен чыкылдатып, орнотууга уруксат бериңиз.

5 -кадам: Код

Code
Code
Code
Code

backend

Арткы бет үчүн биз кодду python менен жазабыз жана pycharmдын жардамы менен жазабыз. Арткы жактан келген маршруттарды почтальон менен текшерүүгө болот. Бул колдонмо менен POST жана GET ыкмаларын колдоно аласыз. Арткы жагында мен көп жактуу иштедим, ошондуктан бардыгы фондо иштейт жана бирге иштей алат. Raspberry Pi сүрөтүн орнотуу үчүн Putty колдонсоңуз болот, бул бекер программа.

frontend

Алдыңкы жагында жарыкты күйгүзө турган бир нече баскычтар бар, гараж портун жана эшигин ачат. JavaScript жана CSSти колдонуу менен баскычтардын стили активдүү болгондо өзгөрөт. Ошондой эле тирүү температура жана мурунку температуралар бар диаграмма бар. Колдонуучунун баракчасында сиз ар кандай колдонуучуларды көрө аласыз, ошондой эле колдонуучуну маалымат базасына кошо аласыз жана гараждын эшигин ким акыркы жолу ачканын же жапканын көрө турган колдонуучулардын тарыхы бар.

Сиз алдыңкы жана арткы жагындагы кодду таба аласыз

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

Сунушталууда: