Indholdsfortegnelse:

SmartHome med Raspberry Pi: 5 trin
SmartHome med Raspberry Pi: 5 trin

Video: SmartHome med Raspberry Pi: 5 trin

Video: SmartHome med Raspberry Pi: 5 trin
Video: КАК — Создать киоск для умного дома Raspberry Pi (Домашний помощник) 2024, Juli
Anonim
SmartHome med Raspberry Pi
SmartHome med Raspberry Pi

Til dette projekt lavede jeg et SmartHome, der kan betjenes af et websted og en mobil. Til dette bruger jeg Raspberry PI som database og webserver.

Forbrugsvarer

Hvis du vil starte dette, har du brug for flere ting:

  • 5 hvide lysdioder (5 mm)
  • 1 en -tråds temperaturføler
  • 1 LDR (lysafhængig modstand)
  • 2 servomotorer
  • 1 microSD (til Raspberry Pi)
  • 1 Strømforsyning til brødbræt
  • 1 Raspberry Pi 3 Model B+
  • 3 skumplader
  • 1 trinmotor (5V)
  • 1 RFID-RC522 læser
  • 8 modstande (220 Ohm)
  • 1 modstand (10K Ohm)
  • 2 brødbrætter
  • 2 pakker jumperwires
  • 1 16x2 LCD -skærm
  • 1 PCF8574AN
  • 4 små vinduer (3D -printet)
  • 1 dør (3D -printet)
  • 2 store vinduer (3D -printet)
  • 1 garageport (3D -printet)

Hvis du har brug for alt dette for at købe, vil den maksimale pris være omkring € 150

Trin 1: Ledningsføring

Ledninger
Ledninger
Ledninger
Ledninger
Ledninger
Ledninger

Den nemmeste måde at starte er med ledningerne, så du allerede har det grundlæggende, med denne metode kan du nemt kontrollere, om alt fungerer, når du skriver koden.

På denne måde kan du se, om du har nok pins på Raspberry Pi til at forbinde alt. I dette tilfælde brugte jeg PCF8574AN til at styre min LCD med færre GPIO -ben.

For at tegne skemaet brugte jeg Fritzing. Det er et praktisk program, hvor du kan se din kabling på en velorganiseret måde.

Som du kan se på det andet foto, er der mange kabler, så du skal stadig arbejde på en organiseret måde.

Trin 2: Boliger

Boliger
Boliger
Boliger
Boliger
Boliger
Boliger
Boliger
Boliger

Til huset brugte jeg skumplader som vægge. Jeg brugte en kniv til at skære brædderne i de ønskede former. Vinduer, døre og garageporte er 3D-printede. Selvfølgelig tegnede jeg huset på forhånd, så jeg vidste, hvilke dimensioner jeg skulle bruge.

Jeg brugte SketchUp til at tegne huset. Jeg brugte en limpistol til at holde væggene lige og holde dem sammen. Hvis du kan se på billederne, er vinduet og garageporten fastgjort med lim, så det ville være stærkt nok. Den sorte boks på det tredje foto er en kasse, jeg plejede at transportere, så alt forbliver intakt

Trin 3: Database

Database
Database

Først og fremmest skal du designe databasen ved hjælp af Mysql Workbench. Hvis dette lykkes, skal du installere Mysql -databasen på Raspberry Pi.

Den første stap du tager er at kontrollere, om din Pi er opdateret. Du kan bruge følgende kommando:

sudo apt-get opdatering

og

sudo apt-get opgradering

Nu kan du installere Mysql -serveren:

sudo apt-get installer mysql-server

Hvis Mysql -serveren er installeret, skal du installere Mysql -klienten

sudo apt-get install mysql-klient

Hvis du nu ser på sql -serveren med kommandoen:

sudo mysql

Du kan nu importere din databasekode ved at åbne.mwb -filen med sql -arbejdsbordet og forward engineer. Du kopierer koden og indsætter denne i mysql fra Raspberry. Databasen er lavet.

For at brugeren kan få alle tilladelser, skal du blot tilføje dit brugernavn i tabellen

give alle privilegier på smarthome.* til 'dit navn'@'%' identificeret med 'dit navn';

selvfølgelig skal du opdatere bordet nu

FLUSH -PRIVILEGER;

For at kontrollere dette kan du blot prøve:

brug smarthome;

vælg * fra historiek;

I brugertabellen kommer brugernes navne sammen med deres badge, her kan du tilføje nye brugere. I enhedstabellen kan du finde alle de aktive sensorer med deres id. Historiek -tabellen viser alt, hvad der sker som temperatursensoren, badge med garageportens status og mere.

Trin 4: Opsætning

For at indstille billedet på Raspberry Pi kan du bruge Putty, dette er et gratis program. Du kan finde basisbilledfilen her:

Grænseflader

Selvfølgelig skal du aktivere nogle grænseflader på Pi. Gå først til konfigurationssiden.

sudo raspi-config

Nu kan du gå til kategorierne 1-Wire og Spi og begge aktivere dem. Du skal bruge disse til temperatursensoren.

trådløst internet

Følg de næste trin for at få wifi på Pi.

Log først ind som root

sudo-i

Udfyld derefter navnet og adgangskoden til dit wifi -netværk

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

Indtast derefter WPA -klienten

wpa_cli

vælg grænsefladen

grænseflade wlan0

Genindlæs nu konfigurationen

omkonfigurere

Og nu kan du kontrollere, om du har forbindelse

ip a

Pakker

Den første ting at gøre er at opdatere de nyeste versioner

sudo apt opdatering

For python installerer vi og sørger for, at Pi vælger den korrekte version

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

For at webserveren kan køre webstedet på, skal vi installere Apache2

sudo apt installere apache2 -y

Nogle python -pakker skal også installeres

  • Kolbe
  • Kolbe-Cors
  • Kolbe-MySQL
  • Kolbe-SocketIO
  • PyMySQL
  • Python-socketIO
  • anmodninger
  • pip
  • gpio
  • Gevent
  • Gevent-websocket

hvis der er problemer med en pakke, der ikke findes, skal du bare højreklikke på den og lade den installere.

Trin 5: Kode

Kode
Kode
Kode
Kode

bagende

Til backend skriver vi koden i python og bruger pycharm til at skrive i. Ruterne fra backend er mulige at tjekke med postbud. Med denne app kan du bruge POST- og GET -metoderne. I backend brugte jeg multithreading, så alt kører i baggrunden og kan fungere sammen. For at indstille billedet på Raspberry Pi kan du bruge Putty, dette er et gratis program.

frontend

På forsiden er der et par knapper, der kan tænde lys, åbner garageporten og døren. Ved at bruge javascript og CSS ændres stilen fra knapperne, når de er aktive. Der er også en levende temperatur og et diagram med de tidligere temperaturer. På brugersiden kan du se de forskellige brugere, du kan også tilføje en bruger til databasen, og der er en brugerhistorik, hvor du kan se, hvem der åbnede eller lukkede garageporten som sidst.

Du kan finde koden til frontend og backend på

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

Anbefalede: