2 заметки с тегом

MQTT

Установка MQTT-сервера Mosquitto на Debian9 (stretch)

MQTT или Message Queue Telemetry Transport — это легкий, компактный и открытый протокол обмена данными созданный для передачи данных на удалённых локациях, где требуется небольшой размер кода и есть ограничения по пропускной способности канала. Вышеперечисленные достоинства позволяют применять его в системах M2M (Машинно-Машинное взаимодействие) и IIoT (Промышленный Интернет вещей).
Основные особенности протокола MQTT:

  • Асинхронный протокол
  • Компактные сообщения
  • Работа в условиях нестабильной связи на линии передачи данных
  • Поддержка нескольких уровней качества обслуживания (QoS)
  • Легкая интеграция новых устройств

Mosquitto — это популярный MQTT-сервер (или брокер). Он прост в установке и настройке и активно поддерживается сообществом.
Установка на Debian9 (stretch)
лучше установить более современную версию пакета из репозитория проекта Mosquitto. Загрузите ключ репозитория и установите его::

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key

Добавьте URL репоизтория в файл /etc/apt/sources.list.d/

nano /etc/apt/sources.list.d/mosquitto.list

В этот пустой файл вставьте такую строку:

deb http://repo.mosquitto.org/debian stretch main
apt-get update
apt-get install mosquitto mosquitto-clients

Откройте ещё одну сессию терминала, в результате у вас должно быть два терминала. Запустите в новом терминале команду mosquitto_sub, чтобы подписаться:

mosquitto_sub -h localhost -t "sensor/temperature"

Флаг —h указывает имя хоста сервера MQTT, -t — тему. После запуска команды на экране не появится вывода, поскольку команда mosquitto_sub ждет получения сообщений. Вернитесь в первый терминал и опубликуйте сообщение:

mosquitto_pub -h localhost -t "sensor/temperature" -m 21.0

Команда mosquitto_pub использует те же опции, что и mosquitto_sub, однако в этот раз используется дополнительный флаг —m (он позволяет ввести текст сообщения). Нажмите Enter, и вы увидите в другом терминале MQTT-сообщение 21.0.

Mosquitto ставим перед установкой OpenHAB

8 февраля   armbian   Mosquitto   MQTT   OrangePI PC

OpenHAB

openHAB переводится как «Open Home Automation Bus». Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.OpenHAB работает на Java.
Перед установкой openHAB ставим:

Mosquitto представляет собой маленький сервер (называется — брокер) стандарта MQTT. Его задача — постоянно держать соединение с клиентами (подписчиками) и сообщать им о всех данных, переданных другими клиентами.

Установка MQTT-сервера Mosquitto на Debian9 (stretch) .

apt-get update && apt-get upgrade -y
wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
apt-key add mosquitto-repo.gpg.key
apt-get update
apt-get install mosquitto

Java 8

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get purge openjdk* # (to remove previously installed lower versions)
apt-get install oracle-java8-installer
apt install oracle-java8-set-default

OpenHAB

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab'  | sudo apt-key add -
curl 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add -
echo "deb http://dl.bintray.com/openhab/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/openhab.list
apt-get update
apt-get install openhab-runtime
mv /etc/openhab/configurations/openhab_default.cfg /etc/openhab/configurations/openhab.cfg

В папке /usr/share/openhab/configurations/sitemaps создаем файл default.items, например


/* NTP binding item */
DateTime Date «Date [%1$tA, %1$td.%1$tm.%1$tY]» { ntp=«Europe/Moscow:ru_RU» }


В папке /usr/share/openhab/configurations/items создаем файл default.sitemap, например


sitemap demo label=«Главное меню» {

Frame label=«Date» {Text item=Date}

}


systemctl start openhab.service
systemctl status openhab.service

После перезагрузки в браузере открываем адрес http://X.X.X.X:8080/openhab.app, где X.X.X.X — IP-адрес вашей Orange PI.

Установка HABmin
HABmin — это графическое приложение, позволяющее управлять конфигурационными файлами через web-интерфейс. Для установки необходимо:

Останавливаем openhab

systemctl stop openhab.service

Загружаем архив и распаковываем в папку, где находится openhab

cd /usr/share/openhab
wget https://github.com/cdjackson/HABmin/releases/download/0.1.3-snapshot/habmin.zip
unzip habmin.zip

Запускаем openhab

systemctl start openhab.service

Открываем адрес http://X.X.X.X:8080/habmin/index.html, где X.X.X.X — IP-адрес вашей Orange PI.

Сайт openhab.org Конфигурация Configuring-the-openHAB-runtime
Про красный светодиодик Умный дом: азы управления.

2017   armbian   MQTT   OpenHAB   OrangePI PC   Умный дом