Indholdsfortegnelse:
- Trin 1: Ting du har brug for
- Trin 2: Forbered Raspberry Pi til 433 MHz
- Trin 3: Opsætning af Smart Home Server
- Trin 4: Opsætning af klienter
- Trin 5: Konklusion
Video: Smart Home af Raspberry Pi: 5 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Der er allerede flere produkter derude, der gør din lejlighed smartere, men de fleste af dem er proprietære løsninger. Men hvorfor har du brug for en internetforbindelse for at skifte lys med din smartphone? Det var en af grundene til, at jeg byggede min egen Smart Home -løsning.
Jeg programmerede et serverprogram, der kører på en Raspberry Pi. Dette er et Java -baseret open source -projekt, der giver dig mulighed for at konfigurere din lejlighed og forbinde flere klienter og 'kontrollerbare enheder'. Jeg viser en løsning, der håndterer rc -strømforsyningskontakter, afspiller musik og video på Raspberry Pi, viser status på smart mirror og kan styres af en Android -app og to småsten -apps. Kilden er hostet på github
Trin 1: Ting du har brug for
For at konfigurere Smart Home skal du bruge følgende 'ingredienser'
- Hindbær Pi mindst model 2 B
- 433 MHz afsender, sådan noget
- 3 jumperkabler, der forbinder Raspberry Pi og afsenderen
- Nogle radiokontrolstik ved 433 MHz
- Android -smartphone til at køre klient -appen
Derudover kan du udvide Smart Home med flere valgfrie klienter og enheder som denne
- Pebble smartwatch
- Smart Mirror, se dette projekt
- 433 MHz kontrolleret LED-strip, se denne
Trin 2: Forbered Raspberry Pi til 433 MHz
I de følgende trin har du brug for adgang til kommandolinjen på Raspberry Pi. For at få adgang kan du læse denne instruerbare
Tilslut 433 MHz afsenderen med Raspberry Pi som vist på billedet ovenfor
- GND (afsender) 6 GND (raspi)
- VCC (afsender) 2 +5V (raspi)
- DATA (afsender) 11 GPIO 17 (raspi)
Tilslut også en 17 cm antenne til ANT (afsender) pin. Det øger signalet markant.
Da vi har brug for nogle biblioteker fra andre git -arkiver, skal vi installere git
sudo apt-get install git-core -y
For at konfigurere Raspberry Pi til 433 MHz kommunikation har vi brug for Pi -biblioteket til ledninger til bedre håndtering af GPIO'erne.
git -klon git: //git.drogon.net/wiringPi
cd wiringPi./build
Så har vi brug for et bibliotek, der implementerer typisk rc -strømforsyningsprotokoller.
git-klon git: //github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi lav cp send/usr/bin/
Med den 'send' eksekverbare fil kan du sende koder for at skifte de fleste tilgængelige strømforsyninger.
I min Smart Home-opsætning har jeg også en rc LED-strip, der er beskrevet af denne instruktør: https://www.instructables.com/id/RC-controlled-LED… For at indstille farver til denne LED-strip skal du bruge en anden afsendbar eksekverbar, der giver dig mulighed for at sende enhver heltalværdi (der koder farven).
Kompiler derfor sendInt.cpp i rcswitch-pi repo og flyt 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
Nu skulle du nu kunne sende rc -kommandoer med de to eksekverbare filer/usr/bin/send og/usr/bin/sendInt
Trin 3: Opsætning af Smart Home Server
Først og fremmest skal du installere flere pakker. Smart Home-applikationen er java-baseret og kører fint med openjdk-11. Jeg er ikke sikker på andre Java -runtime -miljøer. Mplayer er en minimalistisk kommandolinjemusikafspiller. Omxplayer bruger Raspberry Pi -grafikken til videokodning, så dette bør bruges til videoer. Programmauren er nødvendig for at bygge java -applikationen.
sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y
Opsæt mapper til jar -filen og til logfiler.
sudo mkdir /opt /neo
sudo chown pi: pi/opt/neo mkdir/home/pi/Logs
Konfigurer startscript til automatisk at starte programmet ved opstart. Kopier derfor det vedhæftede smart-home-script til biblioteket /etc/init.d/ Jeg har også oprettet et script i/usr/bin/, der leder kommandoer til det vedhæftede script, så jeg skal bare indtaste smart-home til konsollen for at udfø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 standardindstillinger for smart-home
Nu er det tid til at tjekke depotet og bygge applikationen. Hvis du ikke vil kompilere det selv, kan du bare downloade det vedhæftede smarthome.jar og flytte det til/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/
Prøv at starte smart-home og tjek logfilen. For at få adgang til GPIO'erne skal applikationen startes af sudo.
sudo smart-home start
kat Logs/smarthome.log
Du skulle se fejlmeddelelsen Konfigurationsfil findes ikke, der peger os til det næste trin. Lageret indeholder et readme, der forklarer konfigurationsfilen. Du kan se dette flot gengivet på github:
Kopiér denne xml til /home/pi/controlcenter.xml, og indstil derefter placeringen for din medieserver, og skift indholdet efter behov. Når du er færdig med konfigurationen og genstartet smart-home (sudo smart-home genstart), skal du se følgende indhold i smarthome.log
24.05-08: 26 FJERNOPLYSNINGER af de.neo.smarthome.cronjob. CronJob@15aeb7ab: Planlæg cron-job
24.05-08: 26 REMOTE INFORMATION by [trigger.light]: Vent 79391760 ms til udførelse 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/ledstrip) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061 /handling) 24.05-08: 26 RMI INFORMATION af Tilføj web-handler (5061/mediaserver) 24.05-08: 26 RMI INFORMATION af Tilføj web-handler (5061/switch) 24.05-08: 26 RMI INFORMATION af Tilføj web-handler (5061/controlcenter) 24.05-08: 26 RMI INFORMATION af Start webserver med 5 handler (localhost: 5061) 24.05-08: 26 FJERNOPLYSNINGER fra Controlcenter: Tilføj 1. kontrolenhed: MyUnit (xyz) …
Web-serveren kører nu:-)
Trin 4: Opsætning af klienter
Smartphone Android -klient
Git-depotet til smart-home-applikationen indeholder også kilden til Android-klienten, så du kan kompilere den selv. Men jeg vedhæftede APK'en til dette trin, det gør det lettere. Første gang du starter appen, beder den dig om en server, som i det første billede ovenfor. Indtast serverens webadresse og sikkerhedstokenet.
Det burde være det. Du har nu adgang til serveren og styrer din lejlighed, spiller musik og ser videoer eksternt på din Raspberry Pi. Bemærk, at du kan tilføje widgets til din startskærm, hvilket gør switches og musikstyring mere tilgængelig.
Smartwatch Pebble -klient
Kilden til de to småstensklienter er hostet på github. Én app viser den aktuelle musikfil: https://github.com/dabastynator/PebbleRemoteMusic… Dette giver dig også mulighed for at pause/afspille og volumen op/ned.
Den anden app udløser tre handlinger: https://github.com/dabastynator/PebbleControl Trigger-navnene er: mobile.come_home mobile.leaving og mobile.go_to_bed. Hvis du definerer hændelsesregler for denne trigger i din konfiguration-xml, udløser du dem af dit ur.
Det hele er open source, men du behøver ikke at kompilere det selv, jeg har også vedhæftet småsten-apps. Download PBW'erne med din smartphone, din telefon skal installere dem på dit ur. Småsten -apps har brug for konfigurationer for at tale med serveren. Jeg vedhæftede et skærmbillede, hvordan mine indstillinger ser ud.
Smartwatch Garmin -klient
Der er også en klient til rådighed for Garmin Smartwatches. Appen er tilgængelig i garmin connect app-store og kan installeres her:
apps.garmin.com/da-US/apps/c745527d-f2af-4…
Smart Mirror -klient
Jeg har allerede oprettet en instruerbar, der forklarer, hvordan du opretter Smart Mirror, se dette https://www.instructables.com/id/Smart-Mirror-by-R…. Kildekoden er også hostet på github: https:// github.com/dabastynator/SmartMirror. Softwaren i Smart Mirror læser konfigurationen fra filen smart_config.js, der ikke er en del af git -depotet. Indholdet af konfigurationsfilen skal se sådan ud:
var mOpenWeatherKey = 'din-åbne-vejr-nøgle';
var mSecurity = 'din-sikkerhed-token';
Du skal også justere de to første linjer i filen smart_mirror.js for at angive IP -adressen til Smart Home -serveren og placeringen for at få det rigtige vejr.
Flere kunder
Serverprogrammet er en simpel webserver. Dette giver dig mulighed for at udløse handlinger fra enhver klient, du ønsker, ved simple webopkald. I demo-videoen viser jeg android app tasker i kombination med AutoVoice. Dette gør det muligt for mig at udløse begivenheder med enkle stemmekommandoer. For eksempel kan "ok google, tid til at sove" udløse mobile.go_to_bed. Men du kan også foretage webopkald for eksempel fra IFTTT. Hvad med en gul blinkende LED -strimmel til meddelelse via e -mail?
Du kan bede serveren om mulige webopkald som f.eks. Følgende links (erstat ip, port og token med din konfiguration)
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- …
Trin 5: Konklusion
Der er stadig nogle funktioner, der skal implementeres: Da serveren kun leverer en simpel web-api-klient, gør en masse polling. For at reducere afstemningen vil jeg have en MQTT -integration for bedre underretning. Også wifi -strømforsyninger bør udføre mere pålidelige end rc -strømforsyninger, da rc kun er en envejskommunikation.
Det gør en masse sjov at udvikle sig til dette projekt. Og det er ret fedt at styre lejligheden med flere enheder, selvom internetforbindelsen bryder sammen.
Anbefalede:
Smart Home With Arduino: 11 trin (med billeder)
Smart Home With Arduino: Hej. Jeg viser dig, hvordan du bygger dit eget smarte hjem. Det viser temperaturen både inde og ude, hvis vinduet er åbent eller lukket, viser, når det regner og giver alarm, når PIR -sensoren bevæger sig. Jeg lavede applikationen på Android for at
Smart vækkeur: et smart vækkeur lavet med hindbær Pi: 10 trin (med billeder)
Smart vækkeur: et smart vækkeur lavet med Raspberry Pi: Har du nogensinde ønsket et smart ur? I så fald er dette løsningen for dig! Jeg lavede Smart Alarm Clock, dette er et ur, hvor du kan ændre alarmtiden i henhold til webstedet. Når alarmen går, kommer der en lyd (summer) og 2 lyser
ForgetMeNot - Smart Home Notification Platform: 14 trin (med billeder)
ForgetMeNot - Smart Home Notification Platform: Som travle universitetsstuderende, der render rundt mellem klasser, job og familieforpligtelser, har vi en tendens til at glemme de små ting. En fødselsdag kommer og går, uden at vi lægger mærke til det, en vigtig deadline går glip af på grund af ren glemsomhed og nogle gange bare
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: 4 trin (med billeder)
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: Ingen desenvolvimento desse projeto foi utilizada uma plataforma hibrida, som er nødvendig for at få adgang til vores platforme til Android eller IOS. Foi utilizado um computador tipo notebook com windows 10. Essa plataforma chama-se Ionic, q
GO-4 Smart Home Arduino Bot: 7 trin (med billeder)
GO-4 Smart Home Arduino Bot: I dette projekt vil jeg vise dig, hvordan du bygger en Smart Home Bot ved hjælp af IOT-teknologien til at styre dine husholdningsapparater eksternt via Internettet.Men før vi begynder lad os tale om denne teknik, som vi brugte at gøre … Hvad er IOT? Th