Mundarija:

Chiroqni almashtirish: 7 qadam
Chiroqni almashtirish: 7 qadam

Video: Chiroqni almashtirish: 7 qadam

Video: Chiroqni almashtirish: 7 qadam
Video: 3 odamni birlashtirgan doktor ularning umriga zomin bo`ldi. 2024, Noyabr
Anonim
Chiroqni almashtirish
Chiroqni almashtirish

Bu loyihada men oxirigacha qo'shimcha bonusli simsiz nurni boshqarish tizimini qanday yaratishni misol qilib keltiraman. To'liq darslik uchun davom eting.

Talablar:

- Raspberry Pi (har qanday lazzat yaxshi, lekin men 3B+ modelini ishlatganman)

- 2n2222 ikkita tranzistor (men kamida beshtasini sotib olishni maslahat beraman, chunki katta ehtimol bilan siz xato qilib qo'yasiz)

-Erkak-Erkak va Erkak-Ayol jumper kabellari

- Non paneli

- (ixtiyoriy, lekin tavsiya etiladi) 5V elektr toki

- har biri 1k va 10k rezistorlardan ikkitasi

- Dual-Relay moduli

- ikkita eski uy chiroqlari yoki boshqa yoritish moslamalari (lampochkalarni ishlating, chunki sinov paytida akkor lampalar yonib ketadi)

- yopishqoq lenta va simi kesuvchi

1 -qadam: Raspberry Pi -da server va unga bog'liqliklarni o'rnatish

Loyiham uchun men NGiNX -dan foydalandim, lekin siz xohlagan serverdan foydalanishingiz mumkin (Apache2 va boshqalar). Paket menejeri bilan vanilni o'rnatish juda yaxshi, o'z manbamizni yoki shunga o'xshash narsalarni tuzishning hojati yo'q. Bizga PHP, Python3 va Composer kerak bo'ladi.

- SSH -ni PI -ga kiriting va $ sudo nano /etc/dhcpcd.conf kiriting

- Statik IP parametrlarini sozlash

- PI -ni qayta yoqing

Brauzeringizning manzil satriga {the_ip_you_chose} yozib, hamma narsa ishlayotganini tekshiring (nginx -ning xush kelibsiz sahifasini ko'rishingiz kerak)

2 -qadam: NGiNX uchun veb -tizim va konfiguratsiyani o'rnating

Biz mobil yoki ish stoli brauzeridan kira oladigan veb -saytga ega bo'lishni xohlaymiz va o'zimizni ushbu qo'llanmaning doirasi bo'lmagan oddiy php/html kodini yozishdan qutqarish uchun, uning o'rniga Yii2 deb nomlangan PHP asosini ishlatamiz. biz uchun yo'nalish va uslub.

- Yii2 o'rnatish sahifasiga o'ting va/var/www/html/light-switch-ga o'rnatish uchun kompozitordan foydalaning.

- Biz hali hech narsani ko'rmaymiz, chunki biz hali server uchun konfiguratsiya faylini kiritmaganmiz

- Men bu qadamga faylni (standart) biriktirdim

- Agar siz boshqa orqa fonni afzal ko'rsangiz, uni ushbu ramkada bo'lgani kabi ishlating yoki boshqasini Internetda qidiring

- Siz bu faylni/etc/nginx/sites-available/ga joylashtirishingiz kerak.

- $ sudo systemctl reload nginx yordamida NGiNX -ni qayta yuklang

- Agar biror narsa ishlamasa, konfiguratsiya fayllarini disk raskadrovka qilish uchun $ sudo nginx -t ni ishga tushirishingiz mumkin

3 -qadam: GPIO bilan o'zaro ta'sir qiladigan Python skriptlarini o'rnatish

PHP GPIO API kabi ish vaqti skriptlari bilan yaxshi o'ynashni yoqtirmagani uchun va python veb-ilovalar bilan unchalik do'st emas, biz ularning har birini foydali kontekstda ishlatamiz. Ushbu qadamga biriktirilgan holda, siz pinlar bilan o'zaro ta'sir qiladigan va chiroqlarni yoqadigan 4 ta zarur python skriptlarini topasiz. Skriptlarni xohlagan joyingizga qo'ying, lekin ularning joylashuviga e'tibor bering, chunki biz keyingi bosqichda narsalarning php tomonini o'rnatganimizda kerak bo'ladi.

4 -qadam: narsalarning Php tomonini tugatish

Ishlarning Php tomonida tugatish
Ishlarning Php tomonida tugatish

Biz qilishimiz kerak bo'lgan asosiy yo'ldan ba'zi standart yo'llar va sahifalarni olib tashlash va SiteController -ga bir necha qatorli kodlarni kiritish va actionLightswitch () deb nomlangan yangi usulni qo'shish. Shundan so'ng, u oldingi bosqichdagi python skriptlarini bajaradi, bu esa o'z navbatida GPIO pinlariga buyruq beradi.

5 -qadam: O'chirish sxemasini yaratish

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

Bu o'ziga xos o'rni modulining tabiati tufayli (u GND ga ulanganda o'zgaradi) biz tranzistorlar yordamida sxemani qurishimiz kerak. PI faqat tranzistorni ochadi, bu oqim oqimining o'rni pinlaridan GND ga o'tishiga imkon beradi, shuning uchun lasan ishga tushadi va lampalar davri yopiladi. Qo'shilgan rasmlardagi sxemalarga rioya qiling va siz borishingiz yaxshi bo'ladi.

Keyingi qism uchun siz juda ehtiyot bo'lishingiz kerak, chunki o'rni ulash vaqti keldi. Avval hamma narsani uzing! O'rnimizni har bir ulanish uchun 3 ta portga ega. Biz asboblar kabellarini o'rtasiga va ochiq belgisi bo'lgan kabelga ulaymiz. Mis o'tkazgichlarini ochish uchun kabelni ehtiyotkorlik bilan ajratib oling va ularni yuqorida aytib o'tilgan o'rni portlariga joylashtiring. Buyurtma muhim emas, chunki biz hozir muqobil oqim bilan ishlayapmiz.

6 -qadam: Yakuniy test

Kamida ikki marotaba o'z kontaktlaringiz va pinlaringizni tekshiring, so'ngra PIni quvvat manbaiga ulang va brauzerning manzil satriga {the_chosen_ip} yozing. Birinchi sahifada ikkita kalitimiz bo'ladi. Ularni bosing va chiroqlar yoqilishini/o'chishini ko'ring.

7-qadam: Bonus qismi: Eski maktab Clapper Trigger

Talablar:

- har qanday usb mikrofoni (yuqori sifatli bo'lishi shart emas)

- ALSA to'plami (o'rnatish usuli sizning tarqatishingizga qarab farq qiladi)

- PyAudio moduli

Qo'shilgan python skriptidan nusxa oling va mikrofonni ulang. PI -ni qayta ishga tushiring. Skriptni bajaring va konsol ko'rsatmalariga amal qiling. Mikrofonga yaqinlashing va ikki marta qarsak chaling. Siz qarsak chalishni konsolda ko'rishingiz kerak va agar muvaffaqiyatli bo'lsa, ikkala chiroq ham 2 soniyadan keyin yonadi.

Tavsiya: