Innholdsfortegnelse:
- Trinn 1: Ting du trenger
- Trinn 2: Forbered Raspberry Pi for 433 MHz
- Trinn 3: Sett opp Smart Home Server
- Trinn 4: Konfigurer klienter
- Trinn 5: Konklusjon
Video: Smart Home av Raspberry Pi: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Det er allerede flere produkter der ute som gjør leiligheten din smartere, men de fleste av dem er proprietære løsninger. Men hvorfor trenger du en internettforbindelse for å bytte lys med smarttelefonen din? Det var en grunn for meg til å bygge min egen Smart Home -løsning.
Jeg programmerte et serverprogram som kjører på en Raspberry Pi. Dette er et Java -basert åpen kildekode -prosjekt som lar deg konfigurere leiligheten din og koble til flere klienter og "kontrollerbare enheter". Jeg viser en løsning som håndterer brytere for rc -strømforsyning, spiller musikk og video på Raspberry Pi, viser status på smartspeil og kan styres av en Android -app og to småstein -apper. Kilden ligger på github
Trinn 1: Ting du trenger
For å sette opp Smart Home trenger du følgende ingredienser
- Bringebær Pi minst modell 2 B
- 433 MHz sender, noe slikt
- 3 startkabler som forbinder Raspberry Pi og avsenderen
- Noen radiokontakter på 433 MHz
- Android -smarttelefon for å kjøre klientappen
I tillegg kan du utvide Smart Home med flere valgfrie klienter og enheter som dette
- Pebble smartwatch
- Smart Mirror, se dette prosjektet
- 433 MHz kontrollert LED-stripe, se denne
Trinn 2: Forbered Raspberry Pi for 433 MHz
I de følgende trinnene trenger du tilgang til kommandolinjen på Raspberry Pi. For å få tilgang kan du lese denne instruerbare
Koble 433 MHz sender med Raspberry Pi som vist på bildet ovenfor
- GND (sender) 6 GND (raspi)
- VCC (sender) 2 +5V (raspi)
- DATA (sender) 11 GPIO 17 (raspi)
Koble også en 17 cm antenne til ANT (sender) -nålen. Det øker signalet betydelig.
Siden vi trenger noen biblioteker fra andre git -lagre, må vi installere git
sudo apt-get install git-core -y
For å sette opp Raspberry Pi for 433 MHz kommunikasjon trenger vi Pi -biblioteket for ledninger for bedre håndtering av GPIO -ene.
git klon git: //git.drogon.net/wiringPi
cd ledningerPi./build
Da trenger vi et bibliotek som implementerer typisk rc -strømforsyningsprotokoller.
git-klon git: //github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi lag cp send/usr/bin/
Med den sendbare kjørbare kan du sende koder for å bytte de fleste tilgjengelige strømforsyninger.
I mitt Smart Home-oppsett har jeg også en rc LED-stripe beskrevet av denne instruksjonsboken: https://www.instructables.com/id/RC-controlled-LED… For å angi farger for denne LED-stripen trenger du en annen eksekverbar sending som lar deg å sende hvilken som helst heltallverdi (som koder fargen).
Derfor, kompiler sendInt.cpp i rcswitch-pi repo og flytt den til/usr/bin/sendInt.
sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi
Nå skal du nå kunne sende rc -kommandoer med de to kjørbare/usr/bin/send og/usr/bin/sendInt
Trinn 3: Sett opp Smart Home Server
Først av alt må du installere flere pakker. Smart Home-applikasjonen er java-basert og fungerer fint med openjdk-11. Jeg er ikke sikker på andre Java -runtime -miljøer. Mplayer er en minimalistisk kommandolinjemusikkspiller. Omxplayer bruker Raspberry Pi -grafikk for videokoding, så dette bør brukes til videoer. Programmauren er nødvendig for å bygge java -applikasjonen.
sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y
Sett opp kataloger for jar -filen og for logger.
sudo mkdir /opt /neo
sudo chown pi: pi/opt/neo mkdir/home/pi/Logs
Konfigurer startskript for å starte programmet automatisk ved oppstart. Kopier derfor det vedlagte smarthjemsskriptet til katalogen /etc/init.d/ Jeg opprettet også et skript i/usr/bin/som leder kommandoer til det vedlagte skriptet, så jeg skriver bare inn smart-home til konsollen for å utføre kommandoer.
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 standardinnstillinger for smart-hjem
Nå er det på tide å sjekke ut depotet og bygge programmet. Hvis du ikke vil kompilere det selv, kan du bare laste ned det vedlagte smarthome.jar og flytte det til/opt/neo/
git klon [email protected]: dabastynator/SmartHome.git
maur -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/*/opt/neo/
Prøv å starte smart-home og sjekk loggfilen. For å få tilgang til GPIO -er må programmet startes av sudo.
sudo smart-hjem start
katt Logger/smarthome.log
Du bør se feilmeldingen Konfigurasjonsfil eksisterer ikke som viser oss til neste trinn. Depotet inneholder et readme som forklarer konfigurasjonsfilen. Du kan se dette pent gjengitt på github:
Kopier denne xml til /home/pi/controlcenter.xml, og angi deretter plasseringen for medieserveren og endre innholdet etter behov. Når du har fullført konfigurasjonen og startet smart-home (sudo smart-home restart), bør du se følgende innhold i smarthome.log
24.05-08: 26 FJERNINFORMASJON av de.neo.smarthome.cronjob. CronJob@15aeb7ab: Planlegg cron-jobb
24.05-08: 26 FJERNINFORMASJON med [trigger.light]: Vent 79391760 ms for utførelse 24.05-08: 26 RMI INFORMASJON med Add web-handler (5061/ledstrip) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061 /handling) 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 INFORMATION by Start webserver with 5 handler (localhost: 5061) 24.05-08: 26 FJERNINFORMASJON fra Controlcenter: Legg til 1. kontrollenhet: MyUnit (xyz) …
Web-serveren kjører nå:-)
Trinn 4: Konfigurer klienter
Smartphone Android -klient
Git-depotet for smart-home-applikasjonen inneholder også kilden til Android-klienten, slik at du kan kompilere den selv. Men jeg har lagt ved APK -en for dette trinnet, det gjør det enklere. Første gang du starter appen, ber den deg om en server, som i det første bildet ovenfor. Skriv inn nettadressen til serveren og sikkerhetstokenet.
Det burde være det. Du har nå tilgang til serveren og kontrollerer leiligheten din, spiller musikk og ser på videoer eksternt på Raspberry Pi. Vær oppmerksom på at du kan legge til widgets på startskjermen, noe som gjør brytere og musikkontroll mer tilgjengelig.
Smartwatch Pebble -klient
Kilden for de to småsteinsklientene ligger på github. En app viser den gjeldende musikkfilen: https://github.com/dabastynator/PebbleRemoteMusic… Dette lar deg også pause/spille og volum opp/ned.
Den andre appen utløser tre handlinger: https://github.com/dabastynator/PebbleControl Triggernavnene er: mobile.come_home mobile.leaving og mobile.go_to_bed. Hvis du definerer hendelsesregler for denne utløseren i konfigurasjonen-xml, utløser du dem av klokken din.
Det hele er åpen kildekode, men du trenger ikke å kompilere det selv, jeg har også festet småsteinappene. Last ned PBW -ene med smarttelefonen din, telefonen skal installere dem på klokken din. Småstein -appene trenger konfigurasjoner for å snakke med serveren. Jeg la ved et skjermbilde av hvordan innstillingene mine ser ut.
Smartwatch Garmin -klient
Det er også en klient tilgjengelig for Garmin Smartwatches. Appen er tilgjengelig i garmin connect app-store og kan installeres her:
apps.garmin.com/en-US/apps/c745527d-f2af-4…
Smart Mirror -klient
Jeg har allerede laget en instruks som forklarer hvordan du lager Smart Mirror, se denne https://www.instructables.com/id/Smart-Mirror-by-R…. Kildekoden er også vert på github: https:// github.com/dabastynator/SmartMirror. Programvaren til Smart Mirror leser konfigurasjonen fra filen smart_config.js som ikke er en del av git -depotet. Innholdet i konfigurasjonsfilen skal se slik ut:
var mOpenWeatherKey = 'your-open-wheather-key';
var mSecurity = 'your-security-token';
Du må også justere de to første linjene i filen smart_mirror.js for å spesifisere Smart Home -serverens ip -adresse og plasseringen for å få riktig vær.
Flere kunder
Serverprogrammet er en enkel webserver. Dette lar deg utløse handlinger fra hvilken som helst klient du vil ved enkle websamtaler. I demo-videoen viser jeg android app tasker i kombinasjon med AutoVoice. Dette gjør at jeg kan utløse hendelser med enkle talekommandoer. For eksempel kan "ok google, tid til å sove" utløse mobile.go_to_bed. Men du kan også ringe web for eksempel fra IFTTT. Hva med en gul blinkende LED -stripe for e -postvarsel?
Du kan be serveren om mulige webanrop som følgende lenker (erstatt ip, port og token med konfigurasjonen)
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- …
Trinn 5: Konklusjon
Det er fortsatt noen funksjoner å implementere: Siden serveren gir bare en enkel web-api klienter gjøre mye avstemninger. For å redusere avstemningen vil jeg ha en MQTT -integrasjon for bedre varsling. Strømforsyninger til wifi bør også utføre mer pålitelige enn rc -strømforsyninger, siden rc bare er enveiskommunikasjon.
Det er veldig morsomt å utvikle for dette prosjektet. Og det er ganske kult å kontrollere leiligheten med flere enheter, selv om internettforbindelsen brytes.
Anbefalt:
Hvordan lage et smart hjem ved hjelp av Arduino kontrollrelémodul - Home Automation Ideas: 15 trinn (med bilder)
Hvordan lage et smart hjem ved hjelp av Arduino kontrollrelémodul | Idéer for hjemmeautomatisering: I dette hjemmeautomatiseringsprosjektet vil vi designe en smart hjemmestafemodul som kan styre fem husholdningsapparater. Denne relemodulen kan styres fra mobil eller smarttelefon, IR -fjernkontroll eller TV -fjernkontroll, manuell bryter. Dette smarte stafetten kan også kjenne r
Smart vekkerklokke: en smart vekkerklokke laget med bringebær Pi: 10 trinn (med bilder)
Smart vekkerklokke: en smart vekkerklokke laget med bringebær Pi: Har du noen gang ønsket deg en smart klokke? I så fall er dette løsningen for deg! Jeg lagde Smart Alarm Clock, dette er en klokke som du kan endre alarmtiden i henhold til nettstedet. Når alarmen går, kommer det en lyd (summer) og 2 lys vil
ForgetMeNot - Smart Home Notification Platform: 14 trinn (med bilder)
ForgetMeNot - Smart Home Notification Platform: Som travle studenter, løper rundt mellom klasser, jobber og familieforpliktelser, har vi en tendens til å glemme de små tingene. En bursdag kommer og går uten at vi merker det, en viktig frist går glipp av på grunn av ren glemsomhet og noen ganger bare
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: 4 trinn (med bilder)
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: No desenvolvimento desse projeto foi utilizada uma plataforma hibrida, sem a nødvendigidade of acessar of recaços of plataformas nativas do Android ou do IOS. Foi utilizado um computador tipo notebook com windows 10. Essa plataforma chama-se Ionic, q
ESP8266-01 IoT Smart Timer for Home Automation: 9 trinn (med bilder)
ESP8266-01 IoT Smart Timer for Home Automation: UPDATES30/09/2018: Fastvare oppdatert til Ver 1.09. Nå med Sonoff Basic Support01/10/2018: Fastvareversjon 1.10-prøveversjon tilgjengelig for testing på ESP8266-01 med problemer Med de nye buzzwordene som Internet Of Things (IoT) og Home Automation, bestemte jeg meg for