Mündəricat:

Raspberry Pi ilə Ucuz və Effektiv Ev Avtomatlaşdırılması: 11 Addım (Şəkillərlə)
Raspberry Pi ilə Ucuz və Effektiv Ev Avtomatlaşdırılması: 11 Addım (Şəkillərlə)

Video: Raspberry Pi ilə Ucuz və Effektiv Ev Avtomatlaşdırılması: 11 Addım (Şəkillərlə)

Video: Raspberry Pi ilə Ucuz və Effektiv Ev Avtomatlaşdırılması: 11 Addım (Şəkillərlə)
Video: Raspberry Pi 4B в корпусе Argon ONE M.2 c SSD диском 128 ГБ, собираем сервер для Home Assistant 2024, Dekabr
Anonim
Raspberry Pi ilə Ucuz və Effektiv Ev Avtomatlaşdırılması
Raspberry Pi ilə Ucuz və Effektiv Ev Avtomatlaşdırılması
Raspberry Pi ilə Ucuz və Effektiv Ev Avtomatlaşdırılması
Raspberry Pi ilə Ucuz və Effektiv Ev Avtomatlaşdırılması
Raspberry Pi ilə Ucuz və Effektiv Ev Avtomatlaşdırılması
Raspberry Pi ilə Ucuz və Effektiv Ev Avtomatlaşdırılması

Həmişə işıqları simsiz idarə edə bilmək istəmişəm, amma kommersiya variantları ümumiyyətlə bahadır. Philips Hue işıqlarının qiyməti təxminən 70 dollardır və WiFi ilə əlaqəli işıqlar da bahadır. Bu dərslik, təxminən 50 dollara beş işığa/lampaya/Milad işığına necə nəzarət edəcəyinizi izah edəcək və daha çox işıq əlavə etmək üçün genişləndirilə bilər.

Addım 1: Nə lazımdır

Ehtiyacınız olacaq
Ehtiyacınız olacaq

Materiallar:

Raspberry Pi Zero W (Simsiz nəşr)

Micro SD kart (ən azı 4 gb)

Mini HDMI -dan HDMI kabelinə/çeviricisinə (Mini ilə mikro arasında fərq var, doğru olanı aldığınızdan əmin olun!)

Mikro USB -dən USB kabelinə/çeviriciyə

USB klaviatura

Qeyd: Amazondan Raspberry Pi Zero W, SD kart, korpus, elektrik kabeli, HDMI çeviricisi və USB çeviricisi ilə birlikdə gələn bir Raspberry Pi Zero W başlanğıc dəsti aldım. Cəmi 30 dollar üçün olduqca yaxşı bir seçimdir (link)

Fərqli bir Raspberry Pi modelindən istifadə edə bilərsiniz, ancaq Raspberry Pi bir növ internet bağlantısına sahib olmalıdır və Pi Zero W ən ucuz seçimdir.

Uzaq Çıxışlar - Bunlardan istifadə etdim

RF ötürücü və qəbuledici (Qeyd: vericinin/qəbuledicinin tezliyi uzaq prizlərin tezliyinə uyğun olmalıdır) - bunları istifadə etdim

Anten üçün tel (22 ölçülü bərk nüvəli mis tel istifadə etdim, digər tel işləyə bilər)

Çörək taxtası, Jumper telləri, 40 pinli kişidən kişiyə başlıq

Proqram təminatı:

Raspberry Pi OS (Raspbian Masaüstünü Yükləyin)

Etcher disk görüntüləyicisi (Pi OS -ni SD Karta yazmaq üçün)

Alətlər:

Lehimleme dəmir

Pi OS və Etcher yükləmək üçün kompüter

Addım 2: Çıxışları qurun

Çıxışları qurun
Çıxışları qurun
Çıxışları qurun
Çıxışları qurun

Çıxışlarınızı bir yuvaya bağlayaraq başlayın. Quraşdırmaq üçün verilən təlimatları izləyin və işıqlarınızı/cihazlarınızı qoşun. Pultunuzun düzgün qoşulduğundan və prizləri idarə etdiyindən əmin olun.

Addım 3: PubNub Hesabı qurun

PubNub, dünyanın hər yerində cihazlar arasında ünsiyyət qurmağa imkan verən pulsuz bir internet serveridir. Python skripti bir veb səhifədən mesaj alır və işığı yandırmaq və ya söndürmək üçün mesajdakı məlumatlardan istifadə edir. Pulsuz hesabınıza buradan daxil ola bilərsiniz. Qeydiyyatdan keçdikdən sonra hesabınıza daxil olun. Bu sizi bir tətbiq idarəetmə səhifəsinə aparacaq. "Yeni tətbiq yarat" düyməsini basın. Tətbiqinizə bir ad verin, sonra onu tətbiqlər siyahısından seçin (Bu, ilk tətbiqinizdirsə, tək olacaq) Bu sizi tətbiq düymələri səhifəsinə aparacaq. "Demo Keyset" düyməsini basın və üç fərqli düyməni görməlisiniz. Bu səhifəni saxlayın, bu açarlara daha sonra ehtiyacınız olacaq. İndi PubNub hesabınız olduğu üçün moruq pi qura bilərsiniz.

Addım 4: Raspberry Pi hazırlayın

Etcher və Raspberry Pi OS -ni kompüterinizə yükləyin (hissələr siyahısındakı bağlantılar)

Etcher -i kompüterinizə quraşdırın və Raspberry Pi OS -ni açın (lazım olduqda). Micro SD kartınızı kompüterinizə daxil edin və Etcher -i açın. "Şəkli seçin" düyməsini basın və açılmamış Raspberry Pi OS faylına gedin. Bunu seçin, sonra "Sürücü seçin" düyməsini basın və siyahıdan micro SD kartınızı seçin. "Flash" düyməsini basın və Etcherin tamamlanmasını gözləyin. Etcher tamamlandıqdan sonra SD kartınızı kompüterinizdən çıxarın (Etcher avtomatik olaraq çıxarır) və Raspberry Pi -yə daxil edin. Bu nöqtədə, Raspberry Pi -ni HDMI çeviricisi olan bir monitora bağlamalı olacaqsınız. Bir klaviatura (çoxlu USB hubınız varsa siçan) və elektrik kabelini qoşun. İki mikro USB portu var. Biri güc üçündür, digəri isə əsl USB portudur. Pi -nin sonuna ən yaxın olanı gücdür, ortasına yaxın olan isə USB -dir. Sizin moruq pi artıq açılmağa başlayacaq. İlk açılış zamanı bir neçə dəfə yenidən başlaya bilər, amma bu normaldır. Moruq pi başladıqdan sonra onu WiFi -yə qoşun. Wi -Fi -ya bağladıqdan sonra bir SSH serverindən istifadə edə bilərsiniz, amma indiyə qədər GUI -dən istifadə etməyi daha asan hesab edirəm. Bir terminal pəncərəsi açın və bu əmrləri daxil edin:

sudo pip3 'pubnub == 3.9.0' quraşdırın

cd git klonu git: //git.drogon.net/wiringPi git klonu

sudo git klonu

sudo chown root.root/var/www/rfoutlet /odesend sudo chmod 4755/var/www/rfoutlet /odesend

cd wiringPi

./ tikmək

İndi Raspberry Pi fayl tarayıcısını açın və pi-home-automation qovluğunu görməlisiniz. Bunun üzərinə iki dəfə vurun və RFControl.py adlı bir fayl görəcəksiniz. Kopyalayın (əks klikləyin və "Kopyala" seçin), sonra pi qovluğuna qayıdın və oraya yapışdırın.

Moruq pi -ni bağlayın (ya menyudan, ya da komanda xəttindən sudo poweroff işlədərək) və yaşıl işıq yanıb sönməyi dayandırdıqdan sonra onu ayırın.

Addım 5: Dövrə Yarat

Dövrə Yaratmaq
Dövrə Yaratmaq
Dövrə Yaratmaq
Dövrə Yaratmaq
Dövrə Yaratmaq
Dövrə Yaratmaq

İndi dövrə yaratmaq vaxtıdır. Çörək taxtasından istifadə etdim, amma istədiyiniz kimi edə bilərsiniz.

Birincisi, RF ötürücü üçün bir anten yaratmalıyıq. Bu təlimatlar, RF ötürücü üçün antenin necə hazırlanacağını izah edir. Təlimatlara əməl edin, sonra vericiyə yaxın olan qısa tərəfi olan vericinin anten pininə (istifadə etdiyimdə ANT etiketli idi) lehimləyin.

Vericini tellə bağlayın

Verici bu pinlərdən istifadə edir:

VERİLƏR: GPIO 17, Fiziki pin 11

VCC: Raspberry Pi 5v, Fiziki pin 2

GND: Raspberry Pi GND, Fiziki pin 6

Alıcıya tel çəkin

Alıcı bu pinlərdən istifadə edir:

GND: Raspberry Pi GND, Fiziki pin 9

VCC: Raspberry Pi 5v, Fiziki pin 4

VERİLƏR: GPIO 27, Fiziki pin 13 (İstifadə etdiyim qəbuledicidə iki məlumat pimi var və VCC -yə ən yaxın olanı istifadə etdim)

Addım 6: RF Kodlarınızı alın

RF Kodlarınızı alın
RF Kodlarınızı alın

Dövrəniz Raspberry Pi -yə bağlandıqdan sonra hər şeyin yerində olduğundan əmin olmaq üçün iki dəfə yoxlayın və sonra yenidən açın. Açıldıqdan sonra bir terminal açın və yazın

sudo/var/www/rfoutlet/RFSniffer

Sonra RFControl proqramını açın. Növbəti addımda terminal pəncərəsini və proqram pəncərəsini yan-yana qoymaq faydalı ola bilər.

Çıxış dəstinə daxil olan pulta indi ehtiyacınız olacaq. Alıcının yanında saxlayın və hər bir düyməni basın. Bir düyməni basdığınız zaman ekranda iki ədəd çap olunduğunu görəcəksiniz. Onlardan biri altı və ya yeddi rəqəmli, digəri isə 3 rəqəmli kod olacaq. Proqramda kodlar lüğətini redaktə etməlisiniz. Proqramdakı müvafiq açar yerinə 7 rəqəmli kodu daxil edin və hər açma/söndürmə düyməsi üçün 3 rəqəmli kodu (bu uzunluqdur) proqramdakı müvafiq açarın leninə daxil edin.

Məsələn, 1 açarının 1234567 kodu, 7654321 -in söndürmə kodu və 890 uzunluğunun kodu varsa, kod belə görünür:

kodlar = {

'switch1': {'on': 1234567, #Bu 1 -ci açma 'off': 7654321, #bu 1 switch 'len': 890, #bu 1 kod uzunluğunun açarıdır}, 'switch2': {… },…}

Bunu hər düymə üçün təkrarlayın. Bu faylı redaktə edərkən "SUB-KEY-SİZ" yazan sətirləri PubNub abunə açarınıza və "YOUR-PUB-KEY" yazmaq üçün açarınıza dəyişdirin.

Hər düymə yazıldıqdan sonra növbəti hissəyə keçə bilərsiniz.

Addım 7: Proqramı işə salın

Proqramın işə salınması
Proqramın işə salınması

Bütün kodlarınızı əldə etdikdən sonra bu GitHub səhifəsinə keçin (Kompüterinizdə, moruq pi deyil) və "Klonla və ya yüklə" yazan yaşıl düyməni, sonra "Poçtu Yüklə" düyməsini basın. Bu fayl yükləndikdən sonra açın və qovluğu açın. Main.js. adlı faylı açın. Proqrama "YOUR-PUB-KEY" düyməsini nəşr açarınızla və "SİZİN SUB-KEY" düyməsini abunə açarı ilə əvəz etməklə abunə olmaq və nəşr açarlarını daxil etmək lazımdır.

Sonra, Raspberry Pi -yə qayıdın və daxil olun

python3 RFControl.py

"Hazır" yazdıqdan sonra kompüterinizə qayıdın və əks bir klik vuraraq veb brauzerində index.html faylını açın, "Aç" düyməsini seçin və istədiyiniz brauzeri seçin. Aralarında açarların adları olan 5 düymədən ibarət 2 sütun görməlisiniz. Düymələrdən birini basın. Soketi düzgün idarə edərsə, əladır! Yoxdursa, sınamaq üçün bəzi şeylər var:

  1. Raspberry Pi -nin mesaj aldığından əmin olun. Veb səhifədən bir mesaj aldıqda ekrana çap etməlidir. Əks təqdirdə, abunə/yayım düymələrinin düzgün olduğundan əmin olun.
  2. Raspberry Pi mesajlar alırsa, RF kodlarınızın düzgün olduğundan əmin olun. Çıxışlarınızın pultla qoşulduğundan, pultunuzun onları idarə edə biləcəyindən və proqrama daxil etdiyiniz kodların düzgün olduğundan əmin olun.
  3. RF kodları düzgündürsə, Raspberry Pi -nin satış nöqtələrində olduğundan əmin olun. Yaxınlaşdırdıqdan sonra işə başlayırlarsa, anteninizi yenidən etməlisiniz.
  4. Hələ də işləmirlərsə, zəhmət olmasa probleminizi şərhlərdə mənə bildirin, çalışacam və kömək edim.

Addım 8: Başlanğıcda işləyin

Python proqramınızı işə salmaq üçün bunu moruq pi terminalınıza daxil edin:

crontab -e

Sonra, faylın altına gedin və bunu daxil edin:

@reboot python3 /home/pi/RFControl.py &

Bu, Python skriptinizi hər dəfə başlanğıcda işə salacaq. İndi Raspberry Pi -ni yenidən başladın.

Addım 9: Daha çox keçid əlavə edin

Daha çox keçid əlavə edin
Daha çox keçid əlavə edin

Daha çox satış nöqtəsi əlavə etmək istəyirsinizsə, bu təlimatları izləyin:

Raspberry Pi -də RFControl.py açın və açarlar lüğətinə yeni bir keçid əlavə edin.

Misal:

açarlar = {

… Digər açarlar… 'NAME-OF-SWITCH': {'on': xxxxxxx, 'off': yyyyyyy, 'len': zzz,},}

Sonra, kompüterinizdə main.js -də açarlar dəyişənini düzəldərək veb tətbiqinizə yeni bir düymə əlavə edin.

Misal:

var açarları = [… köhnə açarlar… ['NAME-TO-DISPLAY', 'NAME-OF-SWITCH'],];

NAME-TO-DISPLAY-ı veb səhifədə göstərmək istədiyiniz adla, hər iki sənəddə NAME-OF-SWITCH-i istədiyiniz bir şeylə əvəz edin. Digərlərindən bənzərsiz olmalıdır!

Addım 10: Əlavə edin

Daha çox götürmək
Daha çox götürmək

PubNub bir çox fərqli platformada dəstəklənir, yəni demək olar ki, istənilən cihazdan mesaj göndərə bilərsiniz! Səsimlə əmr göndərmək üçün Raspberry Pi AIY Voice dəsti və PubNub istifadə etdim, amma bu, sonrakı Təlimat mövzusu ola bilər. Təlimatımı oxuduğunuz üçün təşəkkür edirəm, inşallah faydalı oldu!

Addım 11: Kreditlər

RF ötürücüsünün qurulması ilə bağlı dərs üçün Tim Leland -a təşəkkür edirəm: dərs

DIY_bloke -yə bir anten yaratma dərsliyi üçün təşəkkürlər: dərs

Kömək üçün baxdığım dərsləri internetdə yerləşdirən hər kəsə təşəkkür edirəm!

Tövsiyə: