Obsah:
- Krok 1: Věci, které potřebujete
- Krok 2: Připravte Raspberry Pi na 433 MHz
- Krok 3: Nastavení serveru Smart Home
- Krok 4: Nastavení klientů
- Krok 5: Závěr
Video: Smart Home od Raspberry Pi: 5 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
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
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
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ů
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:
GO-4 Smart Home Arduino Bot: 7 kroků (s obrázky)
GO-4 Smart Home Arduino Bot: V tomto projektu vám ukážu, jak postavit Smart Home Bot pomocí technologie IOT pro dálkové ovládání vašich domácích spotřebičů přes internet. Ale než začneme hovořit o této technice, kterou jsme použili to … What is the IOT? Th
Raspberry Pi - Smart Office: 10 kroků (s obrázky)
Raspberry Pi - Smart Office: O čem je aplikace? OfficeHelperBOT je aplikace zaměřená na nastavení chytré kanceláře. 2 Raspberry Pi 3 Model B
Smart Mirror od Raspberry Pi: 5 kroků (s obrázky)
Smart Mirror od Raspberry Pi: Takže v zásuvce byl nepoužitý malinový pi 1B a nepoužívaný monitor. To je dostatečný důvod pro vytvoření Smart Mirror. Zrcadlo by mělo zobrazovat informace o čase, datu a počasí, jakož i informace o stavu inteligentních domácích přepínačů a jaké
Smart Home Monitoring pomocí Alexa a Arduino: 9 kroků (s obrázky)
Smart Home Monitoring pomocí Alexa a Arduino: V současném světě lidé tráví více času na pracovišti než ve svých domovech. Proto existuje potřeba domácího monitorovacího systému, kde by se lidé mohli seznámit s podmínkami domu, když jsou v práci. Ještě lepší by bylo, kdyby jeden
GassistPi (Google Home v Raspberry Pi): 7 kroků (s obrázky)
GassistPi (Google Home v Raspberry Pi): Google Assistant pro Raspberry Pi