Sadržaj:

SmartHome s Raspberry Pi: 5 koraka
SmartHome s Raspberry Pi: 5 koraka

Video: SmartHome s Raspberry Pi: 5 koraka

Video: SmartHome s Raspberry Pi: 5 koraka
Video: Supervised Home Assistant. Легкая установка на RaspiOS 64 - Raspberry PI 4B в корпусе Argon One M.2 2024, Studeni
Anonim
SmartHome s Raspberry Pi
SmartHome s Raspberry Pi

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

Pribor

Ako želite započeti ovo, trebate 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 Breadboard -a
  • 1 Malina 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 pakiranja kratkospojnika
  • 1 LCD ekran 16x2
  • 1 PCF8574AN
  • 4 mala prozora (3D ispis)
  • 1 vrata (3D ispisano)
  • 2 velika prozora (3D ispis)
  • 1 garažna vrata (3D ispisana)

Ako vam je sve ovo potrebno za kupnju, 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 jednostavno provjeriti radi li sve dok pišete kôd.

Na ovaj način možete vidjeti imate li dovoljno pinova na Raspberry Pi da sve povežete. U ovom slučaju koristio sam PCF8574AN za upravljanje LCD -om s 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 još raditi organizirano.

Korak 2: Stanovanje

Kućište
Kućište
Kućište
Kućište
Kućište
Kućište
Kućište
Kućište

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 printani. Naravno da sam unaprijed nacrtao kuću pa sam znao koje dimenzije moram koristiti.

Koristio sam SketchUp za crtanje kuće. Pištoljem za ljepilo držao sam zidove ravnim i držao ih zajedno. Ako vidite na fotografijama, prozor i garažna vrata pričvršćeni su ljepilom kako bi bili dovoljno jaki. Crna kutija na 3. fotografiji je kutija koju sam prijevozio 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 ažuriranje

i

sudo apt-get nadogradnja

Sada možete instalirati Mysql poslužitelj:

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 poslužitelj po naredbi:

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

dodijelite sve privilegije na smarthome.* 'vašem imenu'@'%' identificiranom 'vašim imenom';

naravno da morate sada osvježiti stol

FLUSH PRIVILEGIJE;

Da biste to provjerili, jednostavno pokušajte:

koristiti smarthome;

odaberite * iz historieka;

U tablici korisnika imena korisnika dolaze s njihovom 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:

Sučelja

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

sudo raspi-config

Sada možete prijeći u 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 Wi -Fi 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 klijent

wpa_cli

odaberite sučelje

sučelje wlan0

Sada ponovno učitajte konfiguraciju

ponovno konfigurirati

A sada možete provjeriti jeste li povezani

ip a

Paketi

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

sudo apt ažuriranje

Za python instaliramo i provjeravamo je li Pi odabrao 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 poslužitelj pokrenuo web mjesto, moramo instalirati Apache2

sudo apt install apache2 -y

Potrebno je instalirati i neke pakete python

  • Boca
  • Flask-Cors
  • Flask-MySQL
  • Utičnica za utičnicuIO
  • PyMySQL
  • Python-socketIO
  • zahtjevi
  • pip
  • gpio
  • Gevent
  • Gevent-websocket

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

Korak 5: Kodirajte

Kodirati
Kodirati
Kodirati
Kodirati

pozadina

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

sučelje

Na prednjoj strani nalazi se nekoliko gumba koji mogu upaliti svjetla, otvaraju vrata i vrata garaže. Korištenjem javascripta i CSS -a stil gumba 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, također možete dodati korisnika u bazu podataka, a postoji i povijest korisnika 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čeni: