Перейти к публикации
iT4iT.CLUB
post125

Broker MQTT на Mikrotik

Рекомендованные сообщения

Добрый день!

ESP заработало без сбоев, спасибо! Дома стоит роутер Mikrotic 2011UiAS-2HnD RouterOS v6.43.8. В раздумье: перепрошить его на OpenWRT и добавить брокер MQTT, либо взять какой-нибудь роутер OpenWRT подешевле и добавить брокер MQTT, либо сделать брокер на малине, либо еще как-то? Подскажите, пожалуйста, менее "каменистый" путь. Хочу сохранять данные локально на диск, чтобы не зависить от внешнего интернета. Заранее благодарен за ответ!

Изменено пользователем post125

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@post125 Менее каменистый путь это брокер на Малине или любой аналогичный вариант. Ставите Ubuntu и одной командой устанавливаете MQTT сервер. В таком случает получаете полноценную систему с возможностью наращивать функционал, в том числе и запись данных куда угодно, хоть в СУБД. Заодно можно систему визуализации добавить, да и вообще, что угодно. А маршрутизатор, как не крути, это чисто транспортный узел со всеми вытекающими ограничениями по железу, а следовательно, и по программной части. Думаю, что вариант с OpenWRT + MQTT больше подойдет для удаленных систем, например, гаража.

  • Thanks 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо! Попробую на малину поставить убунту. их на сайте малины аж 3 штуки: mate, core и  server. на чем остановится? Вам не попадался ли какой-либо толковый ресурс на тему убунты с mqtt , sql и веб серверами; хочется локально много графиков строить и не зависить от народного монитора с их ограничениями. Топчусь на одном месте. Информации значительно меньше, чем по ардуино и esp, да и та разрозненная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
07.05.2019 в 19:59, post125 сказал:

их на сайте малины аж 3 штуки: mate, core и  server. на чем остановится?

Если Вам нужен графический интерфейс, то ставьте Raspbian, но если интерфейс нужен для установки софта или Вы будите пользоваться им очень редко, то ставьте Ubuntu Server.

07.05.2019 в 19:59, post125 сказал:

Вам не попадался ли какой-либо толковый ресурс на тему убунты с mqtt , sql и веб серверами

Для установки операционной системы действуйте по мануалу на официальном сайте Малины. Вам понадобится монитор и другая периферия на этом этапе.  В процессе первого запуска, скорее всего у Вас спросят какой пароль задать пользователю root, обязательно запомните этот пароль. Возможно на каких-то этапах установки Вам будут предлагать доставить софт или произвести начальную конфигурацию, если не знаете, что от Вас хотят или сомневаетесь, то оставляйте все по умолчанию.

После того как все будет готово, Вас должно выбросить в интерфейс операционной системы. Я пойду по более сложному пути и буду думать, что графической оболочки у Вас нет, а, следовательно, Вас встретит черный экран с предложением ввести логин и пароль. Для Raspbian по умолчанию используется логин "pi" пароль "raspbery", для Ubuntu Server логин и пароль "ubuntu", возможно первая буква заглавная.

Нам необходимо выяснить какой ip адрес был присвоен малине в домашней сети (если Вы не задали его руками при установке системы). Сделать это можно следующей командой.

ifconfig

Если в выводе слишком много информации и Вы теряетесь, то можно убрать лишнее и оставить только данные по локальной сети. Для этого ведите следующую команду в которой укажите первые два октета Вашей сети. Скорее всего это 192.168

ifconfig | grep 192.168

Теперь Вы должны явно видеть выделенный малине ip адрес, мы будем использовать его для подключения с других устройств.

Но если Вы используете DHCP, то данный ip рано или поздно изменится. Самым лучшим вариантом будет зайти в панель управления домашнего маршрутизатора и в настройках DHCP сервера закрепить за малиной данный адрес. Можно указать статический ip в самой малине, но тогда можно поиметь горя в будущем, в общем, сетью должен управлять Ваш маршрутизатор, а не рядовые хосты.

Теперь мы можем подключиться к будущему серверу с домашнего компьютера. Подключаемся по SSH с помощью любого удобного клиента, например Putty. https://www.raspberrypi.org/documentation/remote-access/ssh/windows.md

Авторизуемся под встроенным пользователем о котором упоминалось ранее и под которым Вы уже заходили на предыдущем этапе.

Повышаем себе привилегии до root

sudo su

Обновляем информацию об актуальных пакетах

apt update

Обновляем имеющиеся в системе пакеты

apt upgrade

Устанавливаем MQTT брокер

apt install mosquitto

Брокер должен начать работать сразу после установки на начальной конфигурации, для домашнего сервера это вполне достаточно. Проверить статус брокера можно так:

/etc/init.d/mosquitto status

Теперь пора поднять web сервер, для дома прекрасно подойдет Apache, а заодно сразу поставим PHP и модуль позволяющий добавить в Apache поддержку .php скриптов.

apt install apache2 php libapache2-mod-php

Перезапустим web сервер

/etc/init.d/apache2 restart

Для установки MySQL сервера выполните следующую команду

apt install mysql-server

Во время установки СУБД Вас попросят задать пароль для основного пользователя root, этот пользователь не связан с ОС (просто одинаковые имена) и пароль распространяется только на MySQL. Для удобства можно указать тот же пароль, что используется системным пользователем root, это противоречит политике безопасности, но для теста малины вполне сойдет.

Также я очень советую доставить Midnight Commander дабы чувствовать себя человеком при навигации по каталогам системы

apt install mc

Главное помните, что Midnight Commander обладает правами того пользователя, из-под которого запущен. В связи с этим, если вы захотите редактировать файлы конфигурации или выполнять иные задачи требующие права пользователя root, то всегда запускайте mc через sudo.

sudo mc

Вас попросят ввести пароль пользователя root и mc запустится от его имени.

Для теста можно перейти в домашний каталог web сервера и создать там тестовый php скрипт. Все это сделать можно через Midnight Commander или выполнив следуюoe. командe

echo "<?PHP phpinfo();" > /var/www/html/test.php

Теперь перейдите в браузере на страницу http://server_ip/test.php чтобы убедиться в работоспособности.

Кажется, на этом все, возможно я что-то пропустил, но это уже мелочи. Если будет нужно, то могу в свободно время снять видео как все это развернуть, вроде где-то валялась Raspbery PI 2. В общем пишите если будут вопросы.

07.05.2019 в 19:59, post125 сказал:

хочется локально много графиков строить и не зависить от народного монитора с их ограничениями.

Если не определитесь какую систему сбора и анализа данных использовать, то можете посмотреть в сторону Zabbix. Тут на форуме есть тема, в которой описано как подружить MQTT и Zabbix. Но в любом случае, для начала посмотрите на другие системы, все-таки Zabbix это серверное решение и очень плотно работает с MySQL, что не очень хорошо для флешки которая используется малиной.

Также можно использовать какой ни-ть HDD или SSD формата 2.5 дюйма место SD карты, но это уже отдельная история.

  • Thanks 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо! Привез безвентиляторный целерон с HDD от старой метеостанции орегон. Остановлюсь на этом варианте . Осваиваю протокол mqtt. совсем темный лес в сравнении с ардуино...Пока еще не понял, что в данном случае лучше windows7 или ununtu.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
16.05.2019 в 19:36, post125 сказал:

Пока еще не понял, что в данном случае лучше windows7 или ununtu.

Это уже зависит от Ваших возможностей по обслуживанию и развитию системы. Операционная система только фундамент, все остальное ставится поверх, будь то готовый софт или Ваши собственные скрипты и программы. В данном случае мне удобнее было бы работать с Ubuntu, но Вам, возможно, проще будет с Windows или с чем-то еще.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пожалуйста, войдите для комментирования

Вы сможете оставить комментарий после входа



Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...