Obsah:

SmartHome s Raspberry Pi: 5 krokov
SmartHome s Raspberry Pi: 5 krokov

Video: SmartHome s Raspberry Pi: 5 krokov

Video: SmartHome s Raspberry Pi: 5 krokov
Video: Пять мифов о Raspberry Pi: зачем создавалась, как работает с Win 10 и кто победит — Pi 3 или Arduino 2024, November
Anonim
SmartHome s Raspberry Pi
SmartHome s Raspberry Pi

Pre tento projekt som vyrobil SmartHome, ktorý je možné ovládať pomocou webovej stránky a mobilného telefónu. Na to používam Raspberry PI ako databázu a webový server.

Zásoby

Ak s tým chcete začať, potrebujete niekoľko vecí:

  • 5 bielych LED (5 mm)
  • 1 jeden drôtový snímač teploty
  • 1 LDR (odpor závislý na svetle)
  • 2 servomotory
  • 1 microSD (pre Raspberry Pi)
  • 1 Napájací zdroj pre Breadboard
  • 1 Raspberry Pi 3 Model B+
  • 3 penové taniere
  • 1 krokový motor (5V)
  • 1 čítačka RFID-RC522
  • 8 odporov (220 ohmov)
  • 1 odpor (10K Ohm)
  • 2 chlebové dosky
  • 2 balenia prepojovacích drôtov
  • 1 16x2 LCD displej
  • 1 PCF8574AN
  • 4 malé okná (3D tlačené)
  • 1 dvere (3D tlač)
  • 2 veľké okná (3D tlač)
  • 1 garážová brána (3D tlač)

Ak to všetko k nákupu potrebujete, maximálne náklady budú okolo 150 €

Krok 1: Zapojenie

Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie

Najjednoduchší spôsob, ako začať, je zapojenie, aby ste už mali základy. Pomocou tejto metódy môžete pri písaní kódu ľahko skontrolovať, či všetko funguje.

Na tejto ceste môžete zistiť, či máte na Raspberry Pi dostatok pinov na pripojenie všetkého. V tomto prípade som použil PCF8574AN na ovládanie svojho LCD s menším počtom GPIO pinov.

Na nakreslenie schémy som použil Fritzing. Je to šikovný program, kde si môžete dobre prehľadne prezrieť svoju kabeláž.

Ako vidíte na druhej fotografii, je tu veľa káblov, takže musíte stále pracovať organizovane.

Krok 2: Bývanie

Bývanie
Bývanie
Bývanie
Bývanie
Bývanie
Bývanie
Bývanie
Bývanie

Na bývanie som ako steny použil penové dosky. Nožom som narezal dosky na požadované tvary. Okná, dvere a garážová brána sú vytlačené 3D tlačou. Dom som si samozrejme nakreslil vopred, aby som vedel, aké rozmery musím použiť.

Na kreslenie domu som použil SketchUp. Na to, aby boli steny rovné a držali ich spolu, som použil lepiacu pištoľ. Ak vidíte na fotografiách, okno a garážová brána sú pripevnené lepidlom, aby boli dostatočne pevné. Čierna skrinka na 3. fotografii je krabica, ktorú som prepravoval, aby všetko zostalo neporušené

Krok 3: Databáza

Databáza
Databáza

Najprv musíte navrhnúť databázu pomocou programu Mysql Workbench. Ak sa to podarí, musíte si na Raspberry Pi nainštalovať databázu Mysql.

Prvá vec, ktorú musíte urobiť, je skontrolovať, či je váš Pi aktualizovaný. Môžete použiť nasledujúci príkaz:

sudo apt-get aktualizácia

a

sudo apt-get upgrade

Teraz môžete nainštalovať server MySQL:

sudo apt-get install mysql-server

Ak je nainštalovaný server Mysql, nainštalujte klienta Mysql

sudo apt-get install mysql-client

Ak sa teraz pozriete na sql server príkazom:

sudo mysql

Teraz môžete importovať kód svojej databázy otvorením súboru.mwb pomocou sql workbench a forward engineer. Skopírujte kód a prilepte ho do mysql z Raspberry. Databáza je vytvorená.

Aby používateľ získal všetky povolenia, stačí do tabuľky pridať svoje používateľské meno

udeliť všetky oprávnenia pre smarthome.* pre 'yourname'@'%' označené ako 'yourname';

Samozrejme, teraz musíte stôl aktualizovať

FLUSH PRIVILEGES;

Ak to chcete skontrolovať, môžete jednoducho vyskúšať:

používať smarthome;

vyber * z historiek;

V tabuľke používateľov sa spájajú mená používateľov s ich odznakom, tu môžete pridať nových používateľov. V tabuľke zariadení nájdete všetky aktívne senzory s ich identifikátorom. Tabuľka historiek zobrazuje všetko, čo sa deje, ako napríklad teplotný senzor, odznak so stavom garážovej brány a ďalšie.

Krok 4: Nastavenie

Na nastavenie obrázku na Raspberry Pi môžete použiť Putty. Je to bezplatný program. Súbor so základným obrázkom nájdete tu:

Rozhrania

Na Pi musíte samozrejme povoliť niektoré rozhrania. Najprv choďte na konfiguračnú stránku.

sudo raspi-config

Teraz môžete prejsť na kategórie 1-Wire a Spi a obe ich povoliť. Budete ich potrebovať pre snímač teploty.

Wifi

Ak chcete získať pripojenie Wi -Fi na serveri Pi, postupujte podľa nasledujúcich krokov.

Najprv sa prihláste ako root

sudo-i

Potom zadajte názov a heslo vašej wifi siete

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

Potom zadajte klienta WPA

wpa_cli

vyberte rozhranie

rozhranie wlan0

Teraz znova načítajte konfiguráciu

prekonfigurovať

A teraz môžete skontrolovať, či ste pripojení

ip a

Balíčky

Prvá vec, ktorú musíte urobiť, je aktualizovať najnovšie verzie

sudo apt aktualizácia

V prípade pythonu nainštalujeme a ubezpečíme sa, že Pi vyberá správnu verziu

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

Aby mohol webový server prevádzkovať stránku, musíme nainštalovať Apache2

sudo apt nainštalovať apache2 -y

Je tiež potrebné nainštalovať niektoré balíky pythonu

  • Banka
  • Flask-Cors
  • Flask-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Python-socketIO
  • žiadosti
  • pip
  • gpio
  • Gevent
  • Gevent-websocket

ak existujú problémy s balíkom, ktorý sa nenašiel, kliknite naň pravým tlačidlom myši a nechajte ho nainštalovať.

Krok 5: Kód

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

backend

Pre backend napíšeme kód v pythone a na zapisovanie použijeme pycharm. Trasy zo servera je možné overiť pomocou poštára. S touto aplikáciou môžete používať metódy POST a GET. V backende som použil viacvláknové spracovanie, takže všetko beží na pozadí a môže spolupracovať. Na nastavenie obrázku na Raspberry Pi môžete použiť Putty, toto je bezplatný program.

frontend

Na frontende je niekoľko tlačidiel, ktoré môžu zapnúť svetlá, otvoriť garážový port a dvere. Použitím JavaScriptu a CSS sa štýl tlačidiel zmení, keď sú aktívne. K dispozícii je tiež aktuálna teplota a graf s teplotami v minulosti. Na užívateľskej stránke môžete vidieť rôznych užívateľov, môžete tiež pridať užívateľa do databázy a je tu užívateľská história, kde vidíte, kto naposledy otvoril alebo zatvoril garážovú bránu.

Kód pre frontend a backend nájdete na

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

Odporúča: