Innehållsförteckning:

SmartHome With Raspberry Pi: 5 steg
SmartHome With Raspberry Pi: 5 steg

Video: SmartHome With Raspberry Pi: 5 steg

Video: SmartHome With Raspberry Pi: 5 steg
Video: HOW TO - Create a Raspberry Pi Smart Home Kiosk (Home Assistant) 2024, November
Anonim
SmartHome med Raspberry Pi
SmartHome med Raspberry Pi

För detta projekt skapade jag ett SmartHome som kan drivas av en webbplats och mobil. För detta använder jag Raspberry PI som en databas och webserver.

Tillbehör

Om du vill starta detta behöver du flera saker:

  • 5 vita lysdioder (5 mm)
  • 1 sensor för en tråds temperatur
  • 1 LDR (ljusberoende motstånd)
  • 2 servomotorer
  • 1 microSD (för Raspberry Pi)
  • 1 Strömförsörjning för brödbräda
  • 1 Raspberry Pi 3 Model B+
  • 3 skumplattor
  • 1 Stegmotor (5V)
  • 1 RFID-RC522 läsare
  • 8 motstånd (220 Ohm)
  • 1 motstånd (10K Ohm)
  • 2 brödbrädor
  • 2 förpackningar jumperwires
  • 1 16x2 LCD -skärm
  • 1 PCF8574AN
  • 4 små fönster (3D -tryckta)
  • 1 dörr (3D -tryckt)
  • 2 stora fönster (3D -tryckta)
  • 1 garageport (3D -tryckt)

Om du behöver allt detta för att köpa kommer den maximala kostnaden att vara cirka € 150

Steg 1: Kabeldragning

Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning

Det enklaste sättet att börja är med ledningarna så att du redan har grunderna, med den här metoden kan du enkelt kontrollera om allt fungerar när du skriver koden.

På det här sättet kan du se om du har tillräckligt med stift på Raspberry Pi för att ansluta allt. I det här fallet använde jag PCF8574AN för att styra min LCD med mindre GPIO -stift.

För att rita schemat använde jag Fritzing. Det är ett praktiskt program där du kan se dina kablar på ett välorganiserat sätt.

Som du kan se på det andra fotot finns det många kablar så att du fortfarande måste arbeta på ett organiserat sätt.

Steg 2: Bostäder

Hus
Hus
Hus
Hus
Hus
Hus
Hus
Hus

Till huset använde jag skumskivor som väggar. Jag använde en kniv för att skära brädorna i önskade former. Fönstren, dörrarna och garageporten är 3D-tryckta. Naturligtvis ritade jag huset i förväg så jag visste vilka dimensioner jag måste använda.

Jag använde SketchUp för att rita huset. Jag använde en limpistol för att hålla väggarna raka och hålla ihop dem. Om du kan se på bilderna är fönstret och garageporten fastsatta med lim så att det skulle vara tillräckligt starkt. Den svarta lådan på det 3: e fotot är en låda jag brukade transportera så att allt förblir intakt

Steg 3: Databas

Databas
Databas

Först och främst måste du designa databasen med Mysql Workbench. Om detta lyckas måste du installera Mysql -databasen på Raspberry Pi.

Den första stapeln du tar är att kontrollera om din Pi är uppdaterad. Du kan använda följande kommando:

sudo apt-get uppdatering

och

sudo apt-get uppgradering

Nu kan du installera Mysql -servern:

sudo apt-get installera mysql-server

Om Mysql -servern är installerad installerar du Mysql -klienten

sudo apt-get install mysql-klient

Om du nu tittar på sql -servern med kommandot:

sudo mysql

Du kan nu importera din databaskod genom att öppna.mwb -filen med SQL -arbetsbänken och framåtingenjör. Du kopierar koden och klistrar in den i mysql från Raspberry. Databasen är gjord.

För att användaren ska få alla behörigheter, lägg bara till ditt användarnamn i tabellen

bevilja alla privilegier på smarthome.* till 'dittnamn'@'%' identifierat med 'dittnamn';

självklart måste du uppdatera bordet nu

FLUSH PRIVILEGER;

För att kontrollera detta kan du helt enkelt prova:

använd smarthome;

välj * från historiek;

I användartabellen kommer användarnas namn tillsammans med deras märke, här kan du lägga till nya användare. I enhetstabellen hittar du alla aktiva sensorer med deras id. Historik -tabellen visar allt som händer som temperaturgivare, märke med garageportens status och mer.

Steg 4: Inställning

För att ställa in bilden på Raspberry Pi kan du använda Putty, detta är ett gratis program. Du hittar basbildfilen här:

Gränssnitt

Naturligtvis måste du aktivera några gränssnitt på Pi. Gå först till konfigurationssidan.

sudo raspi-config

Nu kan du gå till kategorierna 1-Wire och Spi och båda aktivera dem. Du behöver dessa för temperaturgivaren.

Wifi

Följ nästa steg för att få wifi på Pi.

Logga in först som root

sudo-i

Fyll sedan i ditt wifi -nätverks namn och lösenord

wpa_passphrase = "wifiname" "lösenord" >> /etc/wpa_supplicant/wpa_supplicant.conf

Ange sedan WPA -klienten

wpa_cli

välj gränssnittet

gränssnitt wlan0

Ladda om konfigurationen

omkonfigurera

Och nu kan du kontrollera om du är ansluten

ip a

Paket

Det första du ska göra är att uppdatera de senaste versionerna

sudo apt uppdatering

För python installerar vi och ser till att Pi väljer rätt version

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

För att webbservern ska kunna köra webbplatsen måste vi installera Apache2

sudo apt installera apache2 -y

Vissa python -paket måste också installeras

  • Flaska
  • Kolv-Cors
  • Kolv-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Python-socketIO
  • förfrågningar
  • pip
  • gpio
  • Gevent
  • Gevent-websocket

om det finns problem med ett paket som inte hittas, högerklickar du på det och låter det installeras.

Steg 5: Kod

Koda
Koda
Koda
Koda

backend

För backend skriver vi koden i python och använder pycharm för att skriva in. Rutterna från backend är möjliga att kolla med postbud. Med den här appen kan du använda POST- och GET -metoderna. I backend använde jag multithreading så allt körs i bakgrunden och kan fungera tillsammans. För att ställa in bilden på Raspberry Pi kan du använda Putty, detta är ett gratis program.

frontend

På framsidan finns några knappar som kan tända lampor, öppnar garageporten och dörren. Genom att använda javascript och CSS ändras stilen från knapparna när de är aktiva. Det finns också en levande temperatur och ett diagram med tidigare temperaturer. På användarsidan kan du se de olika användarna, du kan också lägga till en användare i databasen och det finns en användarhistorik där du kan se vem som öppnade eller stängde garageporten som sist.

Du hittar koden för frontend och backend på

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

Rekommenderad: