Установка 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-машине.
Теперь немного пошаманим, чтобы прописать путь к 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 работать в качестве сервиса, который будет автоматически стартовать при каждом запуске компьютера.
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 enable openhab2.service
Если все прошло нормально, то у видим следующую картину:
Вот теперь все готово.
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-reloadsudo systemctl enable openhab2.service
Запускаем его:
sudo systemctl start openhab2.serviceПроверяем статус:
sudo systemctl status openhab2.serviceЕсли все прошло нормально, то у видим следующую картину:

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