Përmbajtje:

Shtëpi e zgjuar nga Raspberry Pi: 5 hapa (me fotografi)
Shtëpi e zgjuar nga Raspberry Pi: 5 hapa (me fotografi)

Video: Shtëpi e zgjuar nga Raspberry Pi: 5 hapa (me fotografi)

Video: Shtëpi e zgjuar nga Raspberry Pi: 5 hapa (me fotografi)
Video: HAPA DOLLAPA - Kukulla per femije, by Studio "Çamarroket" 2024, Nëntor
Anonim
Shtëpi e zgjuar nga Raspberry Pi
Shtëpi e zgjuar nga Raspberry Pi

Tashmë ka disa produkte që e bëjnë banesën tuaj më të zgjuar, por shumica e tyre janë zgjidhje pronësore. Por pse keni nevojë për një lidhje interneti për të ndezur një dritë me smartphone tuaj? Kjo ishte një arsye për mua për të ndërtuar zgjidhjen time të Smart Home.

Kam programuar një aplikacion server që funksionon në një Raspberry Pi. Ky është një projekt me burim të hapur me bazë java që ju lejon të konfiguroni banesën tuaj dhe të lidhni disa klientë dhe 'njësi të kontrollueshme'. Unë tregoj një zgjidhje që trajton çelsin e furnizimit me energji rc, luan muzikë dhe video në Raspberry Pi, tregon statusin në pasqyrën e zgjuar dhe mund të kontrollohet nga një aplikacion android dhe dy aplikacione me guralecë. Burimi është pritur në github

Hapi 1: Gjërat që ju nevojiten

Gjërat që ju nevojiten
Gjërat që ju nevojiten

Për të konfiguruar Smart Home, keni nevojë për "përbërësit" e mëposhtëm

  • Raspberry Pi të paktën modeli 2 B
  • Dërguesi 433 MHz, diçka si kjo
  • 3 kabllo kërcyes që lidhin Raspberry Pi dhe dërguesin
  • Disa priza të kontrollit të radios në 433 MHz
  • Smartphone Android për të ekzekutuar aplikacionin e klientit

Për më tepër, ju mund ta zgjeroni Smart Home me më shumë klientë opsionalë dhe njësi si kjo

  • Orë inteligjente me guralecë
  • Smart Mirror, shihni këtë projekt
  • Shirit LED i kontrolluar 433 MHz, shihni këtë

Hapi 2: Përgatitni Raspberry Pi për 433 MHz

Përgatitni Raspberry Pi për 433 MHz
Përgatitni Raspberry Pi për 433 MHz
Përgatitni Raspberry Pi për 433 MHz
Përgatitni Raspberry Pi për 433 MHz

Në hapat e mëposhtëm keni nevojë për qasje në vijën e komandës në Raspberry Pi. Për të marrë qasjen, mund të lexoni këtë udhëzues

Lidhni dërguesin 433 MHz me Raspberry Pi siç tregohet në figurën e mësipërme

  • GND (dërguesi) 6 GND (raspi)
  • VCC (dërguesi) 2 +5V (raspi)
  • T D DHNA (dërguesi) 11 GPIO 17 (raspi)

Ju lutemi lidhni gjithashtu një antenë 17 cm në kunjin ANT (dërgues). Kjo rrit ndjeshëm sinjalin.

Meqenëse kemi nevojë për disa biblioteka nga depot e tjera të git, duhet të instalojmë git

sudo apt-get install git-core -y

Për të konfiguruar Raspberry Pi për komunikimin 433 MHz ne kemi nevojë për bibliotekën e instalimeve elektrike Pi për trajtimin më të mirë të GPIO -ve.

git klon git: //git.drogon.net/wiringPi

instalime elektrike cdPi./ndërtim

Atëherë ne kemi nevojë për një bibliotekë që zbaton në mënyrë tipike protokollet e furnizimit me energji elektrike rc.

git klon git: //github.com/dabastynator/rcswitch-pi.git

cd rcswitch-pi bëni cp send/usr/bin/

Ekzekutivi 'send' ju lejon të dërgoni kode për të ndërruar shumicën e furnizimeve me energji në dispozicion.

Në konfigurimin tim Smart Home kam gjithashtu një rrip LED rc të përshkruar nga kjo udhëzues: https://www.instructables.com/id/RC-controlled-LED… Për të vendosur ngjyrat për këtë shirit LED ju nevojitet një ekzekutues tjetër dërgues që ju lejon për të dërguar çdo vlerë të plotë (Që kodon ngjyrën).

Prandaj, përpiloni sendInt.cpp në repo rcswitch-pi dhe zhvendoseni në/usr/bin/sendInt.

sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi

Tani duhet të jeni në gjendje të dërgoni komanda rc me dy ekzekutueset/usr/bin/send dhe/usr/bin/sendInt

Hapi 3: Konfiguroni serverin e mençur të shtëpisë

Para së gjithash ju duhet të instaloni disa pako. Aplikacioni Smart Home është i bazuar në Java dhe funksionon mirë me openjdk-11. Unë nuk jam i sigurt për mjedise të tjera java runtime. Mplayer është një muzikant minimalist i linjës së komandës. Omplayer përdor grafikat Raspberry Pi për kodimin e videos, kështu që kjo duhet të përdoret për video. Milingona e programit është e nevojshme për të ndërtuar aplikacionin java.

sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y

Vendosni drejtoritë për skedarin jar dhe për regjistrat.

sudo mkdir /opt /neo

sudo chown pi: pi/opt/neo mkdir/home/pi/Logs

Konfiguroni skriptin e fillimit për të filluar aplikacionin automatikisht në nisje. Prandaj, kopjoni skriptin e bashkangjitur të shtëpisë së mençur në drejtorinë /etc/init.d/ Unë gjithashtu krijova një skript në/usr/bin/që urdhëron komandat në skriptin e bashkangjitur, kështu që unë thjesht fut smart-home në tastierë për të ekzekutuar komandat Me

sudo cp smart-home /etj/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 smart-home default

Tani është koha për të kontrolluar depon dhe për të ndërtuar aplikacionin. Nëse nuk doni ta përpiloni vetë, thjesht mund të shkarkoni smarthome.jar të bashkangjitur dhe ta zhvendosni në/opt/neo/

git klon [email protected]: dabastynator/SmartHome.git

milingonë -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/*/opt/neo/

Mundohuni të filloni shtëpinë inteligjente dhe kontrolloni skedarin e regjistrit. Për të marrë qasje për GPIO -të, aplikacioni duhet të fillojë me sudo.

sudo fillimi i shtëpisë së zgjuar

mace Shkrimet/smarthome.log

Duhet të shihni mesazhin e gabimit Skedari i konfigurimit nuk ekziston që na tregon për hapin tjetër. Depoja përmban një readme që shpjegon skedarin e konfigurimit. Ju mund ta shihni këtë të interpretuar bukur në github:

Kopjoni këtë xml në /home/pi/controlcenter.xml, pastaj vendosni vendndodhjen për serverin tuaj të mediave dhe ndryshoni përmbajtjen sipas nevojës. Pasi të keni përfunduar konfigurimin dhe të rinisni smart-home (sudo smart-home restart) duhet të shihni përmbajtjen e mëposhtme në smarthome.log

24.05-08: 26 INFORMACION PEMR Largësi nga de.neo.smarthome.cronjob. CronJob@15aeb7ab: Programoni punë me cron

24.05-08: 26 INFORMACION PEMR Largësi nga [trigger.light]: Prisni 79391760 ms për ekzekutim 24.05-08: 26 INFORMACION RMI nga Add web-handler (5061/ledstrip) 24.05-08: 26 INFORMACION RMI nga Add web-handler (5061 /veprim) 24.05-08: 26 INFORMACION RMI nga 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 nga Start webserver me 5 handler (localhost: 5061) 24.05-08: 26 INFORMACION PEMR DOROTZIM nga Controlcenter: Shto 1. njësi kontrolli: MyUnit (xyz)…

Serveri në internet tani po funksionon:-)

Hapi 4: Konfiguroni klientët

Konfiguro klientët
Konfiguro klientët
Konfiguro klientët
Konfiguro klientët
Konfiguro klientët
Konfiguro klientët

Smartphone klienti Android

Depoja git për aplikacionin smart-home përmban gjithashtu burimin për klientin android, kështu që mund ta përpiloni vetë. Por unë bashkangjitur APK për këtë hap, që e bën më të lehtë. Herën e parë që filloni aplikacionin, ju kërkon një server, si në imazhin e parë më sipër. Shkruani url -në e serverit dhe shenjën e sigurisë.

Kaq duhet të jetë. Tani keni qasje në server dhe kontrolloni banesën tuaj, duke luajtur muzikë dhe shikoni video nga distanca në Raspberry Pi tuaj. Vini re se mund të shtoni widget në ekranin tuaj kryesor, gjë që i bën çelsat dhe kontrollin e muzikës më të arritshme.

Smartwatch klient me guralecë

Burimi për dy klientët me guralecë është pritur në github. Një aplikacion tregon skedarin aktual të muzikës që luhet: https://github.com/dabastynator/PebbleRemoteMusic… Kjo gjithashtu ju lejon të bëni pauzë/luajtje dhe ngritje/ulje të volumit.

Aplikacioni i dytë shkakton tre veprime: https://github.com/dabastynator/PebbleControl Emrat e shkaktarëve janë: mobile.come_home mobile.leaving dhe mobile.go_to_bed. Nëse përcaktoni rregullat e ngjarjeve për këtë shkas në konfigurimin tuaj-xml, i aktivizoni ato nga ora juaj.

Allshtë e gjitha me burim të hapur, por nuk keni nevojë ta përpiloni vetë, unë bashkangjita edhe aplikacionet me guralecë. Shkarkoni PBW -të me smartphone tuaj, telefoni juaj duhet t'i instalojë ato në orën tuaj. Aplikacionet me guralecë kanë nevojë për konfigurime për të folur me serverin. Unë bashkangjita një pamje të ekranit se si duken cilësimet e mia.

Smartwatch klient Garmin

Ekziston edhe një klient në dispozicion për Garmin Smartwatches. Aplikacioni është i disponueshëm në dyqanin e aplikacioneve garmin connect dhe mund të instalohet këtu:

apps.garmin.com/en-US/apps/c745527d-f2af-4…

Klienti i Smart Mirror

Unë tashmë kam krijuar një udhëzues që shpjegon se si të krijoni Smart Mirror, shihni këtë https://www.instructables.com/id/Smart-Mirror-by-R…. Kodi burim gjithashtu është i pritur në github: https:// github.com/dabastynator/SmartMirror. Softueri i Smart Mirror lexon konfigurimin nga skedari smart_config.js që nuk është pjesë e depove git. Përmbajtja e skedarit të konfigurimit duhet të duket si kjo listë:

var mOpenWeatherKey = 'çelësi yt-i hapur';

var mSecurity = 'shenja juaj e sigurisë';

Ju gjithashtu duhet të rregulloni dy rreshtat e parë të skedarit smart_mirror.js për të specifikuar adresën IP të serverit Smart Home dhe vendndodhjen për të marrë motin e duhur.

Më shumë klientë

Aplikacioni i serverit është një server i thjeshtë në internet. Kjo ju mundëson të aktivizoni veprime nga çdo klient që dëshironi me anë të thirrjeve të thjeshta në internet. Në videon demo unë tregoj testuesin e aplikacionit android në kombinim me AutoVoice. Kjo më mundëson të shkaktoj ngjarje me komanda të thjeshta zanore. Për shembull "ok google, koha për të fjetur" mund të shkaktojë mobile.go_to_bed. Por gjithashtu mund të bëni thirrje në internet për shembull nga IFTTT. Po në lidhje me një shirit LED të verdhë të ndezur për njoftimin me email?

Ju mund t'i kërkoni serverit thirrjet e mundshme në internet si lidhjet e mëposhtme (zëvendësoni IP, portin dhe shenjën sipas konfigurimit tuaj)

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 = siguri-…

Hapi 5: Përfundimi

Ende ka disa veçori për t'u zbatuar: Meqenëse serveri ofron vetëm një web-api të thjeshtë, klientët bëjnë shumë sondazhe. Për të zvogëluar sondazhin dua një integrim MQTT për njoftim më të mirë. Gjithashtu furnizimet me energji wifi duhet të funksionojnë më të besueshme sesa furnizimet me energji rc pasi rc është vetëm një komunikim i njëanshëm.

Makesshtë shumë argëtuese të zhvillohet për këtë projekt. Itshtë shumë mirë të kontrollosh banesën nga disa pajisje, edhe nëse lidhja e internetit prishet.

Recommended: