Sadržaj:
- Korak 1: Stvari koje trebate
- Korak 2: Pripremite Raspberry Pi za 433 MHz
- Korak 3: Postavite Smart Home Server
- Korak 4: Postavljanje klijenata
- Korak 5: Zaključak
Video: Pametna kuća od Raspberry Pi: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Već postoji nekoliko proizvoda koji vaš stan čine pametnijim, ali većina njih su vlasnička rješenja. Ali zašto vam je potrebna internetska veza za uključivanje svjetla na pametnom telefonu? To je bio jedan od razloga zašto sam izgradio vlastito rješenje za pametnu kuću.
Programirao sam serversku aplikaciju koja radi na Raspberry Pi -u. Ovo je projekat otvorenog koda zasnovan na javi koji vam omogućava da konfigurirate svoj stan i povežete nekoliko klijenata i 'kontrolisanih jedinica'. Pokazujem rješenje koje rukuje prekidačima za napajanje na daljinskom upravljaču, reproducira muziku i video na Raspberry Pi, prikazuje status na pametnom ogledalu i može se kontrolirati pomoću android aplikacije i dvije šljunčane aplikacije. Izvor je smješten na github
Korak 1: Stvari koje trebate
Za postavljanje pametne kuće potrebni su vam sljedeći "sastojci"
- Raspberry Pi barem model 2 B
- Pošiljalac 433 MHz, otprilike ovako
- 3 kratkospojna kabela koji povezuju Raspberry Pi i pošiljatelja
- Neke utičnice za radio kontrolu na 433 MHz
- Android pametni telefon za pokretanje klijentske aplikacije
Osim toga, pametnu kuću možete proširiti s više izbornih klijenata i jedinica poput ove
- Šljunčani pametni sat
- Pametno ogledalo, pogledajte ovaj projekt
- 433 MHz kontrolirana LED traka, pogledajte ovo
Korak 2: Pripremite Raspberry Pi za 433 MHz
U sljedećim koracima potreban vam je pristup komandnoj liniji na Raspberry Pi. Da biste dobili pristup, možete pročitati ovo uputstvo
Povežite pošiljalac od 433 MHz sa Raspberry Pi -om kao što je prikazano na gornjoj slici
- GND (pošiljalac) 6 GND (raspi)
- VCC (pošiljalac) 2 +5V (raspi)
- PODACI (pošiljalac) 11 GPIO 17 (raspi)
Priključite i antenu od 17 cm na ANT (pošiljalac) iglu. To značajno povećava signal.
Pošto nam trebaju neke biblioteke iz drugih git spremišta, moramo instalirati git
sudo apt-get install git-core -y
Za postavljanje Raspberry Pi -a za komunikaciju od 433 MHz potrebna nam je ožičena Pi biblioteka za bolje rukovanje GPIO -ovima.
git clone git: //git.drogon.net/wiringPi
cd wiringPi./build
Zatim nam je potrebna biblioteka koja implementira tipično rc protokole napajanja.
git clone git: //github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi napravi cp pošalji/usr/bin/
Izvršna datoteka 'send' omogućuje vam slanje kodova za promjenu većine dostupnih izvora napajanja.
U postavkama pametne kuće imam i rc LED traku koju opisuje ova instrukcija: https://www.instructables.com/id/RC-contilled-LED… Za postavljanje boja za ovu LED traku potrebna vam je još jedna izvršna datoteka za slanje za slanje bilo koje integer vrijednosti (koja kodira boju).
Stoga, kompajlirajte sendInt.cpp u rcswitch-pi repo i premjestite ga u/usr/bin/sendInt.
sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi
Sada biste trebali moći slati rc naredbe s dvije izvršne datoteke/usr/bin/send i/usr/bin/sendInt
Korak 3: Postavite Smart Home Server
Prije svega morate instalirati nekoliko paketa. Aplikacija Smart Home zasnovana je na javi i radi dobro s openjdk-11. Nisam siguran za druga java runtime okruženja. Mplayer je minimalistički muzički plejer komandne linije. Omxplayer koristi Raspberry Pi grafiku za kodiranje videa, pa bi se to trebalo koristiti za video zapise. Program ant je potreban za izradu java aplikacije.
sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y
Postavljanje direktorija za jar datoteku i zapisnike.
sudo mkdir /opt /neo
sudo chown pi: pi/opt/neo mkdir/home/pi/Dnevnici
Konfigurirajte start script za automatsko pokretanje aplikacije pri pokretanju. Stoga kopirajte priloženu skriptu pametnog doma u direktorij /etc/init.d/ Također sam stvorio skriptu u/usr/bin/koja šalje komande u priloženu skriptu, pa samo unosim pametnu kuću u konzolu za izvršavanje naredbi.
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/pametni dom / $ 1 '>>/usr/bin/pametni dom "sudo chmod +x/usr/bin/sudo ažuriranje sudo-rc.d zadane postavke pametnog doma
Sada je vrijeme da provjerite spremište i izgradite aplikaciju. Ako ne želite sami sastaviti, možete samo preuzeti priloženi smarthome.jar i premjestiti ga u/opt/neo/
git klon [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/
Pokušajte pokrenuti pametni dom i provjerite datoteku dnevnika. Da biste dobili pristup GPIO -ovima, aplikaciju mora pokrenuti sudo.
početak pametnog doma sudo
cat Logs/smarthome.log
Trebali biste vidjeti poruku o grešci Ne postoji konfiguracijska datoteka koja nas upućuje na sljedeći korak. Spremište sadrži readme koje objašnjava konfiguracijsku datoteku. Ovo možete lijepo prikazati na githubu:
Kopirajte ovaj xml na /home/pi/controlcenter.xml, a zatim postavite lokaciju za vaš medijski poslužitelj i promijenite sadržaj po potrebi. Nakon što završite konfiguraciju i ponovo pokrenete pametni dom (sudo smart-home restart), trebali biste vidjeti sljedeći sadržaj u smarthome.log
24.05-08: 26 DALJINSKE INFORMACIJE od de.neo.smarthome.cronjob. CronJob@15aeb7ab: Zakažite cron posao
24.05-08: 26 DALJINSKE INFORMACIJE od [trigger.light]: Pričekajte 79391760 ms za izvršavanje 24.05-08: 26 RMI INFORMACIJE od Dodavanje web-rukovatelja (5061/ledstrip) 24.05-08: 26 RMI INFORMACIJE od Dodaj web-rukovatelja (5061 /akcija) 24.05-08: 26 RMI INFORMACIJE od Add web-handler-a (5061/mediaserver) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/switch) 24.05-08: 26 RMI INFORMACIJE by Add web-handler (5061/controlcenter) 24.05-08: 26 RMI INFORMACIJE od Start web poslužitelja s 5 rukovatelja (localhost: 5061) 24.05-08: 26 DALJINSKE INFORMACIJE od Controlcenter: Dodati 1. upravljačku jedinicu: MyUnit (xyz)…
Web server sada radi:-)
Korak 4: Postavljanje klijenata
Android klijent pametnog telefona
Git spremište za aplikaciju pametnog doma također sadrži izvor za android klijenta, tako da ga možete sami sastaviti. Ali priložio sam APK za ovaj korak, što olakšava. Kada prvi put pokrenete aplikaciju, od vas će se tražiti poslužitelj, kao na prvoj gornjoj slici. Unesite url servera i sigurnosni token.
To bi trebalo biti to. Sada imate pristup poslužitelju i kontrolirate svoj stan, reproducirate muziku i gledate videozapise na daljinu na svom Raspberry Pi -u. Imajte na umu da na početni ekran možete dodati widgete, što prekidače i upravljanje muzikom čini pristupačnijima.
Smartwatch klijent sa šljunkom
Izvor za dva klijenta sa šljunkom smješten je na githubu. Jedna aplikacija prikazuje trenutnu muzičku datoteku koja se trenutno reprodukuje: https://github.com/dabastynator/PebbleRemoteMusic… Ovo vam takođe omogućava pauziranje/reprodukciju i pojačavanje/smanjivanje jačine zvuka.
Druga aplikacija pokreće tri radnje: https://github.com/dabastynator/PebbleControl Imena okidača su: mobile.come_home mobile.leaving i mobile.go_to_bed. Ako definirate pravila događaja za ovaj okidač u konfiguracijskom xml-u, aktivirat ćete ih satom.
Sve je otvorenog koda, ali ne morate ga sami sastavljati, priložio sam i šljunčane aplikacije. Preuzmite PBW sa svojim pametnim telefonom, telefon bi ih trebao instalirati na sat. Šljunčane aplikacije trebaju konfiguracije za razgovor s poslužiteljem. Priložio sam snimak ekrana kako izgledaju moje postavke.
Pametni sat Garmin klijent
Dostupan je i klijent za Garmin pametne satove. Aplikacija je dostupna u garmin connect app store-u i može se instalirati ovdje:
apps.garmin.com/en-US/apps/c745527d-f2af-4…
Smart Mirror klijent
Već sam stvorio instrukciju koja objašnjava kako stvoriti Smart Mirror, pogledajte ovo https://www.instructables.com/id/Smart-Mirror-by-R…. Izvorni kod je također hostiran na githubu: https:// github.com/dabastynator/SmartMirror. Softver Smart Mirror -a čita konfiguraciju iz datoteke smart_config.js koja nije dio git spremišta. Sadržaj konfiguracijske datoteke trebao bi izgledati ovako:
var mOpenWeatherKey = 'your-open-wheather-key';
var mSecurity = 'your-security-token';
Također morate prilagoditi prva dva retka datoteke smart_mirror.js kako biste naveli ip adresu poslužitelja Smart Home i lokaciju kako biste dobili pravo vrijeme.
Više klijenata
Server aplikacija je jednostavan web server. Ovo vam omogućuje da pokrenete radnje od bilo kojeg klijenta kojim želite jednostavnim web-pozivima. U demo-videu prikazujem Android app Tasker u kombinaciji s AutoVoice-om. To mi omogućuje pokretanje događaja jednostavnim glasovnim naredbama. Na primjer, "ok Google, vrijeme za spavanje" može pokrenuti mobile.go_to_bed. Ali možete i upućivati web pozive, na primjer s IFTTT-a. Šta kažete na žutu trepćuću LED traku za obavijesti putem e -pošte?
Od servera možete zatražiti moguće internetske pozive poput sljedećih veza (zamijenite ip, port i token prema vašoj konfiguraciji)
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-…
Korak 5: Zaključak
Još uvijek postoje neke značajke koje je potrebno implementirati: Budući da poslužitelj pruža samo jednostavan web-api klijent, dosta se bavi anketiranjem. Da bih smanjio broj birača, želim MQTT integraciju za bolje obavještavanje. Također, wifi napajanja bi trebala biti pouzdanija od rc napajanja jer je rc samo jednosmjerna komunikacija.
Prilično je zabavno razvijati se za ovaj projekt. I prilično je cool kontrolirati stan s nekoliko uređaja, čak i ako se prekine internetska veza.
Preporučuje se:
Daljinska pametna kuća: 5 koraka
Udaljena pametna kuća: Materijali: dunne gelamineerde hout platen. 1 x osnovno platno sa prečnikom od 1 cmkleine nagels 2 x žice za žicu plakbandveel kablovi sa prečnikom 0,3 cm veel skakači kablovi gereedschap: boormachinelijmpistoolsoldeerboutschroevendra
Pametna kuća s Arduinom: 11 koraka (sa slikama)
Pametna kuća s Arduinom: Zdravo. Pokazat ću vam kako izgraditi vlastiti pametni dom. Prikazuje temperaturu iznutra i izvana, ako je prozor otvoren ili zatvoren, pokazuje kada pada kiša i alarmira kada PIR senzor osjeti pomicanje. Napravio sam aplikaciju na androidu za
Pametna kuća s Arduinom MKR1000 i M.I.T. Android aplikacija: 4 koraka
Pametna kuća s Arduinom MKR1000 i M.I.T. Android aplikacija: U ovom vodiču opisujem kako poboljšati vaš pametni dom sa samo nekoliko komponenti. Srce ovog dizajna pametne kuće je ploča Arduino MKR1000, kontrolirana pomoću aplikacije, dizajnirane na razvojnoj web stranici M.I.T. (Institut Massachusetts
HackerBox 0054: Pametna kuća: 8 koraka
HackerBox 0054: Pametni dom: Pozdrav HackerBox hakerima širom svijeta! HackerBox 0054 istražuje kućnu automatizaciju putem pametnih prekidača, senzora i još mnogo toga. Konfigurirajte pametne prekidače Sonoff WiFi. Izmijenite pametne prekidače kako biste dodali programska zaglavlja i zamjenski firmver za flash
Raspberry Pi - Pametna kuća: 5 koraka
Raspberry Pi - pametna kuća: Projekt pametne kuće Raspberry Pi opremljen je s mnogo različitih funkcija koje omogućuju korisniku da može pratiti svoju kuću s bilo kojeg mjesta (s internetom, naravno!) Na bilo kojem računalu/mobilnom uređaju. Značajke pametne kuće omogućuju korisniku da