Sadržaj:
- Korak 1: Stvari koje trebate
- Korak 2: Pripremite Raspberry Pi za 433 MHz
- Korak 3: Postavljanje poslužitelja Smart Home
- 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 promjena: 2024-01-30 09:31
Već postoji nekoliko proizvoda koji vaš stan čine pametnijim, ali većina je vlasničkih rješenja. Ali zašto vam je potrebna internetska veza za uključivanje svjetla s pametnog telefona? To mi je bio jedan od razloga za izgradnju vlastitog rješenja za pametnu kuću.
Programirao sam poslužiteljsku aplikaciju koja radi na Raspberry Pi. Ovo je otvoreni izvorni projekt temeljen na Java -i koji vam omogućuje da konfigurirate svoj stan i povežete nekoliko klijenata i 'jedinica koje se mogu kontrolirati'. Pokazujem rješenje koje rukuje prekidačima za napajanje na daljinskom upravljaču, reproducira glazbu i video na Raspberry Pi -u, prikazuje status na pametnom ogledalu i može se kontrolirati pomoću android aplikacije i dvije šljunčane aplikacije. Izvor se nalazi na githubu
Korak 1: Stvari koje trebate
Za postavljanje pametne kuće potrebni su vam sljedeći "sastojci"
- Raspberry Pi barem model 2 B
- Pošiljatelj na 433 MHz, otprilike ovako
- 3 kratkospojna kabela koji povezuju Raspberry Pi i pošiljatelja
- Neke utičnice za radijsko upravljanje na 433 MHz
- Android pametni telefon za pokretanje klijentske aplikacije
Osim toga, pametni dom 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 ovu
Korak 2: Pripremite Raspberry Pi za 433 MHz
U sljedećim koracima trebate pristupiti naredbenom retku na Raspberry Pi. Da biste dobili pristup, možete pročitati ovu uputu
Povežite pošiljatelj od 433 MHz s Raspberry Pi -om kao što je prikazano na gornjoj slici
- GND (pošiljatelj) 6 GND (raspi)
- VCC (pošiljatelj) 2 +5V (raspi)
- PODACI (pošiljatelj) 11 GPIO 17 (raspi)
Također spojite antenu od 17 cm na ANT (pošiljatelj) iglu. To značajno povećava signal.
Budući da nam trebaju neke knjižnice 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 biblioteka ožičenja Pi za bolje rukovanje GPIO -ovima.
git klon git: //git.drogon.net/wiringPi
cd ožičenjePi./izgraditi
Zatim nam je potrebna knjižnica koja implementira tipično rc protokole napajanja.
git klon git: //github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi make cp send/usr/bin/
Izvršna datoteka 'send' omogućuje vam slanje kodova za promjenu većine dostupnih izvora napajanja.
U postavkama pametnog doma također imam rc LED traku koju opisuje ova uputa: https://www.instructables.com/id/RC-contlined-LED… Za postavljanje boja za ovu LED traku potrebna vam je još jedna izvršna datoteka za slanje za slanje bilo koje vrijednosti Integer (koja kodira boju).
Stoga kompajlirajte sendInt.cpp u repo rcswitch-pi 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: Postavljanje poslužitelja Smart Home
Prije svega morate instalirati nekoliko paketa. Aplikacija Smart Home temelji se na javi i radi dobro s openjdk-11. Nisam siguran za ostala java runtime okruženja. Mplayer je minimalistički player glazbe naredbenog retka. 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 naredbe u priloženu skriptu, pa samo unosim pametnu kuću na 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 za provjeru spremišta i izradu aplikacije. Ako ga ne želite sami sastaviti, možete jednostavno 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
mačji dnevnici/smarthome.log
Trebali biste vidjeti poruku o pogrešci Ne postoji konfiguracijska datoteka koja nas upućuje na sljedeći korak. Spremište sadrži readme koji objašnjava konfiguracijsku datoteku. To možete lijepo prikazati na githubu:
Kopirajte ovaj xml u /home/pi/controlcenter.xml, a zatim postavite mjesto za svoj medijski poslužitelj i promijenite sadržaj prema potrebi. Nakon što ste dovršili konfiguraciju i ponovno pokrenuli 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 DALJINSKI PODACI od [trigger.light]: Pričekajte 79391760 ms za izvršavanje 24.05-08: 26 RMI INFORMACIJE od Dodaj web-rukovatelj (5061/ledstrip) 24.05-08: 26 RMI INFORMACIJE od Dodaj web-rukovatelj (5061 /action) 24.05-08: 26 RMI INFORMATION by 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 INFORMACIJE od Start web poslužitelja s 5 rukovatelja (localhost: 5061) 24.05-08: 26 DALJINSKE INFORMACIJE od Controlcenter: Dodajte 1. upravljačku jedinicu: MyUnit (xyz)…
Web poslužitelj 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. No za ovaj sam korak priložio APK, što ga čini lakšim. Prilikom prvog pokretanja aplikacije od vas će se tražiti poslužitelj, kao na prvoj slici gore. Unesite url poslužitelja i sigurnosni token.
To bi trebalo biti to. Sada imate pristup poslužitelju i kontrolirate svoj stan, reproducirate glazbu i gledate videozapise na daljini na svom Raspberry Pi. Imajte na umu da na početni zaslon možete dodati widgete, što prekidače i upravljanje glazbom čini pristupačnijima.
Klijent Smartwatch Šljunak
Izvor za dva klijenta sa šljunkom nalazi se na githubu. Jedna aplikacija prikazuje trenutnu glazbenu datoteku koja se reproducira: https://github.com/dabastynator/PebbleRemoteMusic… Ovo vam također omogućuje pauziranje/reprodukciju i pojačavanje/smanjivanje glasnoće.
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 zaslona kako izgledaju moje postavke.
Pametni sat Garmin klijent
Za Garmin pametne satove dostupan je i klijent. Aplikacija je dostupna u trgovini aplikacija Garmin Connect 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 kôd je također hostiran na githubu: https:// github.com/dabastynator/SmartMirror. Softver Smart Mirrora č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
Poslužiteljska aplikacija jednostavan je web poslužitelj. To 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, time to sleep" može pokrenuti mobile.go_to_bed. No možete i upućivati web-pozive, na primjer s IFTTT-a. Što kažete na žutu trepćuću LED traku za obavijesti putem e -pošte?
Od poslužitelja 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 za implementaciju: Budući da poslužitelj pruža samo jednostavan web-api klijent, puno se bavi anketiranjem. Kako bih smanjio broj glasovanja, želim integraciju MQTT -a radi bolje obavijesti. 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čeni:
Pametna kuća s Arduinom: 11 koraka (sa slikama)
Pametna kuća s Arduinom: Pozdrav. Pokazat ću vam kako izgraditi vlastiti pametni dom. Prikazuje temperaturu iznutra i izvana, ako je prozor otvoren ili zatvoren, prikazuje 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 svoj 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
Povoljna pametna kuća - kontrola s bilo kojeg mjesta u SVIJETU: 6 koraka
Povoljna pametna kuća - kontrola s bilo kojeg mjesta u SVIJETU: OOdavno oba roditelja rade na tome da imaju ugodan život za obitelj. Tako da u svom domu imamo puno elektroničkih uređaja kao što su grijač, klima uređaj, perilica rublja itd. Kad se vrate kući, trebali bi se osjećati ugodno u ter
Pametna kuća koja koristi Amazon Alexa: 5 koraka
Pametna kuća koja koristi Amazon Alexa: Osnovna ideja ovog projekta je upravljanje elektroničkim uređajem pomoću Amazon Alexa ili putem njegove aplikacije s bilo kojeg mjesta u svijetu. Za to ćemo koristiti Node MCU V1.0. Sav kôd bit će na mojoj Github stranici. Ako u bilo kojem trenutku ne učinite
Raspberry Pi - Pametna kuća: 5 koraka
Raspberry Pi - Pametna kuća: Projekt pametne kuće Raspberry Pi opremljen je s mnogo različitih značajki 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 korisniku omogućuju