Turinys:
- 1 žingsnis: reikalingi dalykai
- 2 žingsnis: paruoškite „Raspberry Pi“433 MHz dažniu
- 3 veiksmas: nustatykite „Smart Home“serverį
- 4 veiksmas: nustatykite klientus
- 5 žingsnis: Išvada
Video: „Raspberry Pi“išmanieji namai: 5 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Jau yra keletas produktų, dėl kurių jūsų butas tampa protingesnis, tačiau dauguma jų yra patentuoti sprendimai. Bet kodėl jums reikia interneto ryšio, kad galėtumėte perjungti šviesą su savo išmaniuoju telefonu? Tai buvo viena iš priežasčių man sukurti savo „Smart Home“sprendimą.
Aš užprogramavau serverio programą, kuri veikia „Raspberry Pi“. Tai „Java“pagrįstas atvirojo kodo projektas, leidžiantis sukonfigūruoti butą ir prijungti kelis klientus bei „valdomus įrenginius“. Parodau sprendimą, kuris tvarko rc maitinimo jungiklius, leidžia muziką ir vaizdo įrašus „Raspberry Pi“, rodo išmaniojo veidrodžio būseną ir gali būti valdomas naudojant „Android“programą ir dvi akmenukų programas. Šaltinis priglobtas „github“https://github.com/dabastynator/SmartHome
1 žingsnis: reikalingi dalykai
Norėdami nustatyti išmaniuosius namus, jums reikia šių „ingredientų“
- „Raspberry Pi“bent 2 B modelis
- 433 MHz siųstuvas, kažkas panašaus į tai
- 3 trumpieji kabeliai, jungiantys „Raspberry Pi“ir siuntėją
- Kai kurie radijo valdymo lizdai 433 MHz dažniu
- „Android“išmanusis telefonas, skirtas kliento programai paleisti
Be to, „Smart Home“galite išplėsti naudodami daugiau pasirenkamų klientų ir tokių įrenginių
- „Pebble“išmanusis laikrodis
- „Smart Mirror“, žiūrėkite šį projektą
- 433 MHz valdoma LED juostelė, žiūrėkite tai
2 žingsnis: paruoškite „Raspberry Pi“433 MHz dažniu
Atlikdami šiuos veiksmus, jums reikia prieigos prie komandinės eilutės „Raspberry Pi“. Norėdami gauti prieigą, perskaitykite šią instrukciją
Prijunkite 433 MHz siųstuvą prie „Raspberry Pi“, kaip parodyta aukščiau esančiame paveikslėlyje
- GND (siuntėjas) 6 GND (raspi)
- VCC (siuntėjas) 2 +5V (raspi)
- DUOMENYS (siuntėjas) 11 GPIO 17 (raspi)
Taip pat prijunkite 17 cm anteną prie ANT (siuntėjo) kaiščio. Tai žymiai padidina signalą.
Kadangi mums reikia kai kurių bibliotekų iš kitų „git“saugyklų, turime įdiegti „git“
sudo apt-get install git-core -y
Norėdami nustatyti „Raspberry Pi“433 MHz ryšiui, mums reikia „Pi“laidų bibliotekos, kad būtų galima geriau valdyti GPIO.
git klonas git: //git.drogon.net/wiringPi
cd wiringPi./build
Tada mums reikia bibliotekos, kuri paprastai naudoja rc maitinimo protokolus.
git klonas git: //github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi padaryti cp send/usr/bin/
Vykdomasis failas „siųsti“leidžia siųsti kodus, kad būtų galima perjungti daugumą galimų maitinimo šaltinių.
„Smart Home“sąrankoje taip pat turiu rc LED juostą, aprašytą šioje instrukcijoje: https://www.instructables.com/id/RC-controlled-LED… Norėdami nustatyti šios LED juostos spalvas, jums reikia kito siuntimo vykdomojo failo, kuris leidžia jums siųsti bet kokią sveikojo skaičiaus reikšmę (kuri koduoja spalvą).
Todėl surinkite „sendInt.cpp“į „rcswitch-pi“repą ir perkelkite jį į/usr/bin/sendInt.
sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi
Dabar turėtumėte turėti galimybę siųsti rc komandas dviem vykdomaisiais failais/usr/bin/send ir/usr/bin/sendInt
3 veiksmas: nustatykite „Smart Home“serverį
Pirmiausia turite įdiegti kelis paketus. „Smart Home“programa sukurta „Java“ir puikiai veikia su „openjdk-11“. Nesu tikras dėl kitos „Java“vykdymo aplinkos. „Mplayer“yra minimalistinis komandinės eilutės muzikos grotuvas. „Omxplayer“vaizdo įrašams koduoti naudoja „Raspberry Pi“grafiką, todėl tai turėtų būti naudojama vaizdo įrašams. Norint sukurti „Java“programą, reikalinga programa „ant“.
sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y
Nustatykite jar failo ir žurnalų katalogus.
sudo mkdir /opt /neo
sudo chown pi: pi/opt/neo mkdir/home/pi/Logs
Konfigūruokite pradžios scenarijų, kad programa būtų paleista automatiškai paleidžiant. Todėl nukopijuokite pridėtą išmaniųjų namų scenarijų į katalogą /etc/init.d/ Aš taip pat sukūriau scenarijų/usr/bin/, kuris perkelia komandas prie pridėto scenarijaus, todėl tiesiog įvedu išmaniuosius namus į konsolę, kad galėčiau vykdyti komandas.
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 išmaniųjų namų numatytieji nustatymai
Dabar atėjo laikas patikrinti saugyklą ir sukurti programą. Jei nenorite jo kompiliuoti patys, galite tiesiog atsisiųsti pridėtą smarthome.jar ir perkelti jį į/opt/neo/
git klonas [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/
Pabandykite paleisti išmaniuosius namus ir patikrinkite žurnalo failą. Norėdami gauti prieigą prie GPIO, programą turi paleisti sudo.
„sudo smart-home“paleidimas
katės rąstai/smarthome.log
Turėtumėte pamatyti klaidos pranešimą „Konfigūracijos failas neegzistuoja“, nurodantis kitą žingsnį. Saugykloje yra „readme“, paaiškinanti konfigūracijos failą. Tai galite pamatyti gražiai pateiktą „github“:
Nukopijuokite šį xml į /home/pi/controlcenter.xml, tada nustatykite savo medijos serverio vietą ir pakeiskite turinį pagal poreikį. Baigę konfigūraciją ir iš naujo paleidę išmaniuosius namus („sudo smart-home restart“), „smarthome.log“turėtumėte pamatyti šį turinį
24.05-08: 26 NUOTOLINĖ INFORMACIJA, kurią pateikė de.neo.smarthome.cronjob. CronJob@15aeb7ab: Suplanuokite cron darbą
24.05-08: 26 NUOTOLINĖ INFORMACIJA [trigger.light]: Palaukite, kol bus įvykdyta 79391760 ms 24.05-08: 26 RMI INFORMACIJA pagal Pridėti žiniatinklio tvarkyklę (5061/ledstrip) /veiksmas) 24.05-08: 26 RMI INFORMACIJA pagal Pridėti žiniatinklio valdytoją (5061/mediaserver) 24.05-08: 26 RMI INFORMACIJA pagal Pridėti žiniatinklio valdytoją (5061/jungiklis) 24.05-08: 26 RMI INFORMACIJA pagal Pridėti žiniatinklio valdytoją (5061/controlcenter) 24.05-08: 26 RMI INFORMACIJA pagal „Start“žiniatinklio serverį su 5 tvarkytoju (localhost: 5061) 24.05-08: 26 „REMOTE INFORMACIJA“iš „Controlcenter“: pridėkite 1. valdymo bloką: „MyUnit“(xyz)…
Dabar veikia žiniatinklio serveris:-)
4 veiksmas: nustatykite klientus
Išmaniųjų telefonų „Android“klientas
Išmaniųjų namų programos „git“saugykloje taip pat yra „Android“kliento šaltinis, todėl galite jį sudaryti patys. Bet aš pridėjau šio veiksmo APK, tai palengvina. Kai pirmą kartą paleidžiate programą, ji prašo serverio, kaip ir pirmame paveikslėlyje aukščiau. Įveskite serverio URL ir saugos raktą.
Tai turėtų būti. Dabar turite prieigą prie serverio ir galite valdyti savo butą, leisti muziką ir žiūrėti vaizdo įrašus nuotoliniu būdu naudodami „Raspberry Pi“. Atminkite, kad prie pagrindinio ekrano galite pridėti valdiklių, todėl jungikliai ir muzikos valdymas tampa labiau prieinami.
„Smartwatch Pebble“klientas
Dviejų akmenukų klientų šaltinis yra „github“. Viena programa rodo dabartinį grojamą muzikos failą: https://github.com/dabastynator/PebbleRemoteMusic… Tai taip pat leidžia pristabdyti/leisti ir padidinti/sumažinti garsumą.
Antroji programa suaktyvina tris veiksmus: https://github.com/dabastynator/PebbleControl Trigerio pavadinimai yra: mobile.come_home mobile.leaving ir mobile.go_to_bed. Jei savo konfigūracijoje xml nustatysite šio aktyviklio įvykių taisykles, jas suaktyvinsite laikrodis.
Visa tai yra atvirojo kodo, bet jums nereikia jo kompiliuoti, aš taip pat pridėjau akmenukų programas. Atsisiųskite PBW naudodami savo išmanųjį telefoną, telefonas turėtų juos įdiegti laikrodyje. „Akmenėlių“programoms reikia konfigūracijos, kad jos galėtų kalbėtis su serveriu. Pridėjau ekrano kopiją, kaip atrodo mano nustatymai.
Išmanusis laikrodis „Garmin“klientas
Taip pat yra „Garmin Smartwatches“klientas. Programą galima rasti „Garmin connect“programų parduotuvėje ir ją galima įdiegti čia:
apps.garmin.com/en-US/apps/c745527d-f2af-4…
„Smart Mirror“klientas
Aš jau sukūriau instrukciją, paaiškinančią, kaip sukurti išmanųjį veidrodį, žr. Https://www.instructables.com/id/Smart-Mirror-by-R …. Šaltinio kodas taip pat talpinamas „github“: https:// github.com/dabastynator/SmartMirror. Išmaniojo veidrodžio programinė įranga nuskaito konfigūraciją iš failo smart_config.js, kuris nėra „git“saugyklos dalis. Konfigūracijos failo turinys turėtų atrodyti taip:
var mOpenWeatherKey = 'jūsų atvertas oras-raktas';
var mSecurity = 'jūsų saugumo ženklas';
Taip pat turite pakoreguoti pirmas dvi failo eilutes smart_mirror.js, kad nurodytumėte „Smart Home“serverio IP adresą ir vietą, kad gautumėte tinkamą orą.
Daugiau klientų
Serverio programa yra paprastas žiniatinklio serveris. Tai leidžia paprastiems žiniatinklio skambučiams suaktyvinti bet kurio norimo kliento veiksmus. Demonstraciniame vaizdo įraše rodau „Android“programų uždavinį kartu su „AutoVoice“. Tai leidžia man suaktyvinti įvykius naudojant paprastas balso komandas. Pavyzdžiui, „gerai,„ Google “, laikas miegoti“gali suaktyvinti „mobile.go_to_bed“. Bet taip pat galite skambinti žiniatinkliu, pavyzdžiui, iš IFTTT. Kaip apie geltoną mirksintį LED juostelę pranešimams el. Paštu?
Galite paprašyti serverio atlikti galimus interneto skambučius, pvz., Šias nuorodas (pakeiskite IP, prievadą ir prieigos raktą savo konfigūracija)
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 žingsnis: Išvada
Vis dar yra keletas funkcijų, kurias reikia įdiegti: Kadangi serveris teikia tik paprastą interneto api klientą, jis atlieka daug apklausų. Norėdami sumažinti apklausą, noriu MQTT integracijos, kad būtų geriau pranešama. Be to, „WiFi“maitinimo šaltiniai turėtų veikti patikimiau nei rc maitinimo šaltiniai, nes „rc“yra tik vienos krypties ryšys.
Tai labai smagu kuriant šį projektą. Ir gana šaunu valdyti butą keliais įrenginiais, net jei nutrūksta interneto ryšys.
Rekomenduojamas:
Nuotoliniai išmanieji namai: 5 žingsniai
Nuotoliniai išmanieji namai: medžiaga: „dunne gelamineerde hout“plokštė. 1 x grondplaat, kurio skersmuo yra 1 cm, 2 cm, duonkepė, plakbandveel kabels, skersmuo 0,3 cm, megztinis, kabelis gereedschap: boormachinelijmpistoolsoldeerboutschroevendra
Išmanieji namai su „Arduino“: 11 žingsnių (su nuotraukomis)
Išmanieji namai su „Arduino“: Sveiki. Aš jums parodysiu, kaip sukurti savo išmaniuosius namus. Tai rodo temperatūrą tiek viduje, tiek lauke, jei langas atidarytas arba uždarytas, rodo, kai lyja, ir signalizuoja, kai juda PIR jutiklis. Aš sukūriau programą „Android“
„Pasidaryk pats“išmanieji namai su „Google“padėjėju ir „Arduino“: 6 žingsniai
„Pasidaryk pats“išmanieji namai su „Google“padėjėju ir „Arduino“: kas nenori išmaniųjų namų? Vienas iš gražiausių dalykų, kuriuos galite padaryti, yra apšvietimo ar kitų namų prietaisų perjungimas valdant balsu. „Google Home“programos ir „Google“padėjėjo pagalba tai tikrai yra pyragas
Išmanieji namai su „Arduino MKR1000“ir „M.I.T. „Android“programa: 4 žingsniai
Išmanieji namai su „Arduino MKR1000“ir „M.I.T. „Android“programa: šioje pamokoje aprašau, kaip patobulinti savo išmaniuosius namus naudojant tik kelis komponentus. Šio protingo namo dizaino esmė yra „Arduino MKR1000“plokštė, valdoma naudojant programą, sukurta M.I.T. (Masačusetso institutas
Pigiausi išmanieji namai už 38 USD: 8 žingsniai (su nuotraukomis)
Pigiausi išmanieji namai už 38 USD: Ar girdėjote apie naują „Raspberry Pi Zero“? Tik kaina 5 USD (arba 10 USD už „W“versiją), ji sukuria revoliuciją išmaniuosiuose namuose, nes ji tampa pigesnė nei bet kada ir prieinama bet kokiam biudžetui. Kita išmaniųjų namų prieinamumo dalis yra ryšys