Talaan ng mga Nilalaman:

SmartHome With Raspberry Pi: 5 Hakbang
SmartHome With Raspberry Pi: 5 Hakbang

Video: SmartHome With Raspberry Pi: 5 Hakbang

Video: SmartHome With Raspberry Pi: 5 Hakbang
Video: I built a smarter smart home 2024, Nobyembre
Anonim
SmartHome With Raspberry Pi
SmartHome With Raspberry Pi

Para sa proyektong ito gumawa ako ng isang SmartHome na maaaring mapatakbo ng isang website at mobile. Para sa mga ito ginagamit ko ang Raspberry PI bilang isang database at webserver.

Mga gamit

Kung nais mong simulan ito, kailangan mo ng maraming bagay:

  • 5 puting leds (5mm)
  • 1 isang sensor ng temperatura ng kawad
  • 1 LDR (light dependant resistor)
  • 2 servo motor
  • 1 microSD (para sa Raspberry Pi)
  • 1 Powerupply ng Breadboard
  • 1 Raspberry Pi 3 Model B +
  • 3 Foam plate
  • 1 Stepper motor (5V)
  • 1 RFID-RC522 reader
  • 8 resistors (220 Ohm)
  • 1 risistor (10K Ohm)
  • 2 Mga Breadboard
  • 2 pack ng jumperwires
  • 1 16x2 LCD display
  • 1 PCF8574AN
  • 4 na maliliit na bintana (naka-print sa 3D)
  • 1 pinto (naka-print na 3D)
  • 2 malalaking bintana (naka-print sa 3D)
  • 1 pintuan ng garahe (naka-print sa 3D)

Kung kailangan mo ng lahat ng ito upang bumili, ang maximum na gastos ay nasa € 150

Hakbang 1: Mga kable

Kable
Kable
Kable
Kable
Kable
Kable

Ang pinakamadaling paraan upang magsimula ay ang mga kable upang mayroon ka nang mga pangunahing kaalaman, sa pamamaraang ito madali mong suriin kung gumagana ang lahat kapag nagsusulat ka ng code.

Sa ganitong paraan, makikita mo kung mayroon kang sapat na mga pin sa Raspberry Pi upang ikonekta ang lahat. Sa kasong ito ginamit ko ang PCF8574AN upang makontrol ang aking LCD na may mas kaunting mga GPIO pin.

Upang iguhit ang pamamaraan na ginamit ko ang Fritzing. Ito ay isang madaling gamiting programa kung saan maaari mong tingnan ang iyong paglalagay ng kable sa isang maayos na paraan.

Tulad ng nakikita mo sa pangalawang larawan maraming mga cable kaya kailangan mo pa ring magtrabaho sa isang organisadong paraan.

Hakbang 2: Pabahay

Pabahay
Pabahay
Pabahay
Pabahay
Pabahay
Pabahay
Pabahay
Pabahay

Para sa pabahay ay gumamit ako ng mga foam board bilang dingding. Gumamit ako ng isang kutsilyo upang i-cut ang mga board sa nais na mga hugis. Ang mga bintana, pintuan at pintuan ng garahe ay naka-print sa 3D. Siyempre iginuhit ko nang maaga ang bahay kaya alam ko kung anong mga sukat ang dapat kong gamitin.

Ginamit ko ang SketchUp upang iguhit ang bahay. Gumamit ako ng isang pandikit na baril upang panatilihing tuwid ang mga dingding at hawakan ang mga ito, Kung nakikita mo sa mga larawan, ang bintana at pintuan ng garahe ay nakakabit na may pandikit upang ito ay sapat na malakas. sa ika-3 larawan ay isang kahon na ginamit ko upang dalhin upang ang lahat ay manatiling buo

Hakbang 3: Database

Database
Database

Una sa lahat, kailangan mong idisenyo ang database gamit ang Mysql Workbench. Kung nagtagumpay ito, kailangan mong i-install ang Mysql database sa Raspberry Pi.

Ang unang stap na iyong kinukuha ay upang suriin kung ang iyong Pi ay updatet. Maaari mong gamitin ang sumusunod na utos:

sudo apt-get update

at

sudo apt-get upgrade

Maaari mo na ngayong mai-install ang server ng Mysql:

sudo apt-get install mysql-server

Kung naka-install ang server ng Mysql, I-install ang Mysql client

sudo apt-get install MySQL-client

Kung titingnan mo ngayon ang sql server sa pamamagitan ng utos:

sudo MySQL

Maaari mo na ngayong mai-import ang iyong database code sa pamamagitan ng pagbubukas ng.mwb file gamit ang sql workbench at forward engineer. Kopyahin mo ang code at i-paste ito sa MySQL mula sa Raspberry. Ang database ay ginawa.

Upang makuha ng gumagamit ang lahat ng mga pahintulot, idagdag lamang ang iyong username sa talahanayan

bigyan ang lahat ng mga pribilehiyo sa smarthome. * sa 'yourname' @ '%' na kinilala ng 'yourname';

ofcourse kailangan mong i-refresh ang talahanayan ngayon

FLUSH PRIVILEGES;

Upang suriin ito maaari mo lamang subukan:

gumamit ng malasakit;

piliin ang * mula sa historiek;

Sa talahanayan ng gumagamit ang mga pangalan ng mga gumagamit ay nagsasama kasama ng kanilang badge, dito maaari kang magdagdag ng mga bagong gumagamit. Sa talahanayan ng mga aparato maaari mong makita ang lahat ng mga aktibong sensor sa kanilang id. Ipinapakita ng talahanayan ng historiek ang lahat ng nangyayari tulad ng sensor ng temperatura, badge na may katayuan ng pintuan ng garahe at marami pa.

Hakbang 4: Pag-setup

Upang maitakda ang imahe sa Raspberry Pi maaari mong gamitin ang Putty, ito ay isang libreng programa. Maaari mong makita ang base file ng imahe dito:

Mga interface

Siyempre kailangan mong paganahin ang ilang mga interface sa Pi. Pumunta muna sa pahina ng config.

sudo raspi-config

Ngayon ay maaari kang pumunta sa mga kategorya na 1-Wire at Spi at parehong paganahin ang mga ito. Kakailanganin mo ang mga ito para sa sensor ng temperatura.

Wifi

Sundin ang mga susunod na hakbang upang makakuha ng wifi sa Pi.

Pag-log in muna bilang ugat

sudo-i

Pagkatapos ay punan ang pangalan at password ng iyong wifi network

wpa_passphrase = "wifiname" "password" >> /etc/wpa_supplicant/wpa_supplicant.conf

Pagkatapos ay ipasok ang WPA client

wpa_cli

piliin ang interface

interface wlan0

I-reload ngayon ang config

muling pag-configure

At ngayon maaari mong suriin kung nakakonekta ka

ip a

Mga pakete

Ang unang bagay na dapat gawin ay ang i-update ang pinakabagong mga bersyon

sudo apt update

Para sa sawa i-install namin at tiyaking pipiliin ng Pi ang tamang bersyon

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

Para patakbo ng webserver ang Site, kailangan naming i-install ang Apache2

sudo apt i-install ang apache2 -y

Ang ilang mga pakete sa python ay kailangang mai-install din

  • Prasko
  • Flask-Cors
  • Flask-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Python-socketIO
  • mga hiling
  • pip
  • gpio
  • Gevent
  • Gevent-websocket

kung may mga problema sa isang pakete na hindi nahanap, i-click lamang ito nang tama at hayaan itong mag-install.

Hakbang 5: Code

Code
Code
Code
Code

backend

Para sa backend, nagsusulat kami ng code sa sawa at gumagamit ng pycharm upang magsulat. Posibleng suriin sa kartero ang mga ruta mula sa backend. Gamit ang app na ito maaari mong gamitin ang mga pamamaraan ng POST at GET. Sa backend ginamit ko ang multithreading kaya't ang lahat ay tumatakbo sa background at maaaring gumana nang magkasama. Upang maitakda ang imahe sa Raspberry Pi maaari mong gamitin ang Putty, ito ay isang libreng programa.

frontend

Sa frontend mayroong ilang mga pindutan na maaaring i-on ang mga ilaw, bubukas ang garahe port at pintuan. Sa pamamagitan ng paggamit ng javascript at CSS ang istilo mula sa mga pindutan ay nagbabago kapag sila ay aktibo. Mayroon ding isang live na temperatura at isang tsart na may mga nakaraang temperatura. Sa pahina ng gumagamit maaari mong makita ang iba't ibang mga gumagamit, maaari ka ring magdagdag ng isang gumagamit sa database at mayroong isang kasaysayan ng gumagamit kung saan maaari mong makita kung sino ang nagbukas o nagsara ng pinto ng garahe bilang huli.

Maaari mong mahanap ang code para sa frontend at backend sa

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

Inirerekumendang: