INHOUDSOPGAWE:

SmartHome Met Framboos Pi: 5 stappe
SmartHome Met Framboos Pi: 5 stappe

Video: SmartHome Met Framboos Pi: 5 stappe

Video: SmartHome Met Framboos Pi: 5 stappe
Video: Raspberry PI 4B, установка Supervised Home Assistant на RaspiOS 64 - проверка инструкции 2024, Julie
Anonim
SmartHome Met Framboos Pi
SmartHome Met Framboos Pi

Vir hierdie projek het ek 'n SmartHome gemaak wat deur 'n webwerf en selfoon bestuur kan word. Hiervoor gebruik ek die Raspberry PI as 'n databasis en webserver.

Voorrade

As u hiermee wil begin, benodig u verskeie dinge:

  • 5 wit leds (5 mm)
  • 1 sensor met een draad temperatuur
  • 1 LDR (ligafhanklike weerstand)
  • 2 servomotors
  • 1 microSD (vir Framboos Pi)
  • 1 Voeding van broodbord
  • 1 Framboos Pi 3 Model B+
  • 3 skuimplate
  • 1 stapmotor (5V)
  • 1 RFID-RC522-leser
  • 8 weerstande (220 Ohm)
  • 1 weerstand (10K Ohm)
  • 2 Broodplanke
  • 2 pakkies jumperwires
  • 1 16x2 LCD -skerm
  • 1 PCF8574AN
  • 4 klein vensters (3D gedruk)
  • 1 deur (3D gedruk)
  • 2 groot vensters (3D gedruk)
  • 1 motorhuisdeur (3D gedruk)

As u dit alles nodig het om te koop, sal die maksimum koste ongeveer € 150 wees

Stap 1: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading

Die maklikste manier om te begin is met die bedrading, sodat u reeds die basiese beginsels het; met hierdie metode kan u maklik kyk of alles werk as u die kode skryf.

Op hierdie manier kan u sien of u genoeg penne op die Raspberry Pi het om alles aan te sluit. In hierdie geval het ek die PCF8574AN gebruik om my LCD te beheer met minder GPIO -penne.

Om die skema te teken, het ek Fritzing gebruik. Dit is 'n handige program waar u u kabels op 'n goed georganiseerde manier kan sien.

Soos u op die tweede foto kan sien, is daar baie kabels, sodat u steeds georganiseerd moet werk.

Stap 2: Behuising

Behuising
Behuising
Behuising
Behuising
Behuising
Behuising
Behuising
Behuising

Vir die behuising het ek skuimplanke as mure gebruik. Ek het 'n mes gebruik om die planke in die gewenste vorm te sny. Die vensters, deure en motorhuisdeure is 3D-gedruk. Natuurlik het ek die huis vooraf geteken, sodat ek geweet het watter afmetings ek moes gebruik.

Ek het SketchUp gebruik om die huis te teken. Ek het 'n gomgeweer gebruik om die mure reguit te hou en dit bymekaar te hou. As jy op die foto's kan sien, word die venster en motorhuisdeur met gom vasgemaak sodat dit sterk genoeg sou wees. Die swart boks op die derde foto is 'n boks wat ek vervoer het sodat alles ongeskonde bly

Stap 3: Databasis

Databasis
Databasis

Eerstens moet u die databasis ontwerp met behulp van Mysql Workbench. As dit slaag, moet u die Mysql -databasis op die Raspberry Pi installeer.

Die eerste stap wat u neem, is om te kyk of u Pi opgedateer is. U kan die volgende opdrag gebruik:

sudo apt-get update

en

sudo apt-get upgrade

Nou kan u die Mysql -bediener installeer:

sudo apt-get installeer mysql-bediener

As die Mysql -bediener geïnstalleer is, installeer die Mysql -kliënt

sudo apt-get installeer mysql-client

As u nou na die sql -bediener kyk met die opdrag:

sudo mysql

U kan u databasiskode nou invoer deur die.mwb -lêer oop te maak met die sql -werkbank en forward engineer. U kopieer die kode en plak dit in die mysql van die Framboos. Die databasis word gemaak.

Om die gebruiker alle toestemmings te kry, moet u net u gebruikersnaam in die tabel byvoeg

verleen alle voorregte op smarthome.* aan 'jou naam'@'%' geïdentifiseer deur 'jou naam';

U moet natuurlik nou die tafel verfris

FLUSH VOORREGTE;

Om dit te kontroleer, kan u eenvoudig probeer:

gebruik smarthome;

kies * uit historiek;

In die gebruikerstabel kom die gebruikers se name saam met hul kenteken, hier kan u nuwe gebruikers byvoeg. In die toesteltabel kan u al die aktiewe sensors met hul ID vind.

Stap 4: Opstel

Om die beeld op die Raspberry Pi te plaas, kan u Putty gebruik, dit is 'n gratis program. U kan die basisbeeldlêer hier vind:

Koppelvlakke

U moet natuurlik 'n paar koppelvlakke op die Pi moontlik maak. Gaan eers na die config -bladsy.

sudo raspi-config

Nou kan u na die kategorieë 1-Wire en Spi gaan en dit beide aktiveer. U benodig dit vir die temperatuursensor.

Wifi

Volg die volgende stappe om wifi op die Pi te kry.

Meld eers aan as root

sudo-i

Vul dan die naam en wagwoord van u wifi -netwerk in

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

Voer dan die WPA -kliënt in

wpa_cli

kies die koppelvlak

koppelvlak wlan0

Herlaai nou die konfigurasie

herkonfigureer

En nou kan u kyk of u gekoppel is

ip a

Pakkette

Die eerste ding om te doen is om die nuutste weergawes op te dateer

sudo apt -opdatering

Vir python installeer ons en sorg dat die Pi die regte weergawe kies

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

Om die webbediener die webwerf te laat loop, moet ons Apache2 installeer

sudo apt installeer apache2 -y

Sommige python -pakkette moet ook geïnstalleer word

  • Fles
  • Fles-Kors
  • Fles-MySQL
  • Fles-SocketIO
  • PyMySQL
  • Python-socketIO
  • versoeke
  • pip
  • gpio
  • Gevent
  • Gevent-websocket

As daar probleme is met 'n pakket wat nie gevind word nie, klik dan regs daarop en laat dit installeer.

Stap 5: Kode

Kode
Kode
Kode
Kode

agterkant

Vir die backend skryf ons die kode in python en gebruik pycharm om in te skryf. Die roetes vanaf die backend kan met die posman gekontroleer word. Met hierdie app kan u die POST- en GET -metodes gebruik. In die agterkant het ek multithreading gebruik, sodat alles op die agtergrond loop en kan saamwerk. Om die beeld op die Raspberry Pi te plaas, kan u Putty gebruik, dit is 'n gratis program.

voorkant

Aan die voorkant is daar 'n paar knoppies wat ligte kan aanskakel, die motorhuis se deur en deur oopmaak. Deur die gebruik van javascript en CSS verander die styl van die knoppies wanneer hulle aktief is. Daar is ook 'n lewendige temperatuur en 'n grafiek met die vorige temperature. Op die gebruikersblad kan u die verskillende gebruikers sien, u kan ook 'n gebruiker by die databasis voeg, en daar is 'n gebruikersgeskiedenis waar u kan sien wie die motorhuisdeur as laas oopgemaak of toegemaak het.

U kan die kode vir die frontend en backend vind by

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

Aanbeveel: