Sisällysluettelo:

Smart Home by Raspberry Pi: 5 vaihetta (kuvilla)
Smart Home by Raspberry Pi: 5 vaihetta (kuvilla)

Video: Smart Home by Raspberry Pi: 5 vaihetta (kuvilla)

Video: Smart Home by Raspberry Pi: 5 vaihetta (kuvilla)
Video: Автомобильный генератор для генератора с самовозбуждением с использованием ДИОДА 2024, Marraskuu
Anonim
Smart Home by Raspberry Pi
Smart Home by Raspberry Pi

Siellä on jo useita tuotteita, jotka tekevät asunnostasi älykkäämmän, mutta suurin osa niistä on omia ratkaisuja. Mutta miksi tarvitset Internet -yhteyden vaihtaaksesi valon älypuhelimellasi? Se oli yksi syy minulle rakentaa oma Smart Home -ratkaisu.

Ohjelmoin Raspberry Pi -palvelimella toimivan palvelinsovelluksen. Tämä on java -pohjainen avoimen lähdekoodin projekti, jonka avulla voit määrittää asunnon ja yhdistää useita asiakkaita ja "ohjattavia yksiköitä". Näytän ratkaisun, joka käsittelee rc -virtalähteen kytkimiä, toistaa musiikkia ja videota Raspberry Pi -laitteella, näyttää älypeilin tilan ja sitä voidaan ohjata Android -sovelluksella ja kahdella pikkukivi -sovelluksella. Lähdettä isännöidään githubissa

Vaihe 1: Tarvitsemasi asiat

Tarvitsemasi asiat
Tarvitsemasi asiat

Älykkään kodin käyttöönottoon tarvitset seuraavat ainesosat

  • Raspberry Pi vähintään malli 2B
  • 433 MHz lähetin, jotain tällaista
  • 3 hyppyjohtoa, jotka yhdistävät Raspberry Pi: n ja lähettäjän
  • Jotkut radio -ohjainliitännät 433 MHz: llä
  • Android -älypuhelin asiakassovelluksen suorittamiseen

Lisäksi voit laajentaa Älykästä kotia lisää tämän kaltaisilla valinnaisilla asiakkailla ja yksiköillä

  • Pebble -älykello
  • Smart Mirror, katso tämä projekti
  • 433 MHz: n ohjattava LED-nauha, katso tämä

Vaihe 2: Valmistele Raspberry Pi 433 MHz: lle

Valmista Raspberry Pi 433 MHz: lle
Valmista Raspberry Pi 433 MHz: lle
Valmista Raspberry Pi 433 MHz: lle
Valmista Raspberry Pi 433 MHz: lle

Seuraavissa vaiheissa tarvitset pääsyn Raspberry Pi: n komentoriville. Saat käyttöoikeuden lukemalla tämän ohjeen

Liitä 433 MHz: n lähetin Raspberry Pi -laitteeseen yllä olevan kuvan mukaisesti

  • GND (lähettäjä) 6 GND (raspi)
  • VCC (lähettäjä) 2 +5V (raspi)
  • DATA (lähettäjä) 11 GPIO 17 (raspi)

Liitä myös 17 cm: n antenni ANT (lähettimen) nastaan. Se lisää signaalia merkittävästi.

Koska tarvitsemme joitain kirjastoja muista git -arkistoista, meidän on asennettava git

sudo apt-get install git-core -y

Raspberry Pi: n määrittämiseksi 433 MHz: n tiedonsiirtoon tarvitsemme johdotuksen Pi -kirjaston GPIO: iden parempaa käsittelyä varten.

git klooni git: //git.drogon.net/wiringPi

cd -johdotusPi./build

Sitten tarvitsemme kirjaston, joka toteuttaa tyypillisesti rc -virtalähdeprotokollia.

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

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

Lähetä -suoritustiedoston avulla voit lähettää koodeja useimpien käytettävissä olevien virtalähteiden vaihtamiseksi.

Smart Home -asennuksessani minulla on myös tässä ohjeessa kuvattu rc-LED-nauha: https://www.instructables.com/id/RC-controlled-LED… Tämän LED-nauhan värien asettamiseksi tarvitset toisen lähetettävän suoritustiedoston, jonka avulla voit lähettääksesi kokonaislukuarvon (joka koodaa värin).

Siksi käännä sendInt.cpp rcswitch-pi-repos ja siirrä se kansioon/usr/bin/sendInt.

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

Nyt sinun pitäisi nyt pystyä lähettämään rc -komentoja kahdella suoritettavalla tiedostolla/usr/bin/send ja/usr/bin/sendInt

Vaihe 3: Asenna Smart Home -palvelin

Ensinnäkin sinun on asennettava useita paketteja. Smart Home -sovellus on java-pohjainen ja toimii hyvin openjdk-11: n kanssa. En ole varma muista Java -ajonaikaisista ympäristöistä. Mplayer on minimalistinen komentorivin musiikkisoitin. Omxplayer käyttää Raspberry Pi -grafiikkaa videon koodaamiseen, joten tätä tulisi käyttää videoihin. Ohjelma muuraus tarvitaan Java -sovelluksen rakentamiseen.

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

Määritä jar -tiedoston ja lokien hakemistot.

sudo mkdir /opt /neo

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

Määritä käynnistysskripti käynnistääksesi sovelluksen automaattisesti käynnistyksen yhteydessä. Kopioi siksi liitteenä oleva älykkään kodin skripti hakemistoon /etc/init.d/ Olen myös luonut komentosarjan hakemistoon/usr/bin/, joka ohjaa komennot liitteenä olevaan komentosarjaan, joten kirjoitan vain älykoti konsoliin komentojen suorittamista varten.

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 smart-home-oletusasetukset

Nyt on aika tarkistaa arkisto ja rakentaa sovellus. Jos et halua kääntää sitä itse, voit ladata liitteenä olevan smarthome.jar -tiedoston ja siirtää sen kohteeseen/opt/neo/

git klooni [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/

Yritä käynnistää älykoti ja tarkista lokitiedosto. Jotta pääset käyttämään GPIO: ita, sovellus on käynnistettävä sudolla.

sudo smart-home -käynnistys

kissalokit/smarthome.log

Sinun pitäisi nähdä virhesanoma Konfigurointitiedostoa ei ole, joka ohjaa meidät seuraavaan vaiheeseen. Varasto sisältää readme, joka selittää määritystiedoston. Näet tämän kauniisti renderöitynä githubissa:

Kopioi tämä xml /home/pi/controlcenter.xml, määritä mediapalvelimen sijainti ja muuta sisältöä tarpeen mukaan. Kun olet määrittänyt asetukset ja käynnistänyt älykkään kodin uudelleen (sudo smart-home restart), sinun pitäisi nähdä seuraava sisältö smarthome.logissa

24.05-08: 26 KAUKOTIEDOT, tekijä de.neo.smarthome.cronjob. CronJob@15aeb7ab: Aikataulu cron job

24.05-08: 26 Etätiedot [trigger.light]: Odota 79391760 ms: n suorittamista 24.05-08: 26 RMI-TIEDOT by Add web-handler (5061/ledstrip) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061) /toiminta) 24.05-08: 26 RMI-TIEDOT Add web-handler (5061/mediaserver) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/switch) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/controlcenter) 24.05-08: 26 RMI-TIEDOT Start-verkkopalvelimelta, jossa on 5 käsittelijää (paikallinen isäntä: 5061) 24.05-08: 26 Controlcenterin KAUKOTIEDOT: Lisää 1. ohjausyksikkö: MyUnit (xyz)…

Verkkopalvelin on nyt käynnissä:-)

Vaihe 4: Asenna asiakkaat

Asenna asiakkaat
Asenna asiakkaat
Asenna asiakkaat
Asenna asiakkaat
Asenna asiakkaat
Asenna asiakkaat

Älypuhelimen Android -asiakas

Älykoti-sovelluksen git-arkisto sisältää myös android-asiakkaan lähteen, joten voit kääntää sen itse. Mutta liitin APK: n tähän vaiheeseen, mikä helpottaa sitä. Kun käynnistät sovelluksen ensimmäisen kerran, se pyytää sinulta palvelinta, kuten yllä olevassa ensimmäisessä kuvassa. Kirjoita palvelimen URL -osoite ja turvatunnus.

Sen pitäisi olla se. Sinulla on nyt pääsy palvelimelle ja voit hallita asuntoasi, toistaa musiikkia ja katsella videoita etänä Raspberry Pi -laitteellasi. Huomaa, että voit lisätä pienoisohjelmia aloitusnäyttöön, mikä tekee kytkimistä ja musiikinhallinnasta helpompaa.

Smartwatch Pebble -asiakas

Kahden kiviasiakkaiden lähde on githubissa. Yksi sovellus näyttää nykyisen toistettavan musiikkitiedoston: https://github.com/dabastynator/PebbleRemoteMusic… Tämän avulla voit myös keskeyttää/toistaa ja lisätä äänenvoimakkuutta.

Toinen sovellus käynnistää kolme toimintoa: https://github.com/dabastynator/PebbleControl Liipaisimen nimet ovat: mobile.come_home mobile.leaving ja mobile.go_to_bed. Jos määrität tapahtumasäännöt tälle laukaisimelle kokoonpano-xml-tiedostossasi, käynnistät ne kellollasi.

Kaikki on avointa lähdekoodia, mutta sinun ei tarvitse koota sitä itse, liitin myös kivisovellukset. Lataa PBW -laitteet älypuhelimellasi, puhelimesi tulee asentaa ne kelloosi. Kivisovellukset tarvitsevat kokoonpanot puhuakseen palvelimelle. Liitin kuvakaappauksen miltä asetukset näyttävät.

Älykello Garmin -asiakas

Garmin -älykelloille on saatavilla myös asiakas. Sovellus on saatavana garmin connect -sovelluskaupasta ja se voidaan asentaa täältä:

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

Smart Mirror -asiakas

Olen jo luonut ohjeen, joka selittää Smart Mirrorin luomisen, katso tämä https://www.instructables.com/id/Smart-Mirror-by-R …. Lähdekoodia isännöi myös github: https:// Smart Mirror -ohjelmisto lukee kokoonpanon tiedostosta smart_config.js, joka ei kuulu git -arkistoon. Määritystiedoston sisällön pitäisi näyttää tältä:

var mOpenWeatherKey = 'avaa-avaimesi-avain';

var mSecurity = 'oma turvatunnuksesi';

Sinun on myös muokattava tiedoston smart_mirror.js kahta ensimmäistä riviä Smart Home -palvelimen IP -osoitteen ja sijainnin määrittämiseksi oikean sään saamiseksi.

Lisää asiakkaita

Palvelinsovellus on yksinkertainen verkkopalvelin. Tämän avulla voit käynnistää toimintoja haluamiltasi asiakkailta yksinkertaisilla verkkopuheluilla. Esittelyvideossa näytän Android-sovelluksen tehtävän yhdessä AutoVoicen kanssa. Tämän avulla voin käynnistää tapahtumia yksinkertaisilla äänikomennoilla. Esimerkiksi "ok google, aika nukkua" voi laukaista mobile.go_to_bed. Mutta voit myös soittaa verkkopuheluita esimerkiksi IFTTT: ltä. Entä keltainen vilkkuva LED -nauha sähköposti -ilmoitusta varten?

Voit pyytää palvelimelta mahdollisia verkkopuheluita, kuten seuraavat linkit (korvaa IP-osoite, portti ja tunniste kokoonpanollasi)

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-…

Vaihe 5: Johtopäätös

Muutamia ominaisuuksia on vielä toteutettava: Koska palvelin tarjoaa vain yksinkertaisen web-api-asiakkaan, se tekee paljon kyselyitä. Äänestyksen vähentämiseksi haluan MQTT -integraation paremman ilmoituksen saamiseksi. Myös wifi -virtalähteiden pitäisi toimia luotettavammin kuin rc -virtalähteet, koska rc on vain yksi tapa kommunikoida.

On erittäin hauskaa kehittää tätä projektia. Ja on hienoa hallita asuntoa useilla laitteilla, vaikka Internet -yhteys katkeaa.

Suositeltava: