Моніторінг температури у будинку

Вартість енергоносіїв вимагає бути від сучасних будинків енергоефективними. Одного дня було вирішено перевірити наскільки температура всередині будинку залежить від температури на вулиці коли вдома немає опалення. Щоб ще зробити треба просто розташувати кілька вимірювачів температури, зібрати показники та намалювати графік. Read More

Керування кондиціонером за допомогою OpenHAB

Керування кондиціонером за допомогою системи автоматизації будинку може бути корисним, але більшість дешевих домашніх кондиціонерів не мають інтерфейсів для керування. Вони можуть керуватись тільки за допомогою інфрачервоного пульта керування. Гарна новина у тому, що зробити  пристрій котрий буде відправляти на кондиціонер таки самі команди як пульт не складно. В інтернеті можна знайти кілька готових бібліотек, мені більш сподобалась arduino-heatpumpir. Вона підтримує arduino, ESP8266 та з моєю допомогою – ESP32.

arduino-heatpumpir це бібліотека, яка дозволяє керувати кондиціонерами з якогось коду, це не готове рішення. Для керування я бажаю використовувати OpenHAB  за допомогою MQTT. У якості апаратного забезпечення я буду використовувати ESP32 модуль з підтримкою Ethernet. Програмне забезпечення модуля – ESPHome. У результаті треба створити таке рішення:

Read More

Ethernet модуль розумного будинку

Основним компонентом розумного будинку є пристрої які збирають якісь дані та відправляють до центрального модуля чи виконують команди центрального модуля. Зв’язок з центральним модулем може бути як дротовий так й бездротовий. Мої експеріменти:

MODBUS – центральний модуль повинен послідовно опитувати усі пристрої. Для збору даних з лічильника електроенергії гарний вибір (особливо якщо лічильник не має інших інтерфейсів), для збору інформації про стан вимикача освітлення та керування освітленням – на мій погляд поганий вибір. Мій тестовий стенд мав лічильник електроенергії, 1 вимикач та одне реле. Між вмиканням світла та спрацьовуванням реле проходив досить великий інтервал часу (у порівняні з роботою звичайного некерованого вимикача, іноді це займало десь пів секунди чи більше)

MQTT via WiFi – у якості пристроїв я використовував ESP8266 з прошивкою від Letscontrolit.  У цілому усе працювало, але іноді WiFi зв’язок пропадав, що приводило до затримок у передаванні команд (заходиш на кухню, а світло не вмикається). Та й потенційно ці система може бути виведена з ладу при наявності завад у радіоканалі.

Read More

Встановлення та отримання стану виходу/входу за допомогою MQTT шини

Коли ви маєте вимикач та лампу, нічого вам не заважає контролювати напряму стан цієї лампи за допомогою вимикача, але ми не шукаємо простих рішень.

Маємо:

  • вимикач
  • лампа
  • openhab

Бажаємо: підключити лампу та вимикач до openhab, вимикати та вмикати лампу за допомогою цього вимикача.

Апаратне забезпечення: беремо raspberry pi (можна зробити на ESP8266 але є бажання не мати WiFi там, де його можна не мати), на вході зробимо просту схему для захисту (ну якщо вимикач буде далеко, а неподалік буде блискавка), на виході MOC3063 (навіть без додаткового сімістора вона позволяє керувати сучасними лампами).

Виходить щось таке:

 

 

 

 

 

Програмне забезпечення: spring-boot java додаток. Додаток можна знайти тут.

Openhab конфігурація:  повинна мати такий запис у секції items:

Switch PI1_SW_1 { mqtt=">[broker:/java-switch/gpio/out/GPIO 2:state:OFF:LOW],>[broker:/java-switch/gpio/out/GPIO 2:state:ON:HIGH],<[broker:/java-switch/gpio/in/GPIO 0:state:MAP(HILO.map)]" }

Як наслідок, воно працює. Затримка між командою зі станом та між та командою на зміну стану є приблизно 50 мс.

Як додаток можна подивитись (та змінити) поточний стан за допомогою веб інтерфейсу:

 

Таймер для аквариума

Простой таймер для аквариума для включения/выключения освещения и с возможностью индикации температуры

Может
– включение/выключение света в заданное время;
– индикация температуры (в качестве датчика используется DS18B20);
– после изготовления кормушки, автоматическое кормление;

схема здесь

весь проект с исходниками и прошивкой, платой в формате sprint-layout

Простой и удобный програматор можно взять здесь