Obsah:

Smart Home od Raspberry Pi: 5 kroků (s obrázky)
Smart Home od Raspberry Pi: 5 kroků (s obrázky)

Video: Smart Home od Raspberry Pi: 5 kroků (s obrázky)

Video: Smart Home od Raspberry Pi: 5 kroků (s obrázky)
Video: Raspberry Pi 5 | Nowy król SBC !? 2024, Červenec
Anonim
Smart Home od Raspberry Pi
Smart Home od Raspberry Pi

Existuje již několik produktů, díky nimž je váš byt chytřejší, ale většina z nich je proprietární řešení. Proč ale k připojení světla k chytrému telefonu potřebujete připojení k internetu? To byl jeden z důvodů, proč jsem si vybudoval vlastní řešení Smart Home.

Naprogramoval jsem serverovou aplikaci, která běží na Raspberry Pi. Jedná se o open source projekt založený na jazyce Java, který vám umožňuje konfigurovat váš byt a připojit několik klientů a „ovladatelných jednotek“. Ukazuji řešení, které zvládá přepínače napájení RC, přehrává hudbu a video na Raspberry Pi, ukazuje stav na chytrém zrcadle a lze jej ovládat aplikací pro Android a dvěma oblázkovými aplikacemi. Zdroj je hostován na github

Krok 1: Věci, které potřebujete

Věci, které potřebujete
Věci, které potřebujete

K nastavení Smart Home potřebujete následující „přísady“

  • Raspberry Pi alespoň model 2 B
  • Odesílatel 433 MHz, něco takového
  • 3 propojovací kabely propojující Raspberry Pi a vysílač
  • Některé zásuvky pro rádiové ovládání na 433 MHz
  • Smartphone Android ke spuštění klientské aplikace

Kromě toho můžete Smart Home rozšířit o další volitelné klienty a jednotky, jako je tento

  • Pebble smartwatch
  • Smart Mirror, podívejte se na tento projekt
  • 433 MHz řízený LED pás, viz

Krok 2: Připravte Raspberry Pi na 433 MHz

Připravte si Raspberry Pi na 433 MHz
Připravte si Raspberry Pi na 433 MHz
Připravte si Raspberry Pi na 433 MHz
Připravte si Raspberry Pi na 433 MHz

V následujících krocích potřebujete přístup k příkazovému řádku na Raspberry Pi. Chcete-li získat přístup, můžete si přečíst tento návod

Připojte vysílač 433 MHz k Raspberry Pi, jak ukazuje obrázek výše

  • GND (odesílatel) 6 GND (raspi)
  • VCC (odesílatel) 2 +5V (raspi)
  • DATA (odesílatel) 11 GPIO 17 (raspi)

Připojte také 17cm anténu ke kolíku ANT (vysílač). To výrazně zvyšuje signál.

Protože potřebujeme nějaké knihovny z jiných úložišť git, musíme nainstalovat git

sudo apt-get install git-core -y

K nastavení Raspberry Pi pro komunikaci 433 MHz potřebujeme kabelážní knihovnu Pi pro lepší manipulaci s GPIO.

git clone git: //git.drogon.net/wiringPi

cd wiringPi./build

Potom potřebujeme knihovnu, která implementuje typicky protokoly napájení RC.

git clone git: //github.com/dabastynator/rcswitch-pi.git

cd rcswitch-pi make cp send/usr/bin/

Spustitelný soubor „odeslat“vám umožňuje odeslat kódy pro přepnutí většiny dostupných napájecích zdrojů.

V mém nastavení Smart Home mám také rc LED pásek popsaný tímto návodem: https://www.instructables.com/id/RC-controlled-LED… K nastavení barev pro tento LED pásek potřebujete další odesílací spustitelný soubor, který vám umožní k odeslání jakékoli celočíselné hodnoty (která kóduje barvu).

Zkompilovejte proto sendInt.cpp v repo rcswitch-pi a přesuňte jej do/usr/bin/sendInt.

sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi

Nyní byste nyní měli být schopni odesílat příkazy rc pomocí dvou spustitelných souborů/usr/bin/send a/usr/bin/sendInt

Krok 3: Nastavení serveru Smart Home

Nejprve musíte nainstalovat několik balíčků. Aplikace Smart Home je založená na jazyce Java a funguje dobře s openjdk-11. Nejsem si jistý jinými prostředími Java runtime. Mplayer je minimalistický hudební přehrávač příkazového řádku. Omxplayer používá pro kódování videa grafiku Raspberry Pi, takže by to mělo být použito pro videa. K vytvoření java aplikace je potřeba program mravenec.

sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y

Nastavit adresáře pro soubor jar a pro protokoly.

sudo mkdir /opt /neo

sudo chown pi: pi/opt/neo mkdir/home/pi/Logs

Nakonfigurujte spouštěcí skript, aby se aplikace spouštěla automaticky při spuštění. Zkopírujte proto přiložený skript smart-home do adresáře /etc/init.d/ Také jsem vytvořil skript v/usr/bin/, který do připojeného skriptu posílá příkazy, takže stačí zadat smart-home do konzoly a provádět příkazy.

sudo cp smart-home /etc/init.d/smart-home

sudo chmod +x /etc/init.d/smart-home sudo sh -c "echo '#!/bin/bash'>/usr/bin/smart -home" sudo sh -c "echo '/etc/init. d/smart-home / $ 1 '>>/usr/bin/smart-home "sudo chmod +x/usr/bin/smart-home sudo update-rc.d výchozí nastavení smart-home

Nyní je čas si pokladnu vyzvednout a sestavit aplikaci. Pokud si to nechcete sestavit sami, stačí si stáhnout přiložený soubor smarthome.jar a přesunout jej do/opt/neo/

git clone [email protected]: dabastynator/SmartHome.git

ant -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/*/opt/neo/

Zkuste spustit smart-home a zkontrolujte soubor protokolu. Chcete -li získat přístup pro GPIO, musí být aplikace spuštěna sudo.

start sudo smart-home

kočka Záznamy/smarthome.log

Měli byste vidět chybovou zprávu Konfigurační soubor neexistuje, která nás odkazuje na další krok. Úložiště obsahuje soubor readme, který vysvětluje konfigurační soubor. To můžete krásně vykreslit na github:

Zkopírujte tento xml na /home/pi/controlcenter.xml, poté nastavte umístění pro svůj mediální server a změňte obsah podle potřeby. Jakmile dokončíte konfiguraci a restartujete smart-home (sudo smart-home restart), měli byste vidět následující obsah v smarthome.log

24.05-08: 26 DÁLKOVÉ INFORMACE od de.neo.smarthome.cronjob. CronJob@15aeb7ab: Naplánovat úlohu cron

24.05-08: 26 DÁLKOVÉ INFORMACE od [trigger.light]: Počkejte 79391760 ms na provedení 24.05-08: 26 RMI INFORMACE přidáním webového ovladače (5061/ledstrip) 24.05-08: 26 INFORMACE RMI přidáním webového ovladače (5061 /akce) 24.05-08: 26 RMI INFORMACE od Přidat web-handler (5061/mediaserver) 24.05-08: 26 RMI INFORMACE od Přidat web-handler (5061/přepínač) 24.05-08: 26 RMI INFORMACE od Přidat web-handler (5061/controlcenter) 24.05-08: 26 RMI INFORMATION by Start webserver with 5 handler (localhost: 5061) 24.05-08: 26 REMOTE INFORMATION by Controlcenter: Add 1. control unit: MyUnit (xyz)…

Web server nyní běží:-)

Krok 4: Nastavení klientů

Nastavení klientů
Nastavení klientů
Nastavení klientů
Nastavení klientů
Nastavení klientů
Nastavení klientů

Chytrý klient pro Android

Úložiště git pro aplikaci smart-home také obsahuje zdroj pro klienta Android, takže si jej můžete zkompilovat sami. Ale pro tento krok jsem připojil APK, což to usnadňuje. Při prvním spuštění aplikace vás požádá o server, jako na prvním obrázku výše. Zadejte URL serveru a token zabezpečení.

To by mělo být. Nyní máte přístup k serveru a můžete ovládat svůj byt, přehrávat hudbu a sledovat videa na dálku na svém Raspberry Pi. Na domovskou obrazovku můžete přidat widgety, díky nimž budou přepínače a ovládání hudby přístupnější.

Smartwatch Pebble klient

Zdroj pro dva oblázkové klienty je hostován na github. Jedna aplikace zobrazuje aktuální přehrávaný hudební soubor: https://github.com/dabastynator/PebbleRemoteMusic… To také umožňuje pozastavit/přehrát a zvýšit/snížit hlasitost.

Druhá aplikace spouští tři akce: https://github.com/dabastynator/PebbleControl Spouštěcí názvy jsou: mobile.come_home mobile.leaving a mobile.go_to_bed. Pokud definujete pravidla událostí pro tento spouštěč v konfiguračním xml, spustíte je pomocí hodinek.

Všechno je to open-source, ale nemusíte to kompilovat sami, připojil jsem také oblázkové aplikace. Stáhněte si PBW's do svého smartphonu, váš telefon by je měl nainstalovat do hodinek. Oblázkové aplikace potřebují ke komunikaci se serverem konfigurace. Připojil jsem snímek obrazovky, jak moje nastavení vypadá.

Smartwatch klient Garmin

K dispozici je také klient pro chytré hodinky Garmin. Aplikace je k dispozici v obchodě s aplikacemi garmin connect a lze ji nainstalovat zde:

apps.garmin.com/en-US/apps/c745527d-f2af-4…

Klient Smart Mirror

Již jsem vytvořil instruktáž, která vysvětluje, jak vytvořit Smart Mirror, viz https://www.instructables.com/id/Smart-Mirror-by-R…. Zdrojový kód je také umístěn na github: https:// github.com/dabastynator/SmartMirror. Software Smart Mirror načte konfiguraci ze souboru smart_config.js, který není součástí úložiště git. Obsah konfiguračního souboru by měl vypadat takto:

var mOpenWeatherKey = 'your-open-wheather-key';

var mSecurity = 'your-security-token';

Také musíte upravit první dva řádky souboru smart_mirror.js, abyste zadali IP adresu serveru Smart Home a umístění, abyste získali správné počasí.

Více klientů

Serverová aplikace je jednoduchý webový server. To vám umožní spouštět akce z libovolného klienta, kterého chcete, pomocí jednoduchých webových hovorů. V demo videu ukazuji Android app Tasker v kombinaci s AutoVoice. To mi umožňuje spouštět události pomocí jednoduchých hlasových příkazů. Například „ok google, time to sleep“může spustit mobile.go_to_bed. Můžete však také provádět webové hovory, například z IFTTT. Co třeba žlutě blikající LED pásek pro upozornění na e -mail?

Můžete požádat server o možná webová volání jako následující odkazy (nahradit IP, port a token vaší konfigurací)

localhost: 5061/controlcenter/api? token = secu…

localhost: 5061/action/api? token = zabezpečení -…

localhost: 5061/mediaserver/api? token = securi…

localhost: 5061/switch/api? token = zabezpečení -…

localhost: 5061/ledstrip/api? token = zabezpečení-…

Krok 5: Závěr

Stále existuje několik funkcí, které je třeba implementovat: Protože server poskytuje pouze jednoduché klienty webového rozhraní API, provádějí mnoho dotazování. Chcete -li omezit hlasování, chci integraci MQTT pro lepší oznámení. Také napájecí zdroje wifi by měly fungovat spolehlivěji než napájecí zdroje RC, protože RC je pouze jednosměrná komunikace.

Vývoj tohoto projektu je velmi zábavný. A je docela skvělé ovládat byt několika zařízeními, i když se přeruší připojení k internetu.

Doporučuje: