Mündəricat:
- Addım 1: Lazım olan şeylər
- Addım 2: 433 MHz üçün Raspberry Pi hazırlayın
- Addım 3: Smart Home Server qurun
- Addım 4: Müştəriləri qurun
- Addım 5: Nəticə
Video: Raspberry Pi tərəfindən Ağıllı Ev: 5 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:42
Artıq evinizi daha ağıllı edən bir neçə məhsul var, lakin əksəriyyəti özəl həllərdir. Bəs smartfonunuzla işığı dəyişdirmək üçün niyə internet bağlantısına ehtiyacınız var? Öz ağıllı ev həllimi qurmağımın bir səbəbi idi.
Raspberry Pi üzərində işləyən bir server tətbiqini proqramlaşdırdım. Bu, mənzilinizi konfiqurasiya etməyə və bir neçə müştərini və 'idarə oluna bilən vahidləri' birləşdirməyə imkan verən java əsaslı açıq mənbə layihəsidir. Rc enerji təchizatı açarlarını idarə edən, Raspberry Pi -də musiqi və video oynayan, ağıllı güzgüdəki vəziyyəti göstərən və bir Android tətbiqi və iki çınqıl tətbiq ilə idarə oluna bilən bir həll göstərirəm. Mənbə github -da yerləşdirilir
Addım 1: Lazım olan şeylər
Ağıllı Evi qurmaq üçün aşağıdakı 'maddələrə' ehtiyacınız var
- Raspberry Pi ən azı model 2 B
- 433 MHz ötürücü, buna bənzər bir şey
- Raspberry Pi və göndərəni birləşdirən 3 keçid kabeli
- Bəzi radio nəzarət rozetkaları 433 MHz -də
- Müştəri tətbiqini işə salmaq üçün Android smartfonu
Əlavə olaraq, Ağıllı Evi bu kimi daha çox isteğe bağlı müştəri və vahidlərlə genişləndirə bilərsiniz
- Pebble ağıllı saatı
- Smart Mirror, bu layihəyə baxın
- 433 MHz idarə olunan LED şeridi, buna baxın
Addım 2: 433 MHz üçün Raspberry Pi hazırlayın
Aşağıdakı addımlarda Raspberry Pi -də əmr satırına daxil olmalısınız. Giriş əldə etmək üçün bu təlimatı oxuya bilərsiniz
Yuxarıdakı şəkildə göstərildiyi kimi 433 MHz göndəricini Raspberry Pi ilə bağlayın
- GND (göndərən) 6 GND (raspi)
- VCC (göndərən) 2 +5V (raspi)
- DATA (göndərən) 11 GPIO 17 (raspi)
Zəhmət olmasa ANT (göndərən) pininə 17 sm uzunluğunda bir anten bağlayın. Bu, siqnalı əhəmiyyətli dərəcədə artırır.
Digər git depolarından bəzi kitabxanalara ehtiyacımız olduğu üçün git qurmalıyıq
sudo apt-get install-core -y qurun
433 MHz rabitə üçün Raspberry Pi qurmaq üçün GPIO -ları daha yaxşı idarə etmək üçün kabellər kitabxanasına ehtiyacımız var.
git klon git: //git.drogon.net/wiringPi
cd wiringPi./build
Sonra adətən rc enerji təchizatı protokollarını tətbiq edən bir kitabxanaya ehtiyacımız var.
git klon git: //github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi cp göndərmək/usr/bin/etmək
'Göndər' icra edilə bilən proqramı, mövcud enerji mənbələrinin çoxunu dəyişdirmək üçün kod göndərməyə imkan verir.
Ağıllı Ev quruluşumda, bu təlimatla izah edilən bir rc LED şeridi də var: https://www.instructables.com/id/RC-controlled-LED… Bu LED şeridi üçün rəngləri təyin etmək üçün sizə imkan verən başqa bir göndərmə icra proqramına ehtiyacınız var. hər hansı bir Tam ədəd göndərmək üçün (Rəngi kodlaşdıran).
Buna görə, sendInt.cpp-i rcswitch-pi repo-da tərtib edin və/usr/bin/sendInt-ə köçürün.
sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi
İndi iki icraedici/usr/bin/send və/usr/bin/sendInt ilə rc əmrləri göndərə bilməlisiniz.
Addım 3: Smart Home Server qurun
Əvvəlcə bir neçə paket quraşdırmalısınız. Smart Home proqramı java əsaslıdır və openjdk-11 ilə yaxşı işləyir. Digər java iş vaxtı mühitlərindən əmin deyiləm. Mplayer, minimalist bir əmr satırı musiqi pleyeridir. Omxplayer, video kodlaşdırma üçün Raspberry Pi qrafikindən istifadə edir, buna görə də bu videolar üçün istifadə olunmalıdır. Java proqramı qurmaq üçün qarışqa proqramı lazımdır.
sudo apt-get install mplayer omxplayer openjdk-11-jdk qarışqa -y
Jar faylı və qeydlər üçün qovluqlar qurun.
sudo mkdir /opt /neo
sudo chown pi: pi/opt/neo mkdir/home/pi/Logs
Tətbiqi açılışda avtomatik olaraq başlatmaq üçün başlanğıc skriptini konfiqurasiya edin. Buna görə də əlavə edilmiş ağıllı ev skriptini /etc/init.d/ qovluğuna kopyalayın/əmrləri əlavə edilmiş skriptə ötürən/usr/bin/də bir skript yaratdım, buna görə əmrləri yerinə yetirmək üçün ağıllı evə konsola daxil oluram..
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 smart-home defoltları
İndi anbarı yoxlamaq və tətbiqi qurmaq vaxtıdır. Özünüz tərtib etmək istəmirsinizsə, əlavə edilmiş smarthome.jar faylını yükləyib/opt/neo/ünvanına köçürə bilərsiniz.
git klon [email protected]: dabastynator/SmartHome.git
qarışqa -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/*/opt/neo/
Ağıllı evi işə salmağa və qeyd sənədini yoxlamağa çalışın. GPIO -lara giriş əldə etmək üçün proqram sudo ilə başlamalıdır.
sudo ağıllı ev başlanğıcı
pişik Günlükləri/smarthome.log
Növbəti addıma işarə edən Konfiqurasiya faylının olmadığı mesajını görürsünüz. Anbarda konfiqurasiya faylını izah edən bir readme var. Bunu gözəl bir şəkildə github -da görə bilərsiniz:
Bu xml -ni /home/pi/controlcenter.xml -ə kopyalayın, sonra media serverinizin yerini təyin edin və məzmunu lazım olduğu kimi dəyişdirin. Konfiqurasiyanı bitirib ağıllı evi (sudo smart-home restart) yenidən başladıqdan sonra smarthome.log-da aşağıdakı məzmunu görməlisiniz.
24.05-08: 26 de.neo.smarthome.cronjob. CronJob@15aeb7ab tərəfindən Uzaqdan Məlumat: cron işini planlaşdırın
24.05-08: 26 Uzaqdan məlumat [trigger.light] tərəfindən: 79391760 ms icrası üçün gözləyin 24.05-08: 26 RMI BİLGİLƏRİ əlavə et web işləyicisi (5061/ledstrip) 24.05-08: 26 RMI İLAVƏSİ Veb işləyicisi əlavə et (5061) /hərəkət) 24.05-08: 26 Əlavə veb işləyicisi (5061/mediaserver) tərəfindən RMI BİLGİLƏRİ 24.05-08: 26 Əlavə veb işləyicisi (5061/keçid) ilə RMI BİLGİLƏRİ 24.05-08: 26 RMI MƏLUMATI əlavə et veb işləyicisi (5061/controlcenter) 24.05-08: 26 Start web serveri tərəfindən 5 işləyici ilə RMI BİLGİLƏRİ (localhost: 5061) 24.05-08: 26 Controlcenter tərəfindən Uzaqdan Məlumat: Əlavə 1. idarəetmə vahidi: MyUnit (xyz)…
Veb server indi işləyir:-)
Addım 4: Müştəriləri qurun
Smartfon Android müştəri
Ağıllı ev tətbiqi üçün git deposunda android müştəri mənbəyi də var, buna görə özünüz tərtib edə bilərsiniz. Ancaq APK -ı bu addım üçün əlavə etdim, bu da işi asanlaşdırır. Tətbiqə ilk dəfə başladığınız zaman yuxarıdakı ilk şəkildəki kimi bir server istəyər. Serverin ünvanını və təhlükəsizlik nişanını daxil edin.
Bu belə olmalıdır. İndi serverə daxil ola bilərsiniz və mənzilinizi idarə edə, musiqi çala və Raspberry Pi -də uzaqdan video seyr edə bilərsiniz. Unutmayın ki, açar və musiqi nəzarətini daha əlçatan edən ana ekranınıza vidjetlər əlavə edə bilərsiniz.
Smartwatch Pebble müştəri
İki çınqıl müştərinin mənbəyi github -da yerləşdirilir. Bir tətbiq cari çalınan musiqi faylını göstərir: https://github.com/dabastynator/PebbleRemoteMusic… Bu da fasilə verməyə/çalmağa və səsi artırmağa/aşağı salmağa imkan verir.
İkinci tətbiq üç hərəkəti tetikler: https://github.com/dabastynator/PebbleControl Tetikleyici adlar: mobile.come_home mobile.leaving və mobile.go_to_bed. Bu tetikleyici üçün hadisə qaydalarını konfiqurasiya-xml-də təyin etsəniz, onları saatınız tərəfindən işə salırsınız.
Hamısı açıq mənbəyidir, ancaq özünüz tərtib etməyinizə ehtiyac yoxdur, mən də çınqıl tətbiqlərini əlavə etdim. PBW -ləri smartfonunuzla yükləyin, telefonunuz onları saatınıza quraşdırmalıdır. Çınqıl tətbiqləri serverlə danışmaq üçün konfiqurasiyaya ehtiyac duyur. Ayarlarımın necə göründüyünü bir ekran görüntüsü əlavə etdim.
Smartwatch Garmin müştəri
Garmin Smartwatches üçün bir müştəri də var. Tətbiq garmin connect tətbiq mağazasında mövcuddur və burada quraşdırıla bilər:
apps.garmin.com/az-US/apps/c745527d-f2af-4…
Smart Mirror müştəri
Mən artıq Smart Mirror-un necə yaradılacağını izah edən bir təlimat yaratdım, buna baxın https://www.instructables.com/id/Smart-Mirror-by-R…. Mənbə kodu da github-da yerləşdirilir: https:// github.com/dabastynator/SmartMirror. Ağıllı Güzgü proqram təminatı git deposunun bir hissəsi olmayan smart_config.js faylından konfiqurasiyanı oxuyur. Konfiqurasiya faylının məzmunu bu siyahıya bənzəməlidir:
var mOpenWeatherKey = 'açar-açar açarınız';
var mSecurity = 'təhlükəsizlik-nişanınız';
Ağıllı Ev serverinin ip ünvanını və doğru havanı əldə etmək üçün yeri təyin etmək üçün smart_mirror.js faylının ilk iki sətirini də tənzimləməlisiniz.
Daha çox müştəri
Server tətbiqi sadə bir veb serverdir. Bu, sadə veb zəngləri ilə istədiyiniz hər hansı bir müştəridən hərəkətləri tetiklemenize imkan verir. Demo-videoda AutoVoice ilə birlikdə android tətbiq tapşırığını göstərirəm. Bu, hadisələri sadə səs əmrləri ilə tetiklememe imkan verir. Məsələn, "ok google, yatmaq vaxtı" mobile.go_to_bed -i işə sala bilər. Bununla yanaşı, məsələn, IFTTT-dən veb zəngləri də edə bilərsiniz. E -poçt bildirişi üçün sarı yanıb -sönən LED şeridi necə?
Aşağıdakı bağlantılar kimi serverdən mümkün veb zəngləri istəyə bilərsiniz (konfiqurasiyanızla ip, port və token dəyişdirin)
localhost: 5061/controlcenter/api? token = secu…
localhost: 5061/action/api? token = təhlükəsizlikdən…
localhost: 5061/mediaserver/api? token = securi…
localhost: 5061/switch/api? token = təhlükəsizlikdən…
localhost: 5061/ledstrip/api? token = təhlükəsizlik-…
Addım 5: Nəticə
Hələ də tətbiq edilməli bəzi xüsusiyyətlər var: Server sadə bir web-api müştərisi təmin etdiyi üçün bir çox sorğu keçirin. Səsverməni azaltmaq üçün daha yaxşı bildiriş üçün MQTT inteqrasiyası istəyirəm. Həmçinin wifi enerji təchizatı rc enerji təchizatından daha etibarlı işləməlidir, çünki rc yalnız bir tərəfli ünsiyyətdir.
Bu layihəni inkişaf etdirmək çox zövq verir. İnternet bağlantısı pozulsa da, mənzili bir neçə cihazla idarə etmək olduqca gözəldir.
Tövsiyə:
Tətbiq tərəfindən idarə olunan NodeMCU ilə Ağıllı Qazanı necə etmək olar: 8 addım
NodeMCU ilə Nəzarət Edilən Smart Qazanı Necə Tətbiq Edilir: Bu təlimatda bir ESP32 və Smartphone (iOS və Android) üçün bir tətbiq tərəfindən idarə olunan bir Smart Pot quracağıq. Bağlantı və Blynk Kitabxanası üçün NodeMCU (ESP32) istifadə edəcəyik. bulud IoT və smartfondakı Tətbiq üçün. Sonda biz
Ağıllı Zəngli Saat: Raspberry Pi ilə Ağıllı Zəngli Saat: 10 addım (şəkillərlə)
Ağıllı Zəngli Saat: Raspberry Pi ilə Ağıllı Zəngli Saat: Heç ağıllı bir saat istəmisinizmi? Əgər belədirsə, bu sizin üçün bir həlldir! Ağıllı Zəngli Saat hazırladım, bu veb saytına görə zəngli saatını dəyişə biləcəyiniz bir saatdır. Siqnal çalınanda bir səs (zil) olacaq və 2 işıq yanacaq
İnsan-Kompüter İnterfeysi: EMG istifadə edərək Bilək Hərəkəti tərəfindən Tutucu funksiyası (Kirigami tərəfindən hazırlanmışdır.): 7 addım
İnsan-Kompüter İnterfeysi: EMG istifadə edərək Bilək Hərəkəti tərəfindən Tutucunun İşlənməsi (Kirigami tərəfindən hazırlanmışdır): Beləliklə, bu, insan-kompüter interfeysində ilk sınağım idi. EMG sensoru istifadə edərək bilək hərəkətlərimin əzələ aktivləşdirmə siqnallarını tutdum və onu emal etdim. python və arduino vasitəsilə və origami əsaslı bir tutucunu işə saldı
Raspberry Pi & HC-SR04 Ultrasonik Sensor və Cloud4RPi tərəfindən idarə olunan Ağıllı Qəhvə Maşın Pompası: 6 addım
Raspberry Pi & HC-SR04 Ultrasonik Sensor və Cloud4RPi tərəfindən idarə olunan Ağıllı Qəhvə Maşını Pompası: Teorik olaraq, hər dəfə səhər fincanınız üçün qəhvə maşınına getdiyiniz zaman, su doldurmaq üçün yalnız iyirmi bir şansınız var tank. Ancaq praktikada görünür ki, maşın birtəhər bu işi sizin üzərinizə qoymaq üçün bir yol tapır
ARDUINO YUN tərəfindən idarə olunan ROOMBA STEFANO DALL'OLIO tərəfindən Wifi Tətbiqi ilə: 4 Addım (Şəkillərlə)
ARDUINO YUN tərəfindən idarə olunan ROOMBA, STEFANO DALL'OLIO tərəfindən Wifi Tətbiqi ilə: Bu təlimatla, Wifi vasitəsilə Roomba sürmək üçün ARDUINO YUN -u Roomba'ya bağlamaq üçün kodu paylaşıram. Kod və tətbiq tam olaraq özüm tərəfindən yaradılıb və Stefano Dall tərəfindən hazırlanmışdır. Olio.My Roomba Roomba 620 -dir, lakin eyni kodu digər Roomb üçün də istifadə edə bilərsiniz