Мазмуну:
- 1 -кадам: Аппараттык камсыздоо талап кылынат
- 2 -кадам: Аппараттык туташуу
- 3 -кадам: I2C протоколун колдонуу менен баарлашуу
- 4 -кадам: Модулду программалоо
- 5 -кадам: Файл түзүү жана кодду иштетүү
- 6 -кадам: Тиркемелер
- 7 -кадам: Ресурстар
Video: Реле тактасын колдонуу менен Raspberry Pi менен үйдү автоматташтыруу: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Көпчүлүк адамдар ыңгайлуулукту каалашат, бирок арзан баада. Биз күн сайын кечинде, күн батканда жана эртең менен жарыкты кайра өчүрүп, же аба ырайы же бөлмө температурасы сыяктуу эле кондиционерди/желдеткичти/жылыткычты күйгүзүү/өчүрүү үчүн үйлөрдү жарыктандыруудан жалкообуз.
Керек болгондо шаймандарды өчүрүү боюнча кошумча жумуштан качуунун арзан чечими бул жерде. Бул жөнөкөй плагин жана ойноо продуктыларын колдонуу менен үйлөрүңүздү салыштырмалуу түрдө өтө аз автоматташтыруу. Бул температура өйдө же ылдый болгондо иштейт, тиешелүүлүгүнө жараша кондиционерди же жылыткычты күйгүзөт. Ошондой эле, керек болгондо, колуңузду күйгүзбөстөн, үйүңүздүн чырактарын күйгүзүүгө жардам берет. Жана дагы көптөгөн приборлорду башкарса болот. Дүйнөнү автоматташтырыңыз. Кел, үйүңдү баштайлы.
1 -кадам: Аппараттык камсыздоо талап кылынат
Биз колдонобуз:
Raspberry Pi
Raspberry Pi - бул Linux негизиндеги жалгыз такта. Бул кичинекей компьютерде электроникалык көнүгүүлөрдүн бир бөлүгү катары колдонулган каттоочу күч, ошондой эле компьютердик таблицалар, текст иштетүү, веб -серфинг, электрондук почта жана оюндар сыяктуу операциялар бар
I2C Shield же I2C Header
INPI2 (I2C адаптери) Raspberry Pi 2/3 жана I²C портун бир нече I2C түзмөктөрү менен камсыз кылат
I2C релелик контроллери MCP23008
Microchipтен MCP23008 - бул I²C шинасы аркылуу сегиз релени башкаруучу интегралдык порт кеңейтүүчү. Сиз интегралдык I²C кеңейтүү портун колдонуп, санариптик өзгөрткүчтөргө, сенсорлорго жана башка түзүлүштөргө дагы реле, санариптик I/O, аналогду кошо аласыз
MCP9808 температура сенсору
MCP9808-бул жогорку тактыктагы температура сенсору, ал санариптик, I²C форматында калибрленген, сызыктуу сенсор сигналдарын берет
TCS34903 жарыктык сенсор
TCS34903 - жарыктын жана түстүн RGB компонентинин маанисин камсыз кылган түстүү сенсорлордун үй -бүлөлүк продукту
I2C туташтыруу кабели
I2C туташтыруучу кабели-бул 4 зымдуу кабель, ал аркылуу туташкан эки I2C түзмөгүнүн I2C байланышы үчүн арналган
Микро USB адаптер
Raspberry Pi'ди иштетүү үчүн бизге Micro USB кабели керек
Реле тактасы үчүн 12V электр адаптери
MCP23008 Реле контроллери 12В тышкы кубаттуулукта иштейт жана бул 12В кубат адаптеринин жардамы менен берилиши мүмкүн
Сиз аларды басып, продуктту сатып алсаңыз болот. Ошондой эле, сиз Dcube дүкөнүнөн дагы сонун материалдарды таба аласыз.
2 -кадам: Аппараттык туташуу
Керектүү байланыштар (сүрөттөрдү караңыз) төмөнкүчө:
- Бул I2C үстүндө иштейт. Raspberry pi үчүн I2C калканчын алыңыз жана Raspberry Piнин GPIO казыктарына акырын кошуңуз.
- I2C кабелинин бир учун TCS34903 портуна, экинчи башын I2C калканчына туташтырыңыз.
- MCP9808 сенсорунун идишине I2C кабелин колдонуу менен TCS34903кө туташтырыңыз.
- MCP23008 идишин I2C кабели аркылуу MCP9808 сенсоруна туташтырыңыз.
- Ошондой эле Ethernet кабелин Raspberry Pi менен туташтырыңыз. Wi-Fi роутери да ошол үчүн колдонулушу мүмкүн.
- Андан кийин, Raspberry Pi'ди Micro USB адаптерин жана MCP23008 Relay тактасын 12V адаптерин колдонуу менен кубаттаңыз.
- Акырында, жарыкты биринчи реле менен, желдеткич же жылыткычты экинчи реле менен туташтырыңыз. Сиз модулду кеңейте аласыз же релейлер менен көбүрөөк түзмөктөрдү туташтыра аласыз.
3 -кадам: I2C протоколун колдонуу менен баарлашуу
Raspberry Pi I2Cти иштетүү үчүн, төмөндө айтылгандай улантыңыз:
- Терминалда конфигурация орнотууларын ачуу үчүн төмөнкү буйрукту териңиз: sudo raspi-config
- Бул жерден "Өркүндөтүлгөн параметрлерди" тандаңыз.
- "I2C" тандап, "Ооба" чыкылдатыңыз.
- Кайра жүктөө буйругу менен киргизилген өзгөртүүлөргө ылайык, аны орнотуу үчүн тутумду кайра жүктөңүз.
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. I2CDevice; com.pi4j.io.i2c. I2CFactory импорттоо; java.io. IOException импорттоо; класс MCP23008 {public static void main (String args ) ыргытуу Exception {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); // Күтүү убактысынын регистрин коюңуз = 0xff (255), күтүү убактысы = 2,78 мс TCS34903.write (0x83, (байт) 0xFF); // IR каналына кирүүнү иштетүү TCS34903.write (0xC0, (байт) 0x80); // Atime регистрин 0x00 (0) деп коюңуз, максималдуу эсептөөлөр = 65535 TCS34903.write (0x81, (байт) 0x00); // Power ON, ADC иштетилген, күтүү иштетилген TCS34903.write (0x80, (байт) 0x0B); Thread.sleep (250); // Окугула 8 Байт Берилиштер менен ачык/ир маалыматтар LSB биринчи байт data1 = жаңы байт [8]; // Окуу Температура Берилиштери Байт маалыматтар = жаңы байт [2]; status = device.read (0x09); // Бардык казыктарды OUTPUT device.write катары конфигурациялады (0x00, (байт) 0x00); Thread.sleep (500); while (true) {MCP9808.read (0x05, data, 0, 2); // Convert data int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); if (temp> 4096) {temp -= 8192; } кош cTemp = temp * 0.0625; System.out.printf ("Цельсийдеги температура: %.2f C %n", cTemp); TCS34903.read (0x94, data1, 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); } else {value = value1 & (0x02); } device.write (0x09, (байт) мааниси); Thread.sleep (300); }}}
5 -кадам: Файл түзүү жана кодду иштетүү
- Кодду жазууга/көчүрүүгө боло турган жаңы файл түзүү үчүн төмөнкү буйрук колдонулат: sudo nano FILE_NAME.javaEg. sudo нано MCP23008.java
- Файлды түзгөндөн кийин, бул жерге кодду киргизе алабыз.
- Мурунку кадамда берилген кодду көчүрүп, бул жерге терезеге чаптаңыз.
- Чыгуу үчүн Ctrl+X, андан кийин "y" басыңыз.
- Андан кийин төмөнкү буйрукту колдонуп кодду түзүңүз: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- Эгерде каталар жок болсо, программаны төмөндө көрсөтүлгөн буйрукту аткарыңыз: pi4j FILE_NAMEEg. pi4j MCP23008.java
6 -кадам: Тиркемелер
Бул система дубалдын өчүргүчтөрүнө барбастан түзмөктөрдү башкарууга мүмкүндүк берет. Бул кеңири мүмкүнчүлүктөргө ээ, анткени түзмөктөрдү күйгүзүү же өчүрүү убактысы автоматтык түрдө пландаштырылган. Бул модулдун бир нече тиркемелери бар: үйлөрдөн өндүрүштөргө, ооруканаларга, темир жол станцияларына жана башка көптөгөн жерлерге, анын плагин жана ойноо компоненттери аркылуу жеткиликтүү жана оңой автоматташтырылышы мүмкүн.
7 -кадам: Ресурстар
TSL34903, MCP9808 MCP23008 релелик контроллери жөнүндө көбүрөөк маалымат алуу үчүн төмөнкү шилтемелерди текшериңиз:
- TSL34903 маалымат жадыбалы
- MCP9808 маалымат жадыбалы
- MCP23008 маалымат жадыбалы
Сунушталууда:
WI-Fi көзөмөлдөгөн 4CH реле модулу үйдү автоматташтыруу үчүн: 7 кадам (сүрөттөр менен)
Үйдү автоматташтыруу үчүн WI-Fi башкарылган 4CH релелик модулу: Мен буга чейин өчүргүчтөргө негизделген көптөгөн WI-FI колдонуп келгем. Бирок булар менин талаптарыма туура келбейт. Ошондуктан мен кадимки Wall Switch розеткаларын эч кандай өзгөртүүсүз алмаштыра турган, өзүмдүкүн кургум келди. ESP8266 чипи Wifi иштетүү
Infrared жана Bluetooth көзөмөлдөгөн реле модулу менен үйдү автоматташтыруу: 10 кадам
Infrared жана Bluetooth көзөмөлдөгөн реле модулу менен үйдү автоматташтыруу: Бул үйдү автоматташтыруу долбоорунда, биз смартфондун колдонмосунан жана IR пультунан Arduino башкаруу реле модулунун схемасын колдонуп, жарыкты, желдеткичти жана башка тиричилик техникаларын кантип башкара аларыбызды көрсөттүм. схеманын эки режими бар, Inf
BLYNK колдонмосун колдонуу менен үйдү автоматташтыруу: 7 кадам (сүрөттөр менен)
BLYNK тиркемесин колдонуу менен үйдү автоматташтыруу: Бул долбоордо мен кимдир бирөө уюлдук телефонун колдонуп, тиричилик техникасын алыстан башкара аларын көрсөттүм. Бул үчүн мобилдик телефонуңузга тиркеме орнотулушу керек, бул колдонмонун аты - BLYNK App (Жүктөө шилтемеси төмөндө берилген
Arduino жана HC-05 Bluetooth модулун колдонуу менен үйдү автоматташтыруу системасы: 5 кадам (сүрөттөр менен)
Arduino жана HC-05 Bluetooth модулдарын колдонуу менен үйдү автоматташтыруу системасы: Эй балдар, кандайсыңар! Бүгүн мен экинчи Arduino Instructable.It менен бул жердемин, бул Bluetooth башкарылган үй автоматташтыруу системасы. нерселер кемчиликсиз иштейт! Ошондой эле мен тиркемени иштеп чыктым
Raspberry Pi3 жана Android нерселерин колдонуу менен үйдү автоматташтыруу: 5 кадам (сүрөттөр менен)
Raspberry Pi3 жана Android нерселерин колдонуу менен үйдү автоматташтыруу: Идея - бул “ акылдуу ҮЙ ” мында Android Things жана Raspberry Pi аркылуу үй түзүлүштөрүн башкарууга болот. Долбоор жарык, желдеткич, мотор сыяктуу көзөмөлдөөчү үй шаймандарынан турат. Керектүү материалдар: Raspberry Pi 3HDMI Ca