Mundarija:
- 1 -qadam: Uskuna kerak
- 2 -qadam: Uskuna ulanishi
- 3 -qadam: I2C protokoli yordamida aloqa
- 4 -qadam: Modulni dasturlash
- 5 -qadam: Fayl yaratish va kodni ishga tushirish
- 6 -qadam: ilovalar
- 7 -qadam: Resurslar
Video: Raspberry Pi yordamida uyni avtomatlashtirish o'rni taxtasi: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Odamlarning katta qismi qulaylikni xohlaydi, lekin maqbul narxlarda. Biz har kuni kechqurun quyosh botganida va ertasi kuni ertalab chiroqlarni yana o'chirganimizda, yoki ob -havo yoki xona harorati kabi konditsionerni/ventilyatorni/isitgichni yoqish/o'chirish uchun uylarni yoritishga dangasa bo'lamiz.
Agar kerak bo'lsa, asboblarni o'chirishning ortiqcha ishidan qochishning arzon echimi shu erda. Bu oddiy uy -ro'zg'or mahsulotlarini ishlatib, uylaringizni avtomatlashtirish. Bu harorat ko'tarilganda yoki tushganda, mos ravishda konditsionerni yoki isitgichni yoqadi. Bundan tashqari, kerak bo'lganda, bu sizning uyingiz chiroqlarini qo'lda yoqmasdan yoqishga yordam beradi. Va boshqa ko'plab qurilmalarni boshqarish mumkin. Dunyoni avtomatlashtirish. Keling, uyingizni boshlaymiz.
1 -qadam: Uskuna kerak
Biz foydalanamiz:
Raspberry Pi
Raspberry Pi - bu Linux asosidagi shaxsiy kompyuter. Bu kichkina kompyuterda elektronika mashqlari sifatida ishlatiladigan ro'yxatga olish kuchi va elektron jadvallar, so'zlarni qayta ishlash, veb -bemaqsad, elektron pochta va o'yinlar kabi kompyuter operatsiyalari mavjud
I2C qalqoni yoki I2C sarlavhasi
INPI2 (I2C adapteri) Raspberry Pi 2/3 va I²C portlarini bir nechta I2C qurilmalarida ishlatish uchun taqdim etadi
MCP23008 I2C o'rni tekshiruvi
Microchip -dan MCP23008 - bu I²C shinasi orqali sakkizta o'rni boshqaradigan o'rnatilgan port kengaytiruvchisi. Integratsiyalashgan I²C kengaytirish portidan foydalanib, raqamli konvertorlarga, datchiklarga va boshqa qurilmalarga ko'proq o'rni, raqamli kiritish -chiqarish, analogini qo'shishingiz mumkin
MCP9808 harorat sensori
MCP9808-bu yuqori aniqlikdagi harorat sensori bo'lib, u raqamli, I²C formatida kalibrlangan, chiziqli sensor signallarini beradi
TCS34903 yorug'lik sensori
TCS34903 - RGB yorug'lik va rang komponentining qiymatini ta'minlaydigan rang sensori oilaviy mahsuloti
I2C ulanish kabeli
I2C ulanish kabeli-bu 4 simli kabel, u orqali ulangan ikkita I2C qurilmasi o'rtasida I2C aloqasi uchun mo'ljallangan
Mikro USB adapter
Raspberry Pi -ni yoqish uchun bizga Micro USB kabeli kerak
O'rnatish paneli uchun 12V quvvat adapteri
MCP23008 o'rni boshqaruvchisi 12V tashqi quvvat bilan ishlaydi va uni 12V quvvat adapteri yordamida etkazib berish mumkin
Siz ularni bosish orqali mahsulotni sotib olishingiz mumkin. Bundan tashqari, siz Dcube do'konida ajoyib materiallarni topishingiz mumkin.
2 -qadam: Uskuna ulanishi
Kerakli ulanishlar (rasmlarga qarang) quyidagicha:
- Bu I2C orqali ishlaydi. Raspberry pi uchun I2C qalqonini oling va uni ohista Raspberry Pi GPIO pinlariga ulang.
- I2C kabelining bir uchini TCS34903 portiga, ikkinchi uchini esa I2C ekraniga ulang.
- MCP9808 sensorli idishni ICC kabeli yordamida TCS34903 ga ulang.
- MCP23008 in-potini I2C kabeli yordamida MCP9808 sensoriga ulang.
- Shuningdek, Ethernet kabelini Raspberry Pi-ga ulang. Wi-Fi yo'riqnoma ham shu maqsadda ishlatilishi mumkin.
- Keyin, Raspberry Pi -ni Micro USB adapteri va 12V adapter yordamida MCP23008 Relay platasi yordamida quvvatlantiring.
- Nihoyat, yorug'likni birinchi o'rni bilan, fanni yoki isitgichni ikkinchi o'rni bilan ulang. Siz modulni kengaytira olasiz yoki ko'proq qurilmalarni o'z o'rni bilan ulashingiz mumkin.
3 -qadam: I2C protokoli yordamida aloqa
Raspberry Pi I2C -ni yoqish uchun quyidagilarni bajaring:
- Terminalda konfiguratsiya sozlamalarini ochish uchun quyidagi buyruqni kiriting: sudo raspi-config
- Bu erda "Kengaytirilgan imkoniyatlar" ni tanlang.
- "I2C" ni tanlang va "Ha" ni bosing.
- Qayta ishga tushirish buyrug'i yordamida kiritilgan o'zgarishlarga ko'ra, tizimni qayta ishga tushiring.
4 -qadam: Modulni dasturlash
Raspberry Pi -dan foydalanishning mukofoti shundaki, bu sizga Raspberry Pi bilan sezish moslamasini ulash uchun dasturlashni xohlagan dasturlash tilini tanlashning moslashuvchanligini beradi. Raspberry Pi -ning afzalliklaridan foydalanib, biz bu erda Java -da dasturlashni namoyish qilamiz.
Java muhitini o'rnatish uchun https://pi4j.com/1.2/index.html saytidan "pi4j kutubxonasini" o'rnating Pi4j - Raspberry Pi uchun Java kirish/chiqish kutubxonasi. "Pi4j" ni o'rnatishning eng oson va eng afzal qilingan usuli. kutubxona " - bu Raspberry Pi -da ko'rsatilgan buyruqni to'g'ridan -to'g'ri bajarish:
curl -s get.pi4j.com | sudo bash
YoKI
jingalak -get.pi4j.com
com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; com.pi4j.io.i2c. I2CFactory -ni import qilish; java.io. IOException ni import qilish; sinf MCP23008 {public static void main (String args ) tashlaydi Exception {int status, value, value1 = 0x00; // I2C avtobusini yaratish I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1); // I2C qurilmasini oling, MCP23008 I2C manzili - 0x20 (32) I2CDevice device = bus.getDevice (0x20); // I2C qurilmasini oling, MCP9808 I2C manzili 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // I2C qurilmasini oling, TCS34903 I2C manzili - 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Kutish vaqti registrini o'rnating = 0xff (255), kutish vaqti = 2,78 ms TCS34903.write (0x83, (bayt) 0xFF); // IR kanaliga kirishni yoqish TCS34903.write (0xC0, (bayt) 0x80); // Atime reestrini 0x00 (0) ga o'rnating, maksimal sonlar = 65535 TCS34903.write (0x81, (bayt) 0x00); // Quvvat yoqilgan, ADC yoqilgan, kutish yoqilgan TCS34903.write (0x80, (bayt) 0x0B); Thread.sleep (250); // 8 bayt ma'lumotni aniq/ir ma'lumotli o'qing LSB birinchi bayt data1 = yangi bayt [8]; // Harorat ma'lumotlarini o'qing bayt ma'lumotlar = yangi bayt [2]; status = device.read (0x09); // Barcha pinlar OUTPUT device.write (0x00, (bayt) 0x00) sifatida sozlangan; Thread.sleep (500); while (true) {MCP9808.read (0x05, ma'lumotlar, 0, 2); // Ma'lumotlarni aylantirish int temp = ((ma'lumotlar [0] & 0x1F) * 256 + (ma'lumotlar [1] & 0xFF)); agar (temp> 4096) {temp -= 8192; } double cTemp = temp * 0.0625; System.out.printf ("Selsiydagi harorat: %.2f C %n", cTemp); TCS34903. o'qish (0x94, ma'lumotlar1, 0, 8); er -xotin ir = ((ma'lumotlar1 [1] & 0xFF) * 256) + (ma'lumotlar1 [0] & 0xFF) * 1.00; er -xotin qizil = ((ma'lumotlar1 [3] & 0xFF) * 256) + (ma'lumotlar1 [2] & 0xFF) * 1,00; juft yashil = ((ma'lumotlar1 [5] & 0xFF) * 256) + (ma'lumotlar1 [4] & 0xFF) * 1.00; er -xotin ko'k = ((ma'lumotlar1 [7] & 0xFF) * 256) + (ma'lumotlar1 [6] & 0xFF) * 1,00; // Yorug'likning ikki tomonlama yoritilishini hisoblang = (-0.32466) * (qizil) + (1.57837) * (yashil) + (-0.73191) * (ko'k); System.out.printf ("Yorug'lik: %.2f lyuks %n", yorug'lik); agar (yorug'lik 30) {qiymat = qiymat1 | (0x01); } boshqa {qiymat = qiymat1 & (0x02); } device.write (0x09, (bayt) qiymati); Thread.sleep (300); }}}
5 -qadam: Fayl yaratish va kodni ishga tushirish
- Kodni yozish/nusxalash mumkin bo'lgan yangi fayl yaratish uchun quyidagi buyruq ishlatiladi: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
- Faylni yaratgandan so'ng, biz bu erga kodni kiritishimiz mumkin.
- Oldingi bosqichda berilgan kodni nusxa ko'chiring va uni shu oynaga joylashtiring.
- Chiqish uchun Ctrl+X va keyin "y" tugmachalarini bosing.
- Keyin quyidagi buyruq yordamida kodni kompilyatsiya qiling: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- Agar xato bo'lmasa, dasturni quyida aytilgan buyruq yordamida ishga tushiring: pi4j FILE_NAMEEg. pi4j MCP23008.java
6 -qadam: ilovalar
Bu tizim devor kalitlariga o'tmasdan qurilmalarni boshqarish imkonini beradi. Bu keng imkoniyatlarga ega, chunki qurilmalarni yoqish yoki o'chirish vaqti avtomatik rejalashtirilgan. Bu modulni uylardan tortib sanoatga, kasalxonalarga, temir yo'l vokzallariga va boshqa ko'plab joylarga ulash va ishga tushirish komponentlari yordamida arzon va oson avtomatlashtirish mumkin bo'lgan bir nechta ilovalar mavjud.
7 -qadam: Resurslar
TSL34903, MCP9808 MCP23008 Relay Controller haqida qo'shimcha ma'lumot olish uchun quyidagi havolalarni ko'rib chiqing:
- TSL34903 ma'lumotlar jadvali
- MCP9808 ma'lumotlar jadvali
- MCP23008 ma'lumotlar jadvali
Tavsiya:
ESP8266 yoki NODEMCU yordamida uyni avtomatlashtirish: 6 qadam
ESP8266 yoki NODEMCU yordamida uyni avtomatlashtirish: Siz hech qachon uyingizni Wi -Fi orqali avtomatlashtirishni xohlaganmisiz? Siz smartfoningizdagi yorug'lik, fanat va boshqa asboblarni boshqarishni xohlaysizmi? Yoki ulangan qurilmalar va u bilan ishlashni o'rganishni xohlaganmisiz? Bu uy avtomatlashtirish loyihasi
Esp8266: 6 qadam yordamida uyni arzon narxlardagi DIY avtomatlashtirish
Esp8266 yordamida uyni arzon narxlardagi DIY avtomatizatsiyasi: Hammaga salom, bugun men sizga o'z uy avtomatizatsiyamni aqlli uy sari qadam sifatida qanday tayyorlaganimni ko'rsataman, odatda nodemcu nomi bilan tanilgan, shuning uchun vaqtni behuda sarflamasdan. Qani boshladik:)
Arduino boshqaruv rölesi moduli yordamida aqlli uyni qanday qilish kerak - Uyni avtomatlashtirish g'oyalari: 15 qadam (rasmlar bilan)
Arduino boshqaruv rölesi moduli yordamida aqlli uyni qanday qilish kerak | Uyni avtomatlashtirish g'oyalari: Ushbu uyni avtomatlashtirish loyihasida biz 5 ta maishiy texnikani boshqaradigan aqlli uy rölesi modulini loyihalashtiramiz. Bu o'rni modulini Mobil yoki smartfon, IQ masofadan boshqarish pulti yoki TV masofadan boshqarish pulti, Manuel kalit orqali boshqarish mumkin. Bu aqlli estafeta, shuningdek, odamni sezishi mumkin
Uyni avtomatlashtirish uchun Wi-Fi boshqariladigan 4 kanalli o'rni moduli: 7 qadam (rasmlar bilan)
Uyni avtomatlashtirish uchun Wi-Fi boshqariladigan 4 kanalli o'rni moduli: Men ilgari o'chirilgan kalitlarga asoslangan ko'plab Wi-Fi-dan foydalanganman. Ammo ular mening talablarimga mos kelmaydi. Shuning uchun men o'z devorimni o'rnatishni xohladim, u oddiy Wall Switch rozetkalarini hech qanday o'zgartirishlarsiz almashtirishi mumkin. ESP8266 chipi Wi -Fi -ni yoqadi
Raspberry Pi Matrix Ovoz va Snips yordamida uyni avtomatlashtirish (2 -qism): 8 qadam
Raspberry Pi Matrix Ovoz va Snips yordamida uyni avtomatlashtirish (2 -qism): Raspberry Pi Matrix Voice va Snips yordamida uy avtomatizatsiyasini yangilash. Bu PWM tashqi LED va Servo dvigatelni boshqarish uchun ishlatiladi, 1-bo'limda keltirilgan barcha tafsilotlar https: //www.instructables.com/id/Controlling-Light