Sisällysluettelo:
Video: Smart Home by Raspberry Pi: 5 vaihetta (kuvilla)
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
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
Ä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
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
Ä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.