Mundarija:

Raspberry Pi bilan arzon va samarali uy avtomatizatsiyasi: 11 qadam (rasmlar bilan)
Raspberry Pi bilan arzon va samarali uy avtomatizatsiyasi: 11 qadam (rasmlar bilan)

Video: Raspberry Pi bilan arzon va samarali uy avtomatizatsiyasi: 11 qadam (rasmlar bilan)

Video: Raspberry Pi bilan arzon va samarali uy avtomatizatsiyasi: 11 qadam (rasmlar bilan)
Video: Gijjalar osonlik bilan tushib ketadi.Yosh bolalar va kattalarga gijjalarga qarshi tabiiy retsept 2024, Noyabr
Anonim
Raspberry Pi bilan arzon va samarali uy avtomatizatsiyasi
Raspberry Pi bilan arzon va samarali uy avtomatizatsiyasi
Raspberry Pi bilan arzon va samarali uy avtomatizatsiyasi
Raspberry Pi bilan arzon va samarali uy avtomatizatsiyasi
Raspberry Pi bilan arzon va samarali uy avtomatizatsiyasi
Raspberry Pi bilan arzon va samarali uy avtomatizatsiyasi

Men har doim chiroqlarni simsiz boshqarishni xohlardim, lekin tijorat variantlari odatda qimmat. Philips Hue chiroqlarining narxi taxminan 70 dollarni tashkil qiladi, WiFi -ga ulangan chiroqlar ham qimmat. Bu o'quv qo'llanma sizga 50 $ atrofida 5 tagacha chiroqni/chiroqni/Rojdestvo chiroqlarini qanday boshqarishni aytib beradi va ularni boshqa chiroqlarni qo'shish uchun kengaytirish mumkin.

1 -qadam: Sizga nima kerak

Sizga nima kerak bo'ladi
Sizga nima kerak bo'ladi

Materiallar:

Raspberry Pi Zero W (Simsiz nashr)

Micro SD karta (kamida 4 gb)

Mini HDMI -dan HDMI kabeli/konvertori (Mini va mikro o'rtasida farq bor, to'g'ri variantni tanlaganingizga ishonch hosil qiling!)

Mikro USB - USB kabeli/konvertori

USB klaviatura

Eslatma: Men Amazondan Raspberry Pi Zero W, SD -karta, korpus, quvvat kabeli, HDMI konvertori va USB konvertori bilan birga kelgan Raspberry Pi Zero W boshlang'ich to'plamini oldim. Faqat $ 30 uchun, bu juda yaxshi variant (havola)

Siz Raspberry Pi -ning boshqa modelini ishlatishingiz mumkin, lekin Raspberry Pi -da Internetga ulanish bo'lishi kerak, va Pi Zero W - eng arzon variant.

Masofadagi rozetkalar - men ulardan foydalandim

RF uzatuvchi va qabul qilgich (Eslatma: uzatuvchi/qabul qiluvchining chastotasi masofadagi rozetkalarning chastotasiga mos kelishi kerak) - men ulardan foydalanardim

Antenna uchun sim (men 22 o'lchagichli qattiq yadroli mis simni ishlatardim, boshqa sim ishlashi mumkin)

Non paneli, o'tish simlari, 40 pinli erkak-erkak sarlavhasi

Dasturiy ta'minot:

Raspberry Pi OS (Raspbian ish stoli yuklab olish)

Etcher disk tasviri (Pi OS -ni SD -kartaga yozish uchun)

Asboblar:

Lehimlash temir

Pi OS va Etcher yuklab olish uchun kompyuter

2 -qadam: rozetkalarni o'rnating

Chiqish joylarini o'rnating
Chiqish joylarini o'rnating
Chiqish joylarini o'rnating
Chiqish joylarini o'rnating

Rozetlarni rozetkaga ulashdan boshlang. O'rnatish uchun berilgan ko'rsatmalarga amal qiling va chiroqlarni/asboblarni ulang. Masofadan boshqarish pulti to'g'ri ulanganligiga va rozetkalarni boshqarayotganiga ishonch hosil qiling.

3 -qadam: PubNub hisobini o'rnating

PubNub - bu dunyoning istalgan nuqtasida qurilmalar o'rtasida muloqot qilish imkonini beruvchi bepul internet -server. Python skripti veb -sahifadan xabar oladi va chiroqdagi ma'lumotlarni o'chirish yoki o'chirish uchun foydalanadi. Siz bu erda bepul hisobingizga yozilishingiz mumkin. Ro'yxatdan o'tgandan so'ng, hisobingizga kiring. Bu sizni ilovalarni boshqarish sahifasiga olib keladi. "Yangi dastur yaratish" ni bosing. Sizga ilovaga nom bering va uni ilovalar ro'yxatidan tanlang (agar bu sizning birinchi ilovangiz bo'lsa, u yagona bo'ladi) Bu sizni dastur tugmachalari sahifasiga olib keladi. "Demo klaviaturasi" ni bosing, shunda siz uch xil kalitni ko'rasiz. Bu sahifani ushlab turing, keyinroq sizga bu kalitlar kerak bo'ladi. Endi sizda PubNub hisobingiz bor, siz malina pi ni sozlashingiz mumkin.

4 -qadam: Raspberry Pi tayyorlang

Etcher va Raspberry Pi OS -ni kompyuteringizga yuklab oling (qismlar ro'yxatidagi havolalar)

Etcher -ni kompyuteringizga o'rnating va Raspberry Pi OS -ni oching (agar kerak bo'lsa). Micro SD kartani kompyuterga joylashtiring va Etcher -ni oching. "Rasmni tanlash" -ni bosing va ochilmagan Raspberry Pi OS fayliga o'ting. Uni tanlang, so'ng "Diskni tanlash" tugmasini bosing va ro'yxatdan micro SD kartangizni tanlang. "Flash" tugmasini bosing va Etcher tugashini kuting. Etcher tugagandan so'ng, SD -kartani kompyuterdan chiqarib oling (Etcher avtomatik ravishda chiqarib tashlaydi) va uni Raspberry Pi -ga joylashtiring. Bu vaqtda siz Raspberry Pi -ni HDMI konvertorli monitorga ulashingiz kerak bo'ladi. Klaviaturani (agar sizda ko'p USB uyasi bo'lsa, sichqonchani) ulang va quvvat simini ulang. Ikkita mikro USB port mavjud. Biri quvvat uchun, ikkinchisi - haqiqiy USB port. Pi oxirigacha eng yaqin - bu quvvat, o'rtasiga yaqinroq - USB. Sizning malina pi endi yuklashni boshlaydi. Birinchi yuklash paytida u bir necha marta qayta ishga tushishi mumkin, lekin bu normal holat. Malinali pi -ni ishga tushirgandan so'ng, uni WiFi -ga ulang. Wi -Fi -ga ulanganingizdan so'ng, siz SSH -serverdan foydalanishingiz mumkin, lekin hozircha GUI -dan foydalanish osonroq. Terminal oynasini oching va quyidagi buyruqlarni kiriting:

sudo pip3 ni o'rnatish 'pubnub == 3.9.0'

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

sudo git clone

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

CD simiPi

./qurmoq

Endi Raspberry Pi fayl brauzerini oching va siz pi-home-automation papkasini ko'rasiz. Uni ikki marta bosing va siz RFControl.py nomli faylni ko'rasiz. Nusxalash (qarama -qarshi bosish va "Nusxalash" -ni tanlang), keyin pi papkasiga qayting va u erga joylashtiring.

Malinali pi -ni o'chiring (yoki menyudan yoki buyruq satridan sudo poweroff -ni ishga tushirish orqali) va yashil chiroq yonib -o'chishni to'xtatgandan so'ng uni rozetkadan uzing.

5 -qadam: O'chirish sxemasini yaratish

Davrani yaratish
Davrani yaratish
Davrani yaratish
Davrani yaratish
Davrani yaratish
Davrani yaratish

Endi sxemani yaratish vaqti keldi. Men non taxtasidan foydalandim, lekin buni xohlaganingizcha qilishingiz mumkin.

Birinchidan, biz RF uzatuvchi uchun antenna yaratishimiz kerak. Bu ko'rsatma qo'llanmasi RF transmitteri uchun antennani qanday yasashni aytadi. Ko'rsatmalarni bajaring, so'ng uni uzatgichning eng yaqin tomoni bilan antennaning piniga lehimlang.

Transmitterni sim bilan ulang

Transmitter quyidagi pinlardan foydalanadi:

Ma'lumotlar: GPIO 17, jismoniy pin 11

VCC: Raspberry Pi 5v, jismoniy pin 2

GND: Raspberry Pi GND, jismoniy pin 6

Qabul qilgichni sim bilan ulang

Qabul qilgich quyidagi pinlardan foydalanadi:

GND: Raspberry Pi GND, jismoniy pin 9

VCC: Raspberry Pi 5v, jismoniy pin 4

Ma'lumotlar: GPIO 27, 13 -jismoniy pin

6 -qadam: RF kodlarini oling

RF kodlarini oling
RF kodlarini oling

Sizning sxemangiz Raspberry Pi -ga ulanganidan so'ng, hamma narsa joyida ekanligiga ishonch hosil qilish uchun uni ikki marta tekshiring va keyin qayta yoqing. U yoqilgandan so'ng, terminalni oching va yozing

sudo/var/www/rfoutlet/RFSniffer

Keyin RFControl dasturini oching. Terminal oynasi va dastur oynasini yonma-yon qo'yish keyingi bosqichda foydali bo'lishi mumkin.

Sizga rozetkaga kiritilgan masofadan boshqarish pulti kerak bo'ladi. Qabul qilgichga yaqin tuting va har bir tugmani bosing. Tugmani bosganingizda ekranga ikkita raqam bosilganini ko'rasiz. Ulardan biri olti yoki etti raqamli, ikkinchisi 3 xonali kod bo'ladi. Siz dasturda kodlar lug'atini tahrir qilishingiz kerak bo'ladi. 7-raqamli kodni dasturning mos keladigan kalitiga kiriting va har bir yoqish/o'chirish tugmasi uchun 3-raqamli kodni (bu uzunlik) dasturning mos keladigan kalitiga joylashtiring.

Misol uchun, agar 1 -ni yoqish kodi 1234567, o'chirish kodi 7654321 va uzunligi 890 bo'lsa, kod shunday bo'ladi:

kodlar = {

'switch1': {'yoqilgan': 1234567, #Bu "o'chirish" 1 -tugmasi: 7654321, #bu 1 -o'chirish 'len': 890, #bu 1 kod uzunligining kalitidir}, 'switch2': {… },…}

Buni har bir tugma uchun takrorlang. Siz bu faylni tahrir qilayotganingizda "SUB-KEY-SIZ" degan satrlarni PubNub-ga obuna bo'lish kalitiga va "YOUR-PUB-KEY" -ni nashr qilish kalitiga o'zgartiring.

Har bir tugma yozilgandan so'ng, siz keyingi bo'limga o'tishingiz mumkin.

7 -qadam: Dasturni ishga tushirish

Dasturni ishga tushirish
Dasturni ishga tushirish

Endi sizda barcha kodlar mavjud bo'lsa, ushbu GitHub sahifasiga o'ting (kompyuteringizda, malina pi emas) va "Klonlash yoki yuklash" degan yashil tugmani bosing, so'ng "ZIPni yuklab olish" ni bosing. Bu fayl yuklab olingandan so'ng, uni oching va papkani oching. Main.js. nomli faylni oching. Siz "YOUR-PUB-KEY" ni nashr kalitingiz va "YOUR-SUB-KEY" -ni obuna kaliti bilan almashtirish orqali dasturga obuna va nashr kalitlarini kiritishingiz kerak bo'ladi.

Keyin, Raspberry Pi -ga qayting va kiring

python3 RFControl.py

"Tayyor" deb chop etilgandan so'ng, kompyuteringizga qayting va qarama -qarshi bosish orqali index.html faylini veb -brauzerda oching, "Ochish" -ni tanlang va kerakli brauzerni tanlang. Siz 5 tugmachali 2 ustunni ko'rishingiz kerak, ularning orasidagi kalitlarning nomlari ko'rsatilgan. Har qanday tugmani bosing. Agar u rozetkani to'g'ri boshqarsa, ajoyib! Agar yo'q bo'lsa, sinab ko'rish kerak bo'lgan ba'zi narsalar:

  1. Raspberry Pi xabarlarni qabul qilayotganiga ishonch hosil qiling. Veb -sahifadan xabar kelganida, u ekranga chop etilishi kerak. Agar yo'q bo'lsa, obuna bo'lish/chop etish kalitlari to'g'ri ekanligiga ishonch hosil qiling.
  2. Agar Raspberry Pi xabar olayotgan bo'lsa, RF kodlaringiz to'g'riligiga ishonch hosil qiling. Sizning rozetkalaringiz masofadan boshqarish pulti bilan bog'langanligiga, masofadan boshqarish pulti ularni boshqarishi va dasturga kiritgan kodlaringiz to'g'riligiga ishonch hosil qiling.
  3. Agar RF kodlari to'g'ri bo'lsa, Raspberry Pi rozetkalari oralig'ida ekanligiga ishonch hosil qiling. Agar ular uni yaqinlashtirgandan keyin ishlay boshlasalar, siz antennani qayta bajarishingiz kerak bo'ladi.
  4. Agar ular hali ham ishlamayotgan bo'lsa, iltimos, muammoingizni izohlarda ayting, men yordam berishga harakat qilaman.

8 -qadam: ishga tushirish paytida ishga tushirish

Python dasturini ishga tushirish uchun uni malina pi terminaliga kiriting:

crontab -e

Keyin faylning pastki qismiga o'ting va uni kiriting:

@qayta yuklash python3 /home/pi/RFControl.py &

Bu sizning Python skriptingizni har safar ishga tushganda ishga tushiradi. Endi Raspberry Pi -ni qayta ishga tushiring.

9 -qadam: Boshqa kalitlarni qo'shish

Boshqa kalitlarni qo'shish
Boshqa kalitlarni qo'shish

Agar siz boshqa savdo nuqtalarini qo'shmoqchi bo'lsangiz, quyidagi ko'rsatmalarga amal qiling.

Raspberry Pi -da RFControl.py -ni oching va kalitlar lug'atiga yangi kalit qo'shing.

Misol:

kalitlar = {

… boshqa kalitlar… 'NOM-OF-SWITCH': {'yoqilgan': xxxxxxx, 'o'chirilgan': yyyyyyy, 'len': zzz,},}

Keyin, main.js -dagi kalitlar o'zgaruvchisini kompyuterda tahrirlash orqali veb -ilovangizga yangi tugma qo'shing.

Misol:

var kalitlari = [… eski kalitlar… ['NAME-TO-DISPLAY', 'NAME-OF-SWITCH'],];

NAME-TO-DISPLAY-ni veb-sahifada ko'rsatishni xohlagan ism bilan almashtiring va NAME-OF-SWITCH-ni xohlagan narsangiz bilan almashtiring. Bu boshqalardan o'ziga xos bo'lishi kerak!

10 -qadam: davom ettirish

Buni oldinga surish
Buni oldinga surish

PubNub har xil platformalarda qo'llab -quvvatlanadi, ya'ni siz deyarli har qanday qurilmadan xabar yuborishingiz mumkin! Men o'z ovozim bilan buyruq yuborish uchun Raspberry Pi AIY Voice to'plami va PubNub -dan foydalandim, lekin bu keyingi ko'rsatma mavzusi bo'lishi mumkin. Mening ko'rsatmalarni o'qiganingiz uchun tashakkur, umid qilamanki, bu foydali bo'ldi!

11 -qadam: Kreditlar

RF transmitterini sozlash bo'yicha qo'llanma uchun Tim Lelandga rahmat: o'quv qo'llanma

DIY_bloke -ga antenna yaratish bo'yicha qo'llanma uchun rahmat: o'quv qo'llanma

Men yordam so'rab ko'rgan darslarni Internetda joylashtirganlarga ham rahmat!

Tavsiya: