Kazalo:

Smart Home by Raspberry Pi: 5 korakov (s slikami)
Smart Home by Raspberry Pi: 5 korakov (s slikami)

Video: Smart Home by Raspberry Pi: 5 korakov (s slikami)

Video: Smart Home by Raspberry Pi: 5 korakov (s slikami)
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, November
Anonim
Pametni dom podjetja Raspberry Pi
Pametni dom podjetja Raspberry Pi

Obstaja že nekaj izdelkov, ki naredijo vaše stanovanje pametnejše, vendar je večina lastniških rešitev. Zakaj pa za vklop luči s pametnim telefonom potrebujete internetno povezavo? To je bil eden od razlogov, da sem zgradil svojo lastno rešitev za pametni dom.

Programiral sem strežniško aplikacijo, ki deluje na Raspberry Pi. To je odprtokodni projekt, ki temelji na javi in vam omogoča, da konfigurirate svoje stanovanje in povežete več odjemalcev in 'enote, ki jih je mogoče nadzorovati'. Pokažem rešitev, ki upravlja stikala za napajanje z daljinskim upravljalnikom, predvaja glasbo in video na Raspberry Pi, prikazuje stanje na pametnem ogledalu in jo lahko upravljate z aplikacijo za Android in dvema kamenčkovima. Vir gostuje na githubu

Korak: Stvari, ki jih potrebujete

Stvari, ki jih potrebujete
Stvari, ki jih potrebujete

Za nastavitev pametnega doma potrebujete naslednje "sestavine"

  • Raspberry Pi vsaj model 2 B
  • Pošiljatelj 433 MHz, nekaj takega
  • 3 mostični kabli, ki povezujejo Raspberry Pi in pošiljatelja
  • Nekatere radijske krmilne vtičnice pri 433 MHz
  • Pametni telefon Android za zagon odjemalske aplikacije

Poleg tega lahko pametni dom razširite z več neobveznimi odjemalci in enotami, kot je ta

  • Prodnata pametna ura
  • Pametno ogledalo, poglejte ta projekt
  • 433 MHz krmiljen LED trak, glejte to

2. korak: Pripravite Raspberry Pi za 433 MHz

Pripravite Raspberry Pi za 433 MHz
Pripravite Raspberry Pi za 433 MHz
Pripravite Raspberry Pi za 433 MHz
Pripravite Raspberry Pi za 433 MHz

V naslednjih korakih potrebujete dostop do ukazne vrstice na Raspberry Pi. Za dostop lahko preberete to navodilo

Oddajnik 433 MHz povežite z Raspberry Pi, kot je prikazano na zgornji sliki

  • GND (pošiljatelj) 6 GND (raspi)
  • VCC (pošiljatelj) 2 +5V (raspi)
  • PODATKI (pošiljatelj) 11 GPIO 17 (raspi)

Na pin ANT (pošiljatelja) priključite tudi anteno 17 cm. To znatno poveča signal.

Ker potrebujemo nekaj knjižnic iz drugih skladišč git, moramo namestiti git

sudo apt-get install git-core -y

Za nastavitev Raspberry Pi za komunikacijo 433 MHz potrebujemo knjižnico ožičenja Pi za boljše upravljanje GPIO.

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

cd ožičenjePi./zgraditi

Nato potrebujemo knjižnico, ki izvaja običajno protokole napajanja z daljinskim upravljalnikom.

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

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

Izvedljiva datoteka 'send' vam omogoča pošiljanje kod za preklop večine razpoložljivih virov napajanja.

V nastavitvah pametnega doma imam tudi rc LED trak, ki ga opisuje ta navodila: https://www.instructables.com/id/RC-contlined-LED… Za nastavitev barv za ta LED trak potrebujete drugo pošiljanje, ki vam omogoča za pošiljanje katere koli vrednosti Integer (ki kodira barvo).

Zato prenesite sendInt.cpp v repo rcswitch-pi in ga premaknite v/usr/bin/sendInt.

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

Zdaj bi morali imeti možnost pošiljanja ukazov rc z dvema izvršnima datotekama/usr/bin/send in/usr/bin/sendInt

3. korak: Namestite strežnik Smart Home

Najprej morate namestiti več paketov. Aplikacija Pametni dom temelji na javi in dobro deluje z openjdk-11. Nisem prepričan o drugih okoljih izvajanja Java. Mplayer je minimalističen predvajalnik glasbe v ukazni vrstici. Omxplayer uporablja grafiko Raspberry Pi za kodiranje videa, zato jo je treba uporabiti za videoposnetke. Programska mrava je potrebna za izdelavo java aplikacije.

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

Namestite imenike za datoteko jar in dnevnike.

sudo mkdir /opt /neo

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

Konfigurirajte zagonski skript za samodejni zagon aplikacije ob zagonu. Zato kopirajte priloženi skript pametnega doma v imenik /etc/init.d/ Ustvaril sem tudi skript v/usr/bin/, ki pošilja ukaze v priloženi skript, zato preprosto vnesem pametni dom v konzolo za izvajanje ukazov.

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 privzete nastavitve pametnega doma

Zdaj je čas, da pregledate skladišče in sestavite aplikacijo. Če ga ne želite sami sestaviti, lahko preprosto prenesete priložen smarthome.jar in ga premaknete v/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/

Poskusite zagnati pametni dom in preverite datoteko dnevnika. Za dostop do GPIO -jev mora aplikacijo zagnati sudo.

začetek sudo pametnega doma

mačji dnevniki/smarthome.log

Videti bi morali sporočilo o napaki Konfiguracijska datoteka ne obstaja, kar nas usmeri na naslednji korak. Repozitorij vsebuje readme, ki pojasnjuje konfiguracijsko datoteko. To lepo prikazano si lahko ogledate na githubu:

Kopirajte ta xml v /home/pi/controlcenter.xml, nato nastavite lokacijo za svoj medijski strežnik in spremenite vsebino, kot jo potrebujete. Ko končate konfiguracijo in znova zaženete pametni dom (sudo smart-home restart), bi morali v smarthome.log videti naslednjo vsebino

24.05-08: 26 DALJINSKE INFORMACIJE od de.neo.smarthome.cronjob. CronJob@15aeb7ab: Načrtujte cron job

24.05-08: 26 DALJINSKE INFORMACIJE z [trigger.light]: Počakajte 79391760 ms za izvedbo 24.05-08: 26 RMI INFORMATION z Dodaj spletni upravljavec (5061/ledstrip) 24.05-08: 26 RMI INFORMATION z Add web-handler (5061 /dejanje) 24.05-08: 26 RMI INFORMATION z Add web-handler (5061/mediaserver) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/switch) 24.05-08: 26 RMI INFORMATION z Add 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: Dodaj 1. nadzorno enoto: MyUnit (xyz)…

Spletni strežnik zdaj deluje:-)

4. korak: Namestitev odjemalcev

Namestitev odjemalcev
Namestitev odjemalcev
Namestitev odjemalcev
Namestitev odjemalcev
Namestitev odjemalcev
Namestitev odjemalcev

Odjemalec za pametne telefone Android

Skladišče git za aplikacijo pametni dom vsebuje tudi vir za odjemalca android, zato ga lahko sestavite sami. Toda za ta korak sem priložil APK, kar olajša. Ko prvič zaženete aplikacijo, vas vpraša za strežnik, kot na prvi sliki zgoraj. Vnesite URL strežnika in varnostni žeton.

To bi moralo biti to. Zdaj imate dostop do strežnika in upravljate stanovanje, predvajate glasbo in gledate videoposnetke na daljavo na svojem Raspberry Pi. Upoštevajte, da lahko na začetni zaslon dodate pripomočke, zaradi česar so stikala in upravljanje glasbe bolj dostopna.

Odjemalec Smartwatch Pebble

Vir za dve stranki kamenčkov gostuje na githubu. Ena aplikacija prikazuje trenutno predvajano glasbeno datoteko: https://github.com/dabastynator/PebbleRemoteMusic… To vam omogoča tudi premor/predvajanje in povečanje/zmanjšanje glasnosti.

Druga aplikacija sproži tri dejanja: https://github.com/dabastynator/PebbleControl Imena sprožilcev so: mobile.come_home mobile.leaving in mobile.go_to_bed. Če določite pravila dogodkov za ta sprožilec v konfiguracijskem -ml, jih sprožite z uro.

Vse je odprtokodno, vendar vam ga ni treba sestaviti sami, priložil sem tudi prodnate aplikacije. PBW prenesite s pametnim telefonom, telefon naj jih namesti na uro. Prodnate aplikacije potrebujejo konfiguracijo za pogovor s strežnikom. Priložil sem posnetek zaslona, kako izgledajo moje nastavitve.

Odjemalec Garmin pametne ure Garmin

Za Garmin pametne ure je na voljo tudi odjemalec. Aplikacija je na voljo v trgovini z aplikacijami garmin connect in jo lahko namestite tukaj:

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

Odjemalec Smart Mirror

Ustvaril sem že navodila, ki pojasnjujejo, kako ustvariti pametno ogledalo, poglejte to https://www.instructables.com/id/Smart-Mirror-by-R…. Izvorna koda gostuje tudi na githubu: https:// github.com/dabastynator/SmartMirror. Programska oprema Smart Mirror bere konfiguracijo iz datoteke smart_config.js, ki ni del skladišča git. Vsebina konfiguracijske datoteke bi morala izgledati tako:

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

var mSecurity = 'vaš-varnostni-žeton';

Prav tako morate prilagoditi prvi dve vrstici datoteke smart_mirror.js, da določite naslov IP strežnika Smart Home in lokacijo, da dobite pravo vreme.

Več strank

Strežniška aplikacija je preprost spletni strežnik. To vam omogoča, da s preprostimi spletnimi klici sprožite dejanja katere koli stranke, ki jo želite. V predstavitvenem videu prikažem izvajalca aplikacij za Android v kombinaciji z AutoVoice. To mi omogoča sprožanje dogodkov z enostavnimi glasovnimi ukazi. Na primer "ok google, čas za spanje" lahko sproži mobile.go_to_bed. Lahko pa tudi kličete na primer iz IFTTT. Kaj pa rumen utripajoč LED trak za e -poštno obvestilo?

Od strežnika lahko zahtevate možne spletne klice, kot so naslednje povezave (ip, vrata in žeton zamenjajte s svojo konfiguracijo)

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

localhost: 5061/action/api? token = security-to…

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

localhost: 5061/switch/api? token = security-to…

localhost: 5061/ledstrip/api? token = security-…

5. korak: Zaključek

Še vedno je treba izvesti nekaj funkcij: Ker strežnik ponuja le preprost spletni API, odjemalci veliko anketirajo. Za zmanjšanje anketiranja želim integracijo MQTT za boljše obveščanje. Tudi napajalniki wifi bi morali biti bolj zanesljivi kot napajalniki rc, saj je rc le enosmerna komunikacija.

Pri razvoju tega projekta je zelo zabavno. Nadzor stanovanja z več napravami je zelo kul, tudi če se internetna povezava prekine.

Priporočena: