INHOUDSOPGAWE:
- Stap 1: Dinge wat u nodig het
- Stap 2: Berei Raspberry Pi voor vir 433 MHz
- Stap 3: Stel Smart Home Server op
- Stap 4: Stel kliënte op
- Stap 5: Gevolgtrekking
Video: Smart Home deur Raspberry Pi: 5 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
Daar is reeds verskillende produkte wat u woonstel slimmer maak, maar die meeste daarvan is eie oplossings. Maar waarom het u 'n internetverbinding nodig om 'n lig met u slimfoon te verander? Dit was een van die redes waarom ek my eie Smart Home -oplossing moes bou.
Ek het 'n bedienertoepassing geprogrammeer wat op 'n Raspberry Pi werk. Dit is 'n Java -gebaseerde open source -projek waarmee u u woonstel kan konfigureer en verskeie kliënte en 'beheerbare eenhede' kan verbind. Ek wys 'n oplossing wat rc -kragtoevoer skakelaars hanteer, musiek en video speel op die Raspberry Pi, die status op 'n slim spieël toon en kan beheer word deur 'n Android -app en twee klippie -programme. Die bron word aangebied op github
Stap 1: Dinge wat u nodig het
Om die Smart Home op te stel, benodig u die volgende 'bestanddele'
- Framboos Pi ten minste model 2 B
- 433 MHz sender, iets soos hierdie
- 3 springkabels wat die Raspberry Pi en die sender verbind
- Sommige radiobeheer -voetstukke op 433 MHz
- Android -slimfoon om die kliënt -app uit te voer
Boonop kan u die Smart Home uitbrei met meer opsionele kliënte en eenhede soos hierdie
- Kliphorlosie
- Smart Mirror, sien hierdie projek
- 433 MHz beheerde LED-strook, sien hierdie
Stap 2: Berei Raspberry Pi voor vir 433 MHz
In die volgende stappe benodig u toegang tot die opdragreël op die Raspberry Pi. Om toegang te verkry, kan u hierdie instruksionele https://www.instructables.com/id/Remote-SSH-access … lees
Koppel die 433 MHz sender met die Raspberry Pi soos op die foto hierbo getoon
- GND (sender) 6 GND (raspi)
- VCC (sender) 2 +5V (raspi)
- DATA (sender) 11 GPIO 17 (raspi)
Koppel ook 'n 17 cm -antenna aan die ANT (sender) pen. Dit verhoog die sein aansienlik.
Aangesien ons biblioteke van ander git -bewaarplekke benodig, moet ons git installeer
sudo apt-get install git-core -y
Om die Raspberry Pi vir 433 MHz kommunikasie op te stel, benodig ons die bedrading Pi -biblioteek vir 'n beter hantering van die GPIO's.
git kloon git: //git.drogon.net/wiringPi
cd bedradingPi./gebou
Dan benodig ons 'n biblioteek wat tipies rc -kragtoevoerprotokolle implementeer.
git kloon git: //github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi maak cp send/usr/bin/
Met die 'stuur' uitvoerbare program kan u kodes stuur om die meeste beskikbare kragtoevoer oor te skakel.
In my Smart Home-opstelling het ek ook 'n rc LED-strook wat deur hierdie instruksies beskryf word: https://www.instructables.com/id/RC-controlled-LED… Om kleure vir hierdie LED-strook in te stel, benodig u nog 'n stuurprogram waarmee u dit kan stuur om 'n heelgetalwaarde (wat die kleur kodeer) te stuur.
Stel dus die sendInt.cpp in die rcswitch-pi repo op en skuif dit na/usr/bin/sendInt.
sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi
Nou behoort u nou rc -opdragte te kan stuur met die twee uitvoerbare lêers/usr/bin/send en/usr/bin/sendInt
Stap 3: Stel Smart Home Server op
Eerstens moet u verskeie pakkette installeer. Die Smart Home-toepassing is op Java gebaseer en werk goed met openjdk-11. Ek is nie seker oor ander Java -runtime -omgewings nie. Die mplayer is 'n minimalistiese opdraglyn-musiekspeler. Die omxplayer gebruik die Raspberry Pi -grafika vir videokodering, dus dit moet vir video's gebruik word. Die programmier is nodig om die java -toepassing te bou.
sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y
Stel dopgehou op vir die jar -lêer en vir logboeke.
sudo mkdir /opt /neo
sudo chown pi: pi/opt/neo mkdir/home/pi/Logs
Stel die beginskrip op om die toepassing outomaties tydens die opstart te begin. Kopieer dus die aangehegte smart-home script na die gids /etc/init.d/ ek het ook 'n script gemaak in/usr/bin/wat opdragte na die aangehegte script lei, sodat ek net die smart-home na die konsole kan voer om opdragte uit te voer.
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 standaardinstellings vir smart-home
Dit is nou tyd om die bewaarplek af te betaal en die toepassing te bou. As u dit nie self wil saamstel nie, kan u net die aangehegte smarthome.jar aflaai en dit na/opt/neo/skuif
git kloon [email protected]: dabastynator/SmartHome.git
mier -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/*/opt/neo/
Probeer om die slimhuis te begin en kyk na die loglêer. Om toegang tot die GPIO's te verkry, moet die toepassing deur sudo begin word.
sudo slim-huis begin
kat Logs/smarthome.log
U moet die foutboodskap sien dat die konfigurasielêer nie bestaan nie, wat ons na die volgende stap verwys. Die bewaarplek bevat 'n leesbrief wat die konfigurasielêer verduidelik. U kan dit mooi weergegee sien op github:
Kopieer hierdie xml na /home/pi/controlcenter.xml, stel dan die ligging vir u mediaserver in en verander die inhoud soos u dit nodig het. Nadat u die konfigurasie voltooi het en die slimhuis weer begin het (sudo smart-home restart), moet u die volgende inhoud in die smarthome.log sien
24.05-08: 26 AFSTANDINLIGTING deur de.neo.smarthome.cronjob. CronJob@15aeb7ab: skeduleer cron-werk
24.05-08: 26 AFSTANDINLIGTING deur [trigger.light]: Wag 79391760 ms vir uitvoering 24.05-08: 26 RMI-INLIGTING deur Add web-handler (5061/ledstrip) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061 /aksie) 24.05-08: 26 RMI-INLIGTING deur 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 INFORMATION by Start webserver with 5 handler (localhost: 5061) 24.05-08: 26 REMOTE INFORMATION by Controlcenter: Add 1. control unit: MyUnit (xyz) …
Die webbediener loop nou:-)
Stap 4: Stel kliënte op
Smartphone Android -kliënt
Die git-bewaarplek vir die slimhuis-toepassing bevat ook die bron vir die Android-kliënt, sodat u dit self kan saamstel. Maar ek het die APK vir hierdie stap aangeheg, wat dit makliker maak. Die eerste keer dat u die app begin, vra dit u om 'n bediener, soos in die eerste prent hierbo. Voer die url van die bediener en die sekuriteitstoken in.
Dit behoort dit te wees. U het nou toegang tot die bediener en beheer u woonstel, speel musiek en kyk na video's op afstand op u Raspberry Pi. Let daarop dat u widgets op u tuisskerm kan voeg, wat skakelaars en musiekbeheer meer toeganklik maak.
Smartwatch Pebble -kliënt
Die bron vir die twee klippiekliënte word op github aangebied. Een program wys die huidige musieklêer: https://github.com/dabastynator/PebbleRemoteMusic … Hiermee kan u ook onderbreek/speel en volume op/af verhoog.
Die tweede app veroorsaak drie aksies: https://github.com/dabastynator/PebbleControl Die snellername is: mobile.come_home mobile.leaving en mobile.go_to_bed. As u gebeurtenisreëls vir hierdie sneller in u konfigurasie-xml definieer, aktiveer u dit deur u horlosie.
Dit is alles open source, maar u hoef dit nie self op te stel nie; ek het ook die klippie-programme aangeheg. Laai die PBW's af met u slimfoon, u telefoon moet dit op u horlosie installeer. Die klippie -programme benodig konfigurasies om met die bediener te praat. Ek het 'n skermkiekie aangeheg hoe my instellings lyk.
Smartwatch Garmin -kliënt
Daar is ook 'n kliënt beskikbaar vir Garmin Smartwatches. Die app is beskikbaar in die garmin connect-appwinkel en kan hier geïnstalleer word:
apps.garmin.com/en-US/apps/c745527d-f2af-4…
Smart Mirror -kliënt
Ek het reeds 'n instruksies geskep wat verduidelik hoe u die Smart Mirror kan skep, sien hierdie https://www.instructables.com/id/Smart-Mirror-by-R…. Die bronkode word ook op github aangebied: https:// github.com/dabastynator/SmartMirror. Die sagteware van die Smart Mirror lees die opset van die lêer smart_config.js wat nie deel is van die git -bewaarplek nie. Die inhoud van die konfigurasielêer behoort soos volg te lyk:
var mOpenWeatherKey = 'u-oop-weersleutel';
var mSecurity = 'your-security-token';
U moet ook die eerste twee reëls van die lêer smart_mirror.js aanpas om die IP -adres van die Smart Home -bediener en die ligging te spesifiseer om die regte weer te kry.
Meer kliënte
Die bedienertoepassing is 'n eenvoudige webbediener. Dit stel u in staat om aksies te aktiveer van enige kliënt wat u wil deur eenvoudige weboproepe. In die demo-video wys ek die Android-app tasker in kombinasie met AutoVoice. Dit stel my in staat om gebeurtenisse te aktiveer met eenvoudige stemopdragte. Byvoorbeeld, "ok google, tyd om te slaap" kan mobile.go_to_bed veroorsaak. Maar u kan ook weboproepe doen, byvoorbeeld vanaf IFTTT. Wat van 'n geel knipperende LED -strook vir e -poskennisgewing?
U kan die bediener vra vir moontlike weboproepe soos die volgende skakels (vervang ip, poort en teken deur u opset)
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- …
Stap 5: Gevolgtrekking
Daar is nog 'n paar funksies wat geïmplementeer moet word: Aangesien die bediener net 'n eenvoudige web-api bied, doen kliënte baie meningspeilings. Om die stembus te verminder, wil ek 'n MQTT -integrasie hê vir 'n beter kennisgewing. WiFi -kragtoevoer behoort ook betroubaarder te wees as rc -kragtoevoer, aangesien rc slegs 'n eenrigtingkommunikasie is.
Dit is baie pret om hierdie projek te ontwikkel. En dit is redelik gaaf om die woonstel met verskeie toestelle te beheer, selfs al breek die internetverbinding.
Aanbeveel:
Lamp met 'n battery wat aangeskakel word deur magnete te gebruik !: 8 stappe (met foto's)
Lamp wat deur batterye aangeskakel word deur aan te wend met magnete !: Ons weet dat die meeste lampe deur 'n fisiese skakelaar aan/uit gaan. My doel met hierdie projek was om 'n unieke manier te skep om die lamp maklik aan/uit te skakel sonder die klassieke skakelaar. Ek was geïntrigeerd deur die idee van 'n lamp wat tydens hierdie proses van vorm verander het
Mens-rekenaar-koppelvlak: funksioneer as 'n gripper (gemaak deur Kirigami) deur polsbeweging met behulp van EMG: 7 stappe
Mens-rekenaar-koppelvlak: Function a Gripper (gemaak deur Kirigami) deur polsbeweging met behulp van EMG: Dit was dus my eerste poging met 'n mens-rekenaar-koppelvlak. Ek het die spieraktiveringsseine van my polsbeweging vasgelê met 'n EMG-sensor, dit verwerk deur luislang en arduino en het 'n origami -gebaseerde grijper aangestuur
Shadow Light Box - Beheer deur IR -afstandsbediening met Arduino: 8 stappe (met foto's)
Shadow Light Box - Beheer deur IR -afstandsbediening met Arduino: hierdie instruksie sal lei hoe u 'n skadu -ligkas vir die volgende Kersfees kan maak. U kan dit self maak om u kamer te versier, of as 'n geskenk vir u vriend te maak. Hierdie skaduboks kan verskillende kleure maak deur kleur te meng deur rooi, blou, groen kleur
Smart Mirror deur Raspberry Pi: 5 stappe (met foto's)
Smart Mirror deur Raspberry Pi: Daar was dus 'n ongebruikte framboos pi 1B in die laai en 'n ongebruikte monitor. Dit is genoeg rede om 'n slim spieël te maak. Die spieël moet inligting oor tyd, datum en weer, sowel as statusinligting oor slimhuisskakelaars en wat u moet sien
ROOMBA Aangedryf deur ARDUINO YUN Via Wifi App deur STEFANO DALL'OLIO: 4 stappe (met foto's)
ROOMBA Aangedryf deur ARDUINO YUN Via Wifi App deur STEFANO DALL'OLIO: Met hierdie gids deel ek die kode om ARDUINO YUN aan Roomba te koppel om Roomba via Wifi te bestuur. Die kode en die app is volledig deur myself gemaak en ontwikkel Stefano Dall ' Olio.My Roomba is Roomba 620, maar jy kan dieselfde kode vir ander Roomb gebruik