Установка OpenHAB2 на Orange PI Ubuntu Xenial 16.04

Как устанавливать систему систем для управления умным домом OpenHAB 2.x на Windows я уже рассказывал. Устойчивость Windows лично у меня вызывает сомнения, а особенно бесит еe неуемная жажда обновляться в самый неподходящий момент. Я живо себе представил, как кондиционер замораживает все домашние растения, пока мистер виндоуз неторопливо обновляется и перезагружается, и решил, что такой "умный дом" не для меня. Мой рассказ будет об инсталляции на Unix. На моей Апельсинке установлен Ubuntu Xenial 16.04, и хотя я не очень им доволен, но все же система стабильно работает, и я не вижу причин переходить на другие системы типа OpenHabian или Armbian.

Для начала произведем необходимые регламентные работы – обновим пакеты:  

sudo apt-get update
sudo apt-get upgrade

Теперь необходимо поставить Java.

Речь идет о 8-й версии, на данный момент есть уже 9ая, но она еще не является стабильной, да и OpenHAB рекомендует восьмую. Можно поставить Zulu Embedded Java или Oracle Java. Оба варианта одобрены разработчиками OpenHAB, я ставил оба и оставил себе Zulu (т.к. пробовал его последним и если честно, то было влом сносить и опять ставить Oracle), но мы выберем более распространенный – Oracle.

Сначала нужно добавить репозитории Оракла:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Теперь вводим команду

sudo apt-get install oracle-java8-installer

И вуаля, Java 8 установлена.
Теперь немного пошаманим, чтобы прописать путь к java-машине. 

1. Узнаём, куда по умолчанию поставилась Java

sudo update-alternatives --config java

В моем случае это:

There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/zulu-embedded-8-armhf/bin/java 

2. Копируем путь /usr/lib/jvm/zulu-embedded-8-armhf/bin/java в буфер

3. В любом текстовом редакторе (например, nano) открываем файл /etc/environment:

sudo nano /etc/environment

4. Дописываем в конец JAVA_HOME="путь из буфера":

JAVA_HOME="/usr/lib/jvm/zulu-embedded-8-armhf/bin/java"

Обратите внимание: у вас в буфере будут другие данные, не копируйте слепо мой путь, нужно использовать ваш!

Записываем файл Ctrl+o и выходим Ctrl+x 

5. Теперь обновим среду: 

source /etc/environment 

6. Ну и напоследок проверяем, все ли мы правильно сделали: 

echo $JAVA_HOME 

Команда должна выдать путь, который мы уже видели в пункте 1. 

Переходим к непосредственной инсталляции OpenHAB2. 

У меня OpenHAB не установился автоматически, поэтому я расскажу об установке вручную. Поехали: 

Добавляем пользователя openhab: 

sudo adduser --system --no-create-home --group --disabled-login openhab 

Смотрим тут https://bintray.com/openhab/mvn/openhab-distro какая версия последняя, запоминаем ссылку на нее. 

Качаем файлы: 

cd /tmp wget -O openhab-download.zip сюда_вставляем_ссылку_на_последнюю_версию

Разархивируем: 

sudo unzip openhab-download.zip -d /opt/openhab2 

Удаляем ненужный уже архив: 

rm openhab-download.zip 

Меняем хозяина директории на пользователя openhab: 

sudo chown -hR openhab:openhab /opt/openhab2 

Запускаем первый раз: 

sudo su -s /bin/bash -c '/opt/openhab2/start.sh' openhab 

Запуск займет несколько минут. После этого заходим в браузере по адресу http://localhost:8080 и наблюдаем уже знакомую нам отсюда картинку: 

Думаете, это все? А вот и нет. Теперь нужно заставить OpenHAB работать в качестве сервиса, который будет автоматически стартовать при каждом запуске компьютера.

Cоздаем файл /lib/systemd/system/openhab2.service:

sudo nano /lib/systemd/system/openhab2.service

Вписываем туда

[Unit]
Description=The openHAB 2 Home Automation Bus Solution
Documentation=http://docs.openhab.org
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=openhab
Group=openhab
GuessMainPID=yes
WorkingDirectory=/opt/openhab2
#EnvironmentFile=/etc/default/openhab2
ExecStart=/opt/openhab2/start.sh server
ExecStop=/bin/kill -SIGINT $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

И сохраняем Ctrl+x.

Инициализируем новый демон:

sudo systemctl daemon-reload 
sudo systemctl enable openhab2.service

Запускаем его:

sudo systemctl start openhab2.service

Проверяем статус:

sudo systemctl status openhab2.service

Если все прошло нормально, то у видим следующую картину:
Вот теперь все готово.

Комментариев нет:

Технологии Blogger.