Мазмуну:

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

Video: Реле тактасын колдонуу менен Raspberry Pi менен үйдү автоматташтыруу: 7 кадам

Video: Реле тактасын колдонуу менен Raspberry Pi менен үйдү автоматташтыруу: 7 кадам
Video: Raspberry Pi Pico PLC кантип куруу керек || OpenPLC редактору 2024, Июль
Anonim
Релени тактасын колдонуу менен Raspberry Pi менен үйдү автоматташтыруу
Релени тактасын колдонуу менен Raspberry Pi менен үйдү автоматташтыруу

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

Керек болгондо шаймандарды өчүрүү боюнча кошумча жумуштан качуунун арзан чечими бул жерде. Бул жөнөкөй плагин жана ойноо продуктыларын колдонуу менен үйлөрүңүздү салыштырмалуу түрдө өтө аз автоматташтыруу. Бул температура өйдө же ылдый болгондо иштейт, тиешелүүлүгүнө жараша кондиционерди же жылыткычты күйгүзөт. Ошондой эле, керек болгондо, колуңузду күйгүзбөстөн, үйүңүздүн чырактарын күйгүзүүгө жардам берет. Жана дагы көптөгөн приборлорду башкарса болот. Дүйнөнү автоматташтырыңыз. Кел, үйүңдү баштайлы.

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 -кадам: Аппараттык туташуу

Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу

Керектүү байланыштар (сүрөттөрдү караңыз) төмөнкүчө:

  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 Relay тактасын 12V адаптерин колдонуу менен кубаттаңыз.
  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. 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 -кадам: Файл түзүү жана кодду иштетүү

  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 маалымат жадыбалы

Сунушталууда: