2 posts tagged

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

2018   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   Умный дом