Съдържание:

Домашна автоматизация с Raspberry Pi с помощта на релейна платка: 7 стъпки
Домашна автоматизация с Raspberry Pi с помощта на релейна платка: 7 стъпки

Видео: Домашна автоматизация с Raspberry Pi с помощта на релейна платка: 7 стъпки

Видео: Домашна автоматизация с Raspberry Pi с помощта на релейна платка: 7 стъпки
Видео: Sonoff CC2652P стик - обновление прошивки 20211217 без перепривязки, тонкости настройки zigbee2mqtt 2024, Юли
Anonim
Домашна автоматизация с Raspberry Pi с помощта на релейна платка
Домашна автоматизация с Raspberry Pi с помощта на релейна платка

Голям брой хора искат голям комфорт, но на разумни цени. Чувстваме се мързеливи да осветяваме къщите всяка вечер, когато слънцето залезе и на следващата сутрин, отново да изключим осветлението Или да включим/изключим климатика/вентилатора/нагревателите, както времето или стайната температура.

Тук е евтино решение за избягване на тази допълнителна работа по изключване на уредите, когато е необходимо. Това е да автоматизирате къщите си при сравнително много по -ниски разходи, като използвате прости plug -and -play продукти. Работи така, че когато температурата се повиши или понижи, включва съответно климатика или нагревателя. Също така, когато е необходимо, ще ви помогне да включите или осветлението на вашия дом, без да ги включвате ръчно. И много други уреди могат да бъдат контролирани. Автоматизирайте света. Нека започнем вашия дом.

Стъпка 1: Изисква се хардуер

Изисква се хардуер
Изисква се хардуер
Изисква се хардуер
Изисква се хардуер
Изисква се хардуер
Изисква се хардуер

Ще използваме:

Малина Пи

Raspberry Pi е единичен компютър, базиран на Linux. Този малък компютър носи удар в регистрирането на мощност, използван като част от електронни упражнения и компютърни операции като електронни таблици, текстообработка, уеб сърфиране и имейл и игри

I2C щит или I2C заглавка

INPI2 (I2C адаптер) осигурява Raspberry Pi 2/3 an I²C порт за използване с множество I2C устройства

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

MCP23008 от Microchip е интегриран порт разширител, който управлява осем релета чрез I²C шината. Можете да добавите още релета, цифрови I/O, аналогови към цифрови преобразуватели, сензори и други устройства, като използвате вградения I²C разширителен порт

MCP9808 Температурен сензор

MCP9808 е високоточен температурен сензор, който осигурява калибрирани, линеаризирани сензорни сигнали в цифров, I²C формат

TCS34903 сензор за яркост

TCS34903 е продукт от семейство цветни сензори, който осигурява стойността на RGB компонента на светлината и цвета

I2C свързващ кабел

Свързващият кабел I2C е 4-жичен кабел, предназначен за I2C комуникация между две I2C устройства, свързани чрез него

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

За да включим Raspberry Pi, се нуждаем от Micro USB кабел

12V захранващ адаптер за релейна платка

Релейният контролер MCP23008 работи на 12V външно захранване и това може да бъде доставено чрез 12V захранващ адаптер

Можете да закупите продукта, като кликнете върху тях. Също така, можете да намерите още страхотни материали в Dcube Store.

Стъпка 2: Хардуерно свързване

Хардуерно свързване
Хардуерно свързване
Хардуерно свързване
Хардуерно свързване
Хардуерно свързване
Хардуерно свързване
Хардуерно свързване
Хардуерно свързване

Необходимите връзки (вижте снимките) са както следва:

  1. Това ще работи над I2C. Вземете I2C щит за Raspberry pi и го свържете внимателно към GPIO щифтовете на Raspberry Pi.
  2. Свържете единия край на I2C кабела към входа на TCS34903, а другия край към I2C щита.
  3. Свържете входа на сензора MCP9808 към изхода на TCS34903 с помощта на I2C кабел.
  4. Свържете входящия поток на MCP23008 към изхода на сензора MCP9808 с помощта на I2C кабел.
  5. Също така свържете Ethernet кабела към Raspberry Pi. Wi-Fi рутерът също може да се използва за същото.
  6. След това захранвайте Raspberry Pi с помощта на Micro USB адаптер и релейна платка MCP23008 с помощта на 12V адаптер.
  7. Накрая свържете лампата с първо реле и вентилатор или нагревател с второ реле. Можете да разширите модула или да свържете повече устройства с релета.

Стъпка 3: Комуникация чрез I2C протокол

За да активирате Raspberry Pi I2C, продължете както е споменато по -долу:

  1. В терминала въведете следната команда, за да отворите конфигурационните настройки: sudo raspi-config
  2. Изберете „Разширени опции“тук.
  3. Изберете „I2C“и щракнете върху „Да“.
  4. Рестартирайте системата, за да я настроите според промените, направени с помощта на командата рестартиране.

Стъпка 4: Програмиране на модула

Наградата за използването на Raspberry Pi е, че ви предоставя гъвкавостта да изберете език за програмиране, на който искате да програмирате, за да взаимодействате с сензорното устройство с Raspberry Pi. Използвайки това предимство на Raspberry Pi, ние демонстрираме тук неговото програмиране в Java.

За да настроите Java средата, инсталирайте „pi4j libraby“от https://pi4j.com/1.2/index.html Pi4j е библиотека за въвеждане/извеждане на Java за Raspberry Pi. Лесен и най -предпочитан метод за инсталиране на „pi4j библиотека”е за изпълнение на споменатата команда директно във вашия 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 устройство = 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 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); // Прочетете 8 байта данни с чисти/ir данни LSB първи байт data1 = нов байт [8]; // Четене на данни за температурата байт данни = нов байт [2]; status = 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.read (0x94, data1, 0, 8); двойно ir = ((данни1 [1] & 0xFF) * 256) + (данни1 [0] & 0xFF) * 1,00; двойно червено = ((данни1 [3] & 0xFF) * 256) + (данни1 [2] & 0xFF) * 1,00; двойно зелено = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1,00; двойно синьо = ((данни1 [7] & 0xFF) * 256) + (данни1 [6] & 0xFF) * 1,00; // Изчисляване на двойната осветеност на осветеността = (-0.32466) * (червено) + (1.57837) * (зелено) + (-0.73191) * (синьо); System.out.printf („Осветеността е: %.2f lux %n“, осветеност); if (осветеност 30) {стойност = стойност1 | (0x01); } else {стойност = стойност1 & (0x02); } device.write (0x09, (байтова) стойност); Thread.sleep (300); }}}

Стъпка 5: Създаване на файл и стартиране на кода

  1. За да създадете нов файл, където кодът може да бъде записан/копиран, ще се използва следната команда: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. След като създадем файла, можем да въведем кода тук.
  3. Копирайте кода, даден в предишната стъпка, и го поставете в прозореца тук.
  4. Натиснете Ctrl+X и след това „y“, за да излезете.
  5. След това компилирайте кода, като използвате следната команда: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Ако няма грешки, стартирайте програмата с помощта на споменатата по -долу команда: pi4j FILE_NAMEEg. pi4j MCP23008.java

Стъпка 6: Приложения

Тази система ви позволява да управлявате устройствата, без да отивате до превключвателите на стената. Това има широки възможности, тъй като времето за включване или изключване на устройствата се планира автоматично. Има няколко приложения на този модул от къщи до индустрии, болници, жп гари и много други места могат да бъдат автоматизирани по достъпен и лесен начин чрез неговите plug-and-play компоненти.

Стъпка 7: Ресурси

За повече информация относно TSL34903, MCP9808 MCP23008 релеен контролер, разгледайте връзките по -долу:

  • Информационен лист за TSL34903
  • Информационен лист за MCP9808
  • Информационен лист за MCP23008

Препоръчано: