Оглавление:

Домашняя автоматизация с Raspberry Pi с использованием релейной платы: 7 шагов
Домашняя автоматизация с Raspberry Pi с использованием релейной платы: 7 шагов

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

Видео: Домашняя автоматизация с Raspberry Pi с использованием релейной платы: 7 шагов
Видео: Rаspberry Pi и Home Assistant. Сервер домашней автоматизации. Сделай сам свой умный дом. 2024, Ноябрь
Anonim
Домашняя автоматизация с Raspberry Pi с использованием релейной платы
Домашняя автоматизация с Raspberry Pi с использованием релейной платы

Большинство людей хотят большего комфорта, но по разумным ценам. Нам лень освещать дома каждый вечер, когда садится солнце, а на следующее утро снова выключать свет или включать / выключать кондиционер / вентилятор / обогреватели в зависимости от погоды или температуры в помещении.

Недорогое решение, позволяющее избежать лишней работы по отключению приборов, когда это необходимо. Он предназначен для автоматизации ваших домов с относительно небольшими затратами с использованием простых устройств plug and play. Он работает так, как когда температура повышается или понижается, он включает кондиционер или обогреватель соответственно. Также, при необходимости, это поможет включить или свет в вашем доме, не включая их вручную. Вы можете управлять многими другими устройствами. Автоматизируйте мир. Давайте начнем ваш дом.

Шаг 1. Требуется оборудование

Требуемое оборудование
Требуемое оборудование
Требуемое оборудование
Требуемое оборудование
Требуемое оборудование
Требуемое оборудование

Мы будем использовать:

Raspberry Pi

Raspberry Pi - это одноплатный ПК на базе Linux. Этот маленький ПК обладает отличной регистрирующей способностью, используется для упражнений по электронике и операций на ПК, таких как электронные таблицы, обработка текста, веб-серфинг, электронная почта и игры

Экран I2C или заголовок I2C

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

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

MCP23008 от Microchip - это интегрированный расширитель портов, который управляет восемью реле через шину I²C. Вы можете добавить больше реле, цифровых входов / выходов, аналого-цифровых преобразователей, датчиков и других устройств, используя встроенный порт расширения I²C

Датчик температуры MCP9808

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

Датчик яркости TCS34903

TCS34903 - это продукт семейства цветных датчиков, который обеспечивает значение RGB-составляющей света и цвета

Соединительный кабель I2C

Соединительный кабель I2C - это 4-жильный кабель, предназначенный для связи по протоколу I2C между двумя подключенными через него устройствами I2C

Адаптер Micro USB

Чтобы включить Raspberry Pi, нам понадобится кабель Micro USB

Адаптер питания 12 В для платы реле

Контроллер реле MCP23008 работает от внешнего источника питания 12 В, который может подаваться через адаптер питания 12 В

Вы можете купить товар, нажав на них. Кроме того, вы можете найти больше отличных материалов в 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 с помощью адаптера 12 В.
  7. Наконец, подключите свет к первому реле, а вентилятор или обогреватель - ко второму реле. Вы можете расширить модуль или подключить больше устройств с реле.

Шаг 3: общение с использованием протокола I2C

Чтобы включить Raspberry Pi I2C, действуйте, как указано ниже:

  1. В терминале введите следующую команду, чтобы открыть настройки конфигурации: sudo raspi-config
  2. Выберите здесь «Дополнительные параметры».
  3. Выберите «I2C» и нажмите «Да».
  4. Перезагрузите систему, чтобы настроить ее в соответствии с изменениями, внесенными с помощью команды reboot.

Шаг 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; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException; class MCP23008 {public static void main (String args ) выдает исключение {int status, value, value1 = 0x00; // Создание шины I2C I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1); // Получение устройства I2C, адрес I2C MCP23008 0x20 (32) I2CDevice device = bus.getDevice (0x20); // Получение устройства I2C, адрес I2C MCP9808 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Получение устройства I2C, адрес TCS34903 I2C 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Устанавливаем регистр времени ожидания = 0xff (255), время ожидания = 2,78 мс TCS34903.write (0x83, (byte) 0xFF); // Разрешить доступ к ИК-каналу TCS34903.write (0xC0, (byte) 0x80); // Установите регистр Atime на 0x00 (0), максимальное количество = 65535 TCS34903.write (0x81, (byte) 0x00); // Питание включено, АЦП включен, ожидание включено TCS34903.write (0x80, (byte) 0x0B); Thread.sleep (250); // Чтение 8 байтов данных с очисткой / ИК-данными LSB first byte data1 = new byte [8]; // Считываем данные о температуре byte data = new byte [2]; status = device.read (0x09); // Настроил все контакты как ВЫХОДНОЕ устройство.write (0x00, (byte) 0x00); Thread.sleep (500); while (true) {MCP9808.read (0x05, данные, 0, 2); // Преобразование данных int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); если (темп> 4096) {темп - = 8192; } double 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; двойной синий = ((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 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 Лист данных

Рекомендуемые: