Obsah:

SmartHome s Raspberry Pi: 5 kroků
SmartHome s Raspberry Pi: 5 kroků

Video: SmartHome s Raspberry Pi: 5 kroků

Video: SmartHome s Raspberry Pi: 5 kroků
Video: HOW TO - Create a Raspberry Pi Smart Home Kiosk (Home Assistant) 2024, Červenec
Anonim
SmartHome s Raspberry Pi
SmartHome s Raspberry Pi

Pro tento projekt jsem vytvořil SmartHome, který lze ovládat pomocí webové stránky a mobilního telefonu. K tomu používám Raspberry PI jako databázi a webový server.

Zásoby

Pokud s tím chcete začít, potřebujete několik věcí:

  • 5 bílých LED diod (5 mm)
  • 1 drátový snímač teploty
  • 1 LDR (odpor závislý na světle)
  • 2 servomotory
  • 1 microSD (pro Raspberry Pi)
  • 1 Napájení napájecího zdroje
  • 1 Raspberry Pi 3 Model B+
  • 3 pěnové desky
  • 1 krokový motor (5V)
  • 1 čtečka RFID-RC522
  • 8 odporů (220 ohmů)
  • 1 odpor (10K Ohm)
  • 2 prkénka
  • 2 balíčky propojovacích drátů
  • 1 16x2 LCD displej
  • 1 PCF8574AN
  • 4 malá okna (3D tisk)
  • 1 dveře (3D tisk)
  • 2 velká okna (3D tisk)
  • 1 garážová vrata (3D tisk)

Pokud to vše k nákupu potřebujete, maximální cena bude kolem 150 EUR

Krok 1: Zapojení

Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení

Nejjednodušší způsob, jak začít, je zapojení, abyste již měli základy. Pomocí této metody můžete při psaní kódu snadno zkontrolovat, zda vše funguje.

Na této cestě můžete zjistit, zda máte na Raspberry Pi dostatek pinů pro připojení všeho. V tomto případě jsem použil PCF8574AN k ovládání LCD s menším počtem GPIO pinů.

K nakreslení schématu jsem použil Fritzing. Je to šikovný program, kde si můžete dobře přehledně prohlédnout svou kabeláž.

Jak vidíte na druhé fotografii, existuje spousta kabelů, takže musíte stále pracovat organizovaně.

Krok 2: Bydlení

Bydlení
Bydlení
Bydlení
Bydlení
Bydlení
Bydlení
Bydlení
Bydlení

Jako pouzdro jsem jako stěny použil pěnové desky. Pomocí nože jsem nařezal desky do požadovaných tvarů. Okna, dveře a garážová vrata jsou vytištěny 3D. Dům jsem samozřejmě nakreslil předem, abych věděl, jaké rozměry musím použít.

Na kreslení domu jsem použil SketchUp. Lepicí pistolí jsem udržel stěny rovné a držel je pohromadě. Pokud vidíte na fotografiích, okna a garážová vrata jsou připevněna lepidlem, takže by byla dostatečně pevná. Černá skříňka na 3. fotografii je krabice, kterou jsem přepravoval, aby vše zůstalo neporušené

Krok 3: Databáze

Databáze
Databáze

Nejprve musíte navrhnout databázi pomocí Mysql Workbench. Pokud se to podaří, musíte na Raspberry Pi nainstalovat databázi Mysql.

První krok, který provedete, je zkontrolovat, zda je váš Pi aktualizován. Můžete použít následující příkaz:

sudo apt-get update

a

sudo apt-get upgrade

Nyní můžete nainstalovat server MySQL:

sudo apt-get install mysql-server

Pokud je nainstalován server Mysql, nainstalujte klienta Mysql

sudo apt-get install mysql-client

Pokud se nyní podíváte na sql server příkazem:

sudo mysql

Nyní můžete importovat kód své databáze otevřením souboru.mwb pomocí sql workbench a forward engineer. Zkopírujte kód a vložte jej do mysql z Raspberry. Databáze je vytvořena.

Aby uživatel získal všechna oprávnění, stačí do tabulky přidat své uživatelské jméno

udělte všechna oprávnění pro smarthome.* pro 'yourname'@'%' označené jako 'yourname';

Samozřejmě, že teď musíte obnovit stůl

FLUSH PRIVILEGES;

Chcete -li to zkontrolovat, můžete jednoduše zkusit:

použijte smarthome;

vyberte * z historiek;

V uživatelské tabulce jsou jména uživatelů spojena s jejich odznakem, zde můžete přidat nové uživatele. V tabulce zařízení najdete všechny aktivní senzory s jejich ID. Tabulka historiek ukazuje vše, co se děje, jako teplotní senzor, odznak se stavem garážových vrat a další.

Krok 4: Nastavení

K nastavení obrázku na Raspberry Pi můžete použít Putty, toto je bezplatný program. Soubor se základním obrázkem najdete zde:

Rozhraní

Samozřejmě musíte na Pi povolit některá rozhraní. Nejprve přejděte na konfigurační stránku.

sudo raspi-config

Nyní můžete přejít do kategorií 1-Wire a Spi a obě je povolit. Budete je potřebovat pro teplotní čidlo.

Wifi

Chcete -li získat Wi -Fi na Pi, postupujte podle následujících kroků.

Nejprve se přihlaste jako root

sudo-i

Poté vyplňte název a heslo vaší wifi sítě

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

Poté zadejte klienta WPA

wpa_cli

vyberte rozhraní

rozhraní wlan0

Nyní znovu načtěte konfiguraci

přenastavit

A nyní můžete zkontrolovat, zda jste připojeni

ip a

Balíčky

První věcí, kterou musíte udělat, je aktualizovat nejnovější verze

sudo apt aktualizace

Pro python nainstalujeme a ujistíme se, že Pi vybírá správnou verzi

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

Aby mohl webový server provozovat web, musíme nainstalovat Apache2

sudo apt install apache2 -y

Je také nutné nainstalovat některé balíčky pythonu

  • Baňka
  • Baňky-Cors
  • Flask-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Python-socketIO
  • žádosti
  • pip
  • gpio
  • Gevent
  • Gevent-websocket

pokud jsou problémy s balíčkem, který nebyl nalezen, klikněte na něj pravým tlačítkem a nechte jej nainstalovat.

Krok 5: Kód

Kód
Kód
Kód
Kód

backend

Pro backend píšeme kód v pythonu a pomocí pycharmu zapisujeme. Trasy z backendu je možné ověřit u pošťáka. S touto aplikací můžete používat metody POST a GET. V backendu jsem použil multithreading, takže vše běží na pozadí a může spolupracovat. Chcete -li nastavit obrázek na Raspberry Pi, můžete použít Putty, toto je bezplatný program.

frontend

Na frontendu je několik tlačítek, která mohou rozsvítit světla, otevřít garážový port a dveře. Pomocí javascriptu a CSS se styl tlačítek změní, když jsou aktivní. K dispozici je také živá teplota a graf s teplotami v minulosti. Na uživatelské stránce vidíte různé uživatele, můžete také přidat uživatele do databáze a existuje uživatelská historie, kde můžete vidět, kdo naposledy otevřel nebo zavřel garážová vrata.

Kód pro frontend a backend najdete na

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

Doporučuje: