Сервер роутера zyxel keenetic

Поднимаем личный MQTT сервер на роутере Keenetic

Добрый день, уважаемый читатель! В этой статье я расскажу, как создать личный и бесплатный MQTT-брокер (сервер) на домашнем роутере, без необходимости покупки «малинки» или иного оборудования. Я пользуюсь роутерами Keenetic, поэтому статья посвящена им. Но, возможно, подобный «фокус» можно провернуть и на роутерах других производителей.

Зачем это нужно?

Думаю, никто не будет спорить, что MQTT -это самый простой и удобный протокол для удаленного контроля и управления умными устройствами. Под него написаны масса готовых прошивок, в сети имеется множество примеров под arduino. Для смартфонов имеется множество готовых приложений — выбирай на вкус и цвет.

Для удаленного управления устройствами со смартфона очень удобно использовать публичные (их иногда ещё называют «облачные») MQTT-серверы (брокеры) . Ранее я уже публиковал список публичных серверов MQTT:

Облачный брокер избавляет от необходимости иметь «белый» IP-адрес (или использовать какой-либо динамический DNS) и «пробрасывать» порты на роутере, Он как бы является посредником между вашим устройством внутри локальной сети и вашим смартфоном в глобальном интернете.

Но использование только публичных MQTT-брокеров не всегда удобно, например когда требуется обмен информацией между разными микроконтроллерами в пределах одной локации. Например: у меня на даче сведения о уличной температуре и влажности собирает гаражная метеостанция (датчики которой расположены в тени и защищены от прямых лучей и осадков). Но использует эти данные не только метеостанция, но и множество других устройств – управление вентиляцией, отоплением, вентиляцией погреба, умной теплицей и т.д. Конечно, можно натекать на каждое устройство свои автономные “уличные” датчики, но это лишние датчики, провода, выводы; да и датчик далеко не всегда можно разместить так, чтобы он давал правильные показания. А через MQTT брокер это сделать не сложно – нужно только подписаться на любом устройстве на данные метеостанции и всё, получай данные.

Проблемы начинаются, когда пропадает доступ к сети интернет, и это бывает к сожалению, не редко. В таком случае устройства уже не могут обмениваться информацией между собой и вся схема «рушится». Если с погодными данными можно как-то смирится, то данные о срабатывании охранных и аварийных сенсоров должны распространяться между устройствами практически мгновенно. Очевидное решение описанной проблемы – использовать локальный брокер.

Читайте также:  Режим работы вай фай роутера

Вторая причина, по которой стоит установить свой личный брокер – временные задержки при обмене информацией между устройствами.

И третья не очень очевидная выгода от использования локального брокера – возможность избавиться от необходимости создания защищенного (TLS) соединения между устройствами и сервером, ведь эти подключения будут происходить только за NAT-ом.

Недостаток тоже имеется – “просто так” подключиться со смартфона к локальному брокеру вне локальной сети не получится, но эту проблему можно легко решить с помощью моста с локального брокера на внешний.

Варианты создания локального MQTT-брокера

1. На базе Raspberry Pi. Самый очевидный вариант. Можно довольно просто развернуть на “малинке” образ какого-нибудь linux-а, установить mosquitto или его аналог и пользоваться в свое удовольствие. Мощности малинки хватит с запасом. Как вариант можно развернуть на ней полноценную систему “умного дома” типа Home Assistant (или любую другую, вариантов много), тогда Вы автоматически получаете связанный с умным домом MQTT-брокер, и “велосипед изобретать” не потребуется. Но мне “умный дом” не приглянулся вовсе, я предпочитаю создавать маленькие автономные устройства, решающие четко ограниченные задачи; а объединять их все только на уровне панели управления MQTT. Кроме того, в этом варианте меня напрягла необходимость покупать и постоянно кормить электричеством (хоть и относительно немного) отдельное устройство.

2. На базе ESP8266. Существует проект esp_mqtt , который позволяет создать на базе ESP8266 маленький MQTT-брокер. Достоинства: маленький размер и малое энергопотребление. Правда и ограничений в этом случае довольно много – в частности по количеству клиентов и хранимых сообщений. Но можно наплодить из ESP целую кучку таких брокеров и создать разветвленную сеть. Я рассматривал это как “запасной вариант”.

2. На базе домашнего роутера. Но зачем покупать лишнее устройство, если можно поставить MQTT брокер на домашний роутер, ведь роутер всё равно нужен дома и к тому же работает круглые сутки. Существуют прошивки для многих роутеров на базе OpenWRT, куда можно поставить что угодно. Правда мне не хотелось перепрошивать свой роутер кастомной прошивкой, ведь в случае какой-либо ошибки можно превратить роутер в кирпичик с лампочками. Да и, судя по отзывам, OpenWRT не всегда так удобна, как родная прошивка роутера. Но сейчас на Keenetic-и добавили поддержку “ Менеджера пакетов OPKG “, и теперь не требуется перепрошивать роутер, чтобы получить возможность устанавливать на него дополнительные пакеты. OPKG — это свободно распространяющийся менеджер пакетов для встраиваемых систем . Вот этой возможностью мы и воспользуемся.

Читайте также:  Роутер asus интернет через телефон

Что потребуется

1. Роутер Keenetic с поддержкой OPKG. Насколько я понял из официальной инструкции , это могут быть следующие модели: Keenetic Omni (KN-1410), Keenetic Extra (KN-1710/1711), Keenetic Giga (KN-1010), Keenetic Ultra (KN-1810), Keenetic Viva (KN-1910), Keenetic Giant (KN-2610), Zyxel Keenetic II / III, Zyxel Keenetic Extra, Zyxel Keenetic Extra II, Zyxel Keenetic Giga II / III, Zyxel Keenetic Omni, Zyxel Keenetic Omni II, Zyxel Keenetic Viva, Zyxel Keenetic Ultra, Zyxel Keenetic Ultra II, а также Keenetic DSL (KN-2010), Duo (KN-2110) и Zyxel Keenetic DSL, LTE, VOX.
Следует иметь в виду, что младшие модели с небольшим объемом RAM и слабым процессором могут просто не потянуть дополнительную нагрузку в виде mosquitto, особенно если роутер уже нагружен большим объемом передаваемого трафика. У меня уже имелся достаточно мощный Keenetic Giga с двухядерным процессором и 256MB RAM. Старый Keenetic 4G не тянул не только OPKG, но даже и кастомную OpenWRT. Поэтому, когда пришло время менять роутер на даче, я даже не задумывался, какую модель выбрать – купил точно такую же Giga. Да, это достаточно дорогой выбор, но “любишь кататься, люби и бензин покупать”… Поэтому процесс установки будет описан именно для нее. Думаю, что для других моделей Keenetic процесс установки практически не будет отличаться от описанного.
PS: Я вполне допускаю, что роутеры других производителей ещё круче и лучше, и так же допускают установку пакетов OpenWRT “из коробки” – но эта статья не про них.

2. USB-накопитель с разделом ext4. Вначале я купил себе крохотную флешку на 32Gb, дабы не сильно торчала из корпуса роутера. Флешка проработала примерно года два и начала сбоить. Поэтому сейчас я купил USB-box для внешних дисков, самый дешевый SSD-диск и организовал полноценное хранилище, в том числе и для SFTP.

Для работы с роутером и OPKG флешка (или диск) должна быть отформатирована в файловой системе ext4 . Для создания раздела ext4 в системе Windows для этого можно воспользоваться бесплатным приложением MiniTool Partition Wizard Free . Процесс подготовки подробнее будет описан ниже.

Это всё, что требуется. Плюс немного мысленных усилий и гугла в помощь. Приступаем.

1. Устанавливаем необходимые компоненты

Заходим в панель управления (“админку”) роутера. Находим раздел “Управление” – “Общие настройки” – “Обновления и компоненты”. Нажмите кнопку “Изменить набор компонентов”:

Читайте также:  Роутер умный дом ростелеком

Источник

Как Настроить DLNA и Samba Сервер на Роутере Zyxel Keenetic?

Если в вашем роутере имеется USB порт, то могу с 99% вероятностью сказать, что с его помощью можно создать медиасервер и транслировать по технологии DLNA или Samba видео или графический контент на другие устройства, подключенные к данному роутеру. В этой статье я наглядно покажу, как запустить сервер DLNA или Samba на wifi роутере Zyxel Keenetic.

В чем отличие Samba сервера от DLNA?

  • Samba — это сервер для обмена любыми документами. То есть настроив его, мы получим доступ к накопителю, как к обычному сетевому устройству с папками, в которых находятся файлы.
  • DLNA заточен под воспроизведение медиа-контента, то есть с его помощью удобнее транслировать аудио или видео на другое устройство с использованием специальных программ-проигрывателей. Подробнее про медиасервер DLNA читайте в другой статье.

Для того, чтобы организовать медиа сервер в своей локальной сети, необходимо соблюсти несколько условий:

  1. Роутер должен иметь функцию подключения USB накопителей
  2. Остальные устройства должны поддерживать технологию DLNA

Прежде, чем осуществить нашу затею, необходимо подключить и настроить флешку для работы с роутером. Подробно о том, как это сделать, я уже рассказывал в статье про FTP-сервер.

Samba и DLNA сервер на роутере Zyxel Keenetic

Для создания dlna или samba сервера на роутере Zyxel Keenetic должен быть установлен отдельный компонент — часто изначально он не входит в стоковую прошивку, но его можно скачать дополнительно. Для этого идем в раздел «Настройки», вкладка «Обновление» и жмем на кнопку «Показать компоненты».

компоненты zyxel keenetic

Находим тут «DLNA-сервер» и активируем его галочкой. Также проставляем галочки на всех пунктах в разделе «USB Storage» для того, чтобы роутер мог читать флешки с любой файловой системой — FAT32, NTFS, HFS+, — а также для возможности настраивать права доступа к папкам.

И нажимаем на кнопку «Установить» — после перезагрузки в админке появятся необходимые нам разделы.
После подключения накопителя к USB порту роутера идем в меню «Приложения» и открываем вкладку «DLNA». Ставим флажок на «Включить», после чего нажимаем на кнопку выбора папки

настройка dlna сервера на роутере zyxel keenetic

Кликаем по строчке с нашим накопителем и далее нажимаем сразу на кнопку «Выбрать», чтобы добавить на сервер весь каталог, либо выбираем отдельную папку.

Источник

Оцените статью
Adblock
detector