Sadržaj:

SmartHome sa Raspberry Pi: 5 koraka
SmartHome sa Raspberry Pi: 5 koraka

Video: SmartHome sa Raspberry Pi: 5 koraka

Video: SmartHome sa Raspberry Pi: 5 koraka
Video: Raspberry pi 5 inch HDMI Screen Installation | #Shorts 2024, Juli
Anonim
SmartHome sa Raspberry Pi
SmartHome sa Raspberry Pi

Za ovaj projekt napravio sam SmartHome kojim se može upravljati putem web stranice i mobilnog telefona. U tu svrhu koristim Raspberry PI kao bazu podataka i web poslužitelj.

Supplies

Ako želite započeti ovo, potrebno vam je nekoliko stvari:

  • 5 bijelih LED dioda (5 mm)
  • 1 jednožilni senzor temperature
  • 1 LDR (otpornik ovisan o svjetlu)
  • 2 servo motora
  • 1 microSD (za Raspberry Pi)
  • 1 Napajanje iz matične ploče
  • 1 Raspberry Pi 3 Model B+
  • 3 Pjenaste ploče
  • 1 koračni motor (5V)
  • 1 RFID-RC522 čitač
  • 8 otpornika (220 ohma)
  • 1 otpornik (10K Ohm)
  • 2 Oglasne ploče
  • 2 pakovanja kratkospojnika
  • 1 16x2 LCD ekran
  • 1 PCF8574AN
  • 4 mala prozora (3D štampano)
  • 1 vrata (3D štampano)
  • 2 velika prozora (3D štampano)
  • 1 garažna vrata (3D štampana)

Ako vam je sve ovo potrebno za kupovinu, maksimalni trošak bit će oko 150 €

Korak 1: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje

Najlakši način za početak je ožičenje tako da već imate osnove. Ovom metodom možete lako provjeriti radi li sve dok pišete kôd.

Na ovaj način možete vidjeti imate li dovoljno pinova na Raspberry Pi -u da sve povežete. U ovom slučaju koristio sam PCF8574AN za kontrolu LCD -a sa manje GPIO pinova.

Za crtanje sheme koristio sam Fritzing. To je zgodan program u kojem možete pregledati svoje kabele na dobro organiziran način.

Kao što možete vidjeti na drugoj fotografiji, ima mnogo kabela pa morate i dalje raditi organizirano.

Korak 2: Stanovanje

Stanovanje
Stanovanje
Stanovanje
Stanovanje
Stanovanje
Stanovanje
Stanovanje
Stanovanje

Za kućište sam kao zidove koristio pjenaste ploče. Nožem sam rezao daske u željenim oblicima. Prozori, vrata i garažna vrata su 3D štampani. Naravno da sam kuću nacrtao unaprijed kako bih znao koje dimenzije moram koristiti.

Koristio sam SketchUp za crtanje kuće. Upotrijebio sam pištolj za ljepilo da držim zidove ravne i držim ih zajedno. Ako vidite na fotografijama, prozor i garažna vrata su pričvršćeni ljepilom kako bi bili dovoljno jaki. Crna kutija na trećoj fotografiji je kutija koju sam prevozio tako da sve ostane netaknuto

Korak 3: Baza podataka

Baza podataka
Baza podataka

Prije svega, morate dizajnirati bazu podataka koristeći Mysql Workbench. Ako to uspije, morate instalirati bazu podataka Mysql na Raspberry Pi.

Prvi korak koji trebate poduzeti je provjeriti je li vaš Pi ažuriran. Možete koristiti sljedeću naredbu:

sudo apt-get update

i

sudo apt-get nadogradnja

Sada možete instalirati Mysql server:

sudo apt-get install mysql-server

Ako je Mysql poslužitelj instaliran, instalirajte Mysql klijenta

sudo apt-get install mysql-client

Ako sada pogledate sql server naredbom:

sudo mysql

Sada možete uvesti kôd baze podataka otvaranjem.mwb datoteke s sql radnom površinom i inženjerom za prosljeđivanje. Kopirajte kôd i zalijepite ga u mysql iz Raspberryja. Baza podataka je napravljena.

Da bi korisnik dobio sva dopuštenja, samo dodajte svoje korisničko ime u tablicu

dodelite sve privilegije na smarthome.* 'vašem imenu'@'%' identifikovanom sa 'vaše ime';

naravno da morate sada osvježiti tablicu

FLUSH PRIVILEGES;

Da biste to provjerili, jednostavno pokušajte:

koristiti smarthome;

odaberite * iz historieka;

U tabeli korisnika imena korisnika dolaze sa značkom, ovdje možete dodati nove korisnike. U tablici uređaja možete pronaći sve aktivne senzore s njihovim ID -om. Tablica historiek prikazuje sve što se događa poput senzora temperature, značke sa statusom garažnih vrata i još mnogo toga.

Korak 4: Postavljanje

Za postavljanje slike na Raspberry Pi možete koristiti Putty, ovo je besplatni program. Osnovnu datoteku slike možete pronaći ovdje:

Interfejsi

Naravno, morate omogućiti neka sučelja na Pi -u. Prvo idite na stranicu za konfiguraciju.

sudo raspi-config

Sada možete prijeći na kategorije 1-Wire i Spi i oboje ih omogućiti. Ovo će vam trebati za senzor temperature.

Wifi

Slijedite sljedeće korake da biste dobili WiFi na Pi.

Prvo se prijavite kao root

sudo-i

Zatim unesite ime i lozinku svoje WiFi mreže

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

Zatim unesite WPA klijenta

wpa_cli

odaberite sučelje

interfejs wlan0

Sada ponovo učitajte konfiguraciju

ponovo konfigurirati

Sada možete provjeriti jeste li povezani

ip a

Paketi

Prvo što trebate učiniti je ažurirati najnovije verzije

sudo apt update

Za python instaliramo i pazimo da Pi odabere ispravnu verziju

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

Da bi web server poslužio na web stranici, moramo instalirati Apache2

sudo apt install apache2 -y

Potrebno je instalirati i neke python pakete

  • Flask
  • Flask-Cors
  • Flask-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Python-socketIO
  • zahtjevi
  • pip
  • gpio
  • Gevent
  • Gevent-websocket

ako postoje problemi s paketom koji nije pronađen, kliknite desnim gumbom miša na njega i pustite ga da se instalira.

Korak 5: Kodirajte

Kod
Kod
Kod
Kod

backend

Za pozadinu, pišemo kôd u pythonu i pomoću pycharma za upis. Rute iz pozadine je moguće provjeriti s poštarom. Pomoću ove aplikacije možete koristiti metode POST i GET. U pozadini sam koristio multithreading tako da sve radi u pozadini i može raditi zajedno. Za postavljanje slike na Raspberry Pi možete koristiti Putty, ovo je besplatan program.

frontend

Na prednjoj strani nalazi se nekoliko tipki koje mogu upaliti svjetla, otvaraju vrata i vrata garaže. Korištenjem javascripta i CSS -a stil dugmadi se mijenja kada su aktivni. Tu je i živa temperatura i grafikon s prošlim temperaturama. Na korisničkoj stranici možete vidjeti različite korisnike, možete dodati korisnika u bazu podataka, a tu je i korisnička povijest u kojoj možete vidjeti tko je zadnji otvorio ili zatvorio garažna vrata.

Kôd za sučelje i pozadinu možete pronaći na adresi

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

Preporučuje se: