OpenHAB – моніторінг напруги у мережі

Вимоги

  • Openhab на ubuntu
  • Back-UPS XS 1100CI (можна використовувати будь-який інший, але в мене саме такий)

Підготовка

Встановлення Apcupsd

Інструкцію можна знайти наприклад за цим посиланням.

Як результат ми повинні мати змогу запустити команду apcaccess, результат виводу котрої ми й будемо використовувати

 

Підготовка OpenHAB

Відкриємо панель конфігурування OpenHAB та встановимо

RegEx Transformation

Конфігурування OpenHAB

things

Створимо файл /etc/openhab2/things/system.things

items

Створимо файл /etc/openhab2/items/system.items

Item SYSTEM_APC_VOLTAGE_DOUBLE треба через те, що exec повертає строку, а нам треба число. Створимо правило для перетворення строки до числа

rules

Створимо файл /etc/openhab2/rules/system.rules

persist

Створимо конфігурацію для зберігання напруги до бази даних. Додамо строку

у файл /etc/openhab2/persistence/jdbc.persist

sitemap

Створимо графік для відображення історічних даних

Додамо строку

у файл /etc/openhab2/sitemaps/house.sitemap

Як результат маємо такий графік:

 

 

 

Розумна хатинка – OpenHAB, зберігання історії

У цієї статті мова піде про те, як зберігати історичні дані та потім строїти графіки. Це дає змогу потім ці дані аналізувати. Наприклад кондиціонер, обігрівач, нагрівач води витрачає більше електроенергії коли увімкнений постійно чи тільки коли треба. Та інше.

Для зберігання даних будемо використовувати базу даних H2.

Встановлення бази даних

Завантажимо архів та розпакуємо у теку наприклад /opt/h2v3

Створимо теку для бази даних: /opt/h2/db

Для запуску створемо скріпт  /opt/h2v3/bin/start.sh

Для запуску бази діних під час старту системи створимо файл /etc/systemd/system/h2.service

Увімкнемо цей сервіс під час старту системи за допомогою команди

Конфігурування OpenHAB для зберігання даних

Встановимо JDBC Persistence H2 addon

 

Додаємо шлях до бази даних у файл /etc/openhab2/services.jdbc.cfg

Створимо конфігурацію для зберігання усіх значеннью Для цього створимо файл /etc/openhab2/persistence/jdbc.persist:

Все. OpenHAB повинен створити усі таблиці та почати записувати данні:

 

Оновимо конфігурацію сайту (додамо графік):

У результаті отримаємо таку сторінку

 

 

 

 

Розумна хатинка – OpenHAB

Виникла в мене ідея автоматизувати квартиру. В інтернеті є безліч готових варіантівю Дуже гарний перелік ви можете знайти за цим посиланням.

У тестовому варіанті ми зробимо вмикання вимикання світлодіода, та отримання рівня температури та вологості. У якості ядра розумної хатинки будемо використовувати OpenHAB, протокол обміну – ModBus. Повна схема буде виглядати так:

 

Для повторення всього, про що піде мова далі вам необхідно мати:

Програмне забезпечення

  • AtmelStudio, WinAVR чи щось інше, що надає можливість компілювати с код для мікроконтролерів Atmel (я використовував WinAVR-20100110)
  • OpenHAB

Апаратне забезпечення

  • Будь-що з підтримкою java
  • USB to RS2485 converter
  • AVR програматор
  • AT90S8515 (ви можете використовувати будь який інший, в мене просто є купа таких)
  • кілька резисторів 4К7
  • кнопка
  • світлодіод
  • монтажна плата
  1. Встановлення та конфігурація OpenHAB

Для встановлення OpenHAB його треба скачати та розпакувати. На цьому інсталяція завершена та можна починати його конфігурувати.

Конфігурування розширення Modbus

Для цього треба створити файл conf/services/modbus.cfg

У моєму випадку AVR було підключено до порта COM3

Створюємо items.

Для цього треба створити файл  conf/items/modbus.items

Створюємо sitemap

Після цього треба сконфігорувати Classic-UI

Створюємо правило щоб обробляти команди від кнопки

 

2. Створюємо апаратну частину.

Принципова схема

Повинно вийти щось таке:

 

3. Компілюємо програму

Для компілювання вам буде потрібна бібліотека ModBus.

Після компіляції прошиваємо мікроконтролер, та запускаємо усе. Повинно вийти щось таке:

Якщо щось не працює вам може допомогти

QModBus – додаток для тестування роботи шини. Дозволяє надсилати команди пристроям та дивитись відповіді.

Після міграції всього на Raspberry Pi можна отримати таку конфігурацію:

2 пристроя на шині ModBus, OpenHAB на Rasbrerry Pi.

Один має датчик температури та вологості, лампу та кнопку. Інший має тільки кнопку та лампу.