Мазмұны:

Релелік тақтаны қолданатын Raspberry Pi бар үйді автоматтандыру: 7 қадам
Релелік тақтаны қолданатын Raspberry Pi бар үйді автоматтандыру: 7 қадам

Бейне: Релелік тақтаны қолданатын Raspberry Pi бар үйді автоматтандыру: 7 қадам

Бейне: Релелік тақтаны қолданатын Raspberry Pi бар үйді автоматтандыру: 7 қадам
Бейне: Бірнеше ESP8266 ESP01 релесін басқару жолы | RemoteXY | FLProg 2024, Шілде
Anonim
Реле тақтасын қолданатын Raspberry Pi бар үй автоматикасы
Реле тақтасын қолданатын Raspberry Pi бар үй автоматикасы

Көптеген адамдар керемет жайлылықты қалайды, бірақ қолайлы бағамен. Біз күн сайын кеш батқанда және келесі күні таң сәріде үйлерді жарықтандыруға жалқау боламыз, шамдарды қайтадан өшіреміз немесе ауа райы немесе бөлме температурасы сияқты кондиционерді/желдеткішті/жылытқышты қосамыз/өшіреміз.

Қажет болған жағдайда құрылғыны өшірудің қосымша жұмысын болдырмаудың арзан шешімі осында. Бұл қарапайым қосылатын және ойнайтын өнімдерді қолдана отырып, үйлеріңізді автоматтандырады. Ол температура көтерілгенде немесе төмендегенде сәйкесінше кондиционерді немесе жылытқышты қосады. Сонымен қатар, қажет болған жағдайда, бұл сіздің үйіңіздегі шамдарды қолмен қоспай қосуға көмектеседі. Және басқа да көптеген құрылғыларды басқаруға болады. Әлемді автоматтандырыңыз. Сіздің үйіңізді бастауға рұқсат етіңіз.

1 -қадам: Жабдық қажет

Жабдық қажет
Жабдық қажет
Жабдық қажет
Жабдық қажет
Жабдық қажет
Жабдық қажет

Біз қолданатын боламыз:

Raspberry Pi

Raspberry Pi - бұл Linux негізіндегі жеке компьютер. Бұл кішкентай компьютер электроникаға арналған жаттығулар ретінде пайдаланылатын тіркеу қуатын және компьютерлік кестелер, мәтіндік өңдеу, веб -серфинг, электрондық пошта мен ойындар сияқты операцияларды қамтиды

I2C Shield немесе I2C тақырыбы

INPI2 (I2C адаптері) Raspberry Pi 2/3 пен I²C портын бірнеше I2C құрылғыларымен пайдалануға мүмкіндік береді

I2C релелік контроллері MCP23008

Microchip MCP23008 - бұл I²C шинасы арқылы сегіз релені басқаратын кіріктірілген порт кеңейткіші. Қосылған I²C кеңейту портын қолдана отырып, цифрлық түрлендіргіштерге, датчиктерге және басқа құрылғыларға қосымша реле, цифрлық енгізу -шығару, аналогты қосуға болады

MCP9808 температура сенсоры

MCP9808-бұл жоғары дәлдіктегі температура сенсоры, ол калибрленген, сызықты сенсорлық сигналдарды цифрлық, I²C форматында береді

TCS34903 жарықтық сенсоры

TCS34903 - жарық пен түстің RGB компонентінің мәнін қамтамасыз ететін түс сенсорларының отбасылық өнімі

I2C қосқыш кабелі

I2C қосқыш кабелі-бұл 4 сымды кабель, ол арқылы қосылған екі I2C құрылғысы арасындағы I2C байланысына арналған

Микро USB адаптері

Raspberry Pi -ді қосу үшін бізге Micro USB кабелі қажет

Реле тақтасына арналған 12 В қуат адаптері

MCP23008 реле контроллері 12 В сыртқы қуатта жұмыс істейді және оны 12 В қуат адаптерінің көмегімен беруге болады

Сіз оларды басу арқылы өнімді сатып ала аласыз. Сонымен қатар, сіз Dcube дүкенінен керемет материал таба аласыз.

2 -қадам: Жабдықты қосу

Жабдықтарды қосу
Жабдықтарды қосу
Жабдықтарды қосу
Жабдықтарды қосу
Жабдықтарды қосу
Жабдықтарды қосу
Жабдықтарды қосу
Жабдықтарды қосу

Қажетті қосылымдар (суреттерді қараңыз) келесідей:

  1. Бұл I2C -де жұмыс істейді. Raspberry pi үшін I2C қалқанын алыңыз және оны Raspberry Pi GPIO түйреуіштеріне ақырын қосыңыз.
  2. I2C кабелінің бір ұшын TCS34903 портына, екінші ұшын I2C қалқанына қосыңыз.
  3. MCP9808 сенсорының ыдысын I2C кабелі арқылы TCS34903 розеткасына қосыңыз.
  4. MCP23008 ыдысын I2C кабелі арқылы MCP9808 датчигіне қосыңыз.
  5. Ethernet кабелін Raspberry Pi-ге қосыңыз. Wi-Fi маршрутизаторы да сол үшін қолданыла алады.
  6. Содан кейін, Raspberry Pi -ді Micro USB адаптері мен MCP23008 реле тақтасын 12В адаптері арқылы қосыңыз.
  7. Соңында, жарықты бірінші реле, ал желдеткішті немесе жылытқышты екінші реле арқылы қосыңыз. Сіз модульді кеңейте аласыз немесе реле арқылы басқа құрылғыларды қоса аласыз.

3 -қадам: I2C протоколының көмегімен байланыс

Raspberry Pi I2C қосу үшін төменде көрсетілгендей әрекет етіңіз:

  1. Терминалда конфигурация параметрлерін ашу үшін келесі пәрменді теріңіз: sudo raspi-config
  2. Мұнда «Қосымша параметрлерді» таңдаңыз.
  3. «I2C» таңдаңыз және «Иә» түймесін басыңыз.
  4. Қайта жүктеу пәрмені арқылы енгізілген өзгерістерге сәйкес жүйені қайта орнату.

4 -қадам: модульді бағдарламалау

Raspberry Pi қолданудың сыйақысы - бұл Raspberry Pi көмегімен сезімтал құрылғыны интерфейстеу үшін бағдарламалау қажет бағдарламалау тілін таңдауға икемділікті қамтамасыз етеді. Raspberry Pi -дің осы артықшылығын пайдаланып, біз оның Java -дағы бағдарламалауын көрсетеміз.

Java ортасын орнату үшін https://pi4j.com/1.2/index.html сайтынан «pi4j libraby» орнатыңыз. Pi4j - бұл Raspberry Pi үшін Java енгізу/шығару кітапханасы. кітапхана » - бұл төменде көрсетілген команданы Raspberry Pi -де тікелей орындау:

curl -s get.pi4j.com | sudo bash

НЕМЕСЕ

curl -s get.pi4j.com

com.pi4j.io.i2c. I2CBus импорттау; com.pi4j.io.i2c. I2CD құрылғыны импорттау; com.pi4j.io.i2c. I2CFactory импорттау; java.io. IOException импорттау; MCP23008 класы {public static void main (String args ) ерекше жағдайларды шығарады {int status, value, value1 = 0x00; // I2C шинасын жасау I2CBus шинасы = I2CFactory.getInstance (I2CBus. BUS_1); // I2C құрылғысын алу, MCP23008 I2C мекенжайы - 0x20 (32) I2CDevice device = bus.getDevice (0x20); // I2C құрылғысын алыңыз, MCP9808 I2C мекенжайы - 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // I2C құрылғысын алыңыз, TCS34903 I2C мекенжайы - 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Set Wait Time register = 0xff (255), күту уақыты = 2,78 ms TCS34903.write (0x83, (байт) 0xFF); // IR каналы TCS34903.write -ге қатынауды қосу (0xC0, (байт) 0x80); // Atime регистрін 0x00 (0) етіп орнатыңыз, максималды санау = 65535 TCS34903.write (0x81, (байт) 0x00); // Қуат қосулы, ADC қосылған, күту қосулы TCS34903.write (0x80, (байт) 0x0B); Thread.sleep (250); // Clear/ir деректерімен 8 байт деректерді оқу LSB бірінші байт data1 = жаңа байт [8]; // Оқу Температуралық деректер байт деректер = жаңа байт [2]; күй = device.read (0x09); // Барлық түйреуіштерді OUTPUT device.write (0x00, (байт) 0x00) ретінде теңшеді; Thread.sleep (500); while (true) {MCP9808.read (0x05, деректер, 0, 2); // Деректерді түрлендіру int temp = ((деректер [0] & 0x1F) * 256 + (деректер [1] & 0xFF)); if (temp> 4096) {temp -= 8192; } қос cTemp = temp * 0.0625; System.out.printf («Цельсий бойынша температура: %.2f C %n», cTemp); TCS34903. оқу (0x94, деректер1, 0, 8); қос ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1.00; қос қызыл = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1.00; қос жасыл = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1.00; қос көк = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1.00; // Жарықтың қосарланған жарықтылығын есептеңіз = (-0.32466) * (қызыл) + (1.57837) * (жасыл) + (-0.73191) * (көк); System.out.printf (“Жарықтандыру: %.2f люкс %n“, жарықтылық); if (жарықтандыру 30) {мән = мән1 | (0x01); } басқа {мән = мән1 & (0x02); } device.write (0x09, (байт) мән); Thread.sleep (300); }}}

5 -қадам: файлды құру және кодты іске қосу

  1. Кодты жазуға/көшіруге болатын жаңа файл жасау үшін келесі пәрмен қолданылады: sudo nano FILE_NAME.javaEg. sudo нано MCP23008.java
  2. Файлды жасағаннан кейін біз осы жерге кодты енгізе аламыз.
  3. Алдыңғы қадамда берілген кодты көшіріп, оны терезеге қойыңыз.
  4. Шығу үшін Ctrl+X, содан кейін «y» пернелерін басыңыз.
  5. Содан кейін келесі пәрменді пайдаланып кодты құрастырыңыз: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Егер қателер болмаса, бағдарламаны төменде көрсетілген пәрменді қолданып іске қосыңыз: pi4j FILE_NAMEEg. pi4j MCP23008.java

6 -қадам: қосымшалар

Бұл жүйе қабырғадағы ажыратқыштарға бармай -ақ құрылғыларды басқаруға мүмкіндік береді. Бұл кең мүмкіндіктерге ие, себебі құрылғыларды қосу немесе өшіру уақыты автоматты түрде жоспарланған. Бұл модульдің көптеген қосымшалары бар: үйлерден өнеркәсіптерге, ауруханаларға, вокзалдарға және басқа да көптеген жерлерге қосылатын және қосылатын компоненттері арқылы қол жетімді және оңай автоматтандырылуы мүмкін.

7 -қадам: Ресурстар

TSL34903, MCP9808 MCP23008 реле контроллері туралы қосымша ақпарат алу үшін төмендегі сілтемелерді қараңыз:

  • TSL34903 мәліметтер парағы
  • MCP9808 мәліметтер кестесі
  • MCP23008 мәліметтер кестесі

Ұсынылған: