{sape_links}
Быстрая навигация
802.11ac 802.11ac Wave 2 802.11n Android DVB-T2 Google hAP Intel IPSec Keenetic LTE Mikrotik MU-MIMO Netis Newsletter Realtek RouterBOARD RouterOS Rozetka rozetka.com.ua Strong Trimax Ubiquiti UBNT UniFi usb wAP 60G Wi-Fi Winbox wireless Zyxel безопасность маршрутизатор обзор обновление промо промо-код прошивка роутер скидкиОтправка Push-уведомлений из Mikrotik RouterOS прямо на мобильный при помощи Telegram
06 май 2018
61 428
35
Ранее в блоге я уже писал о том, как можно осуществлять удаленное управление устройствами Mikrotik под управлением RouterOS при помощи SMS-команд. Тогда же мы рассматривали возможность отправки SMS-уведомлений администратору при отключении основного интернет канала и переключении на 3G-модем.
У меня, как и ранее, нет свободного времени, чтобы адаптировать скрипт «Advanced Failover» под свежие версии RouterOS, так что за это я извиняюсь. По возможности в свободное время займусь.
Сегодня мне бы хотелось поговорить об альтернативе классическим SMS-уведомлениям. В частности, о варианте с отправкой Push-уведомлений прямо на смартфон, планшет или даже ПК (PC, Mac, macOS, Linux). Все это без использования платных сервисов-посредников с минимальными затратами времени.
После того, как аккаунт создан, при помощи поиска необходимо найти контакт «BotFather» – это главный бот, при помощи которого можно создавать новых ботов и управлять уже существующими. При желании, боту можно будет поменять имя, а также загрузить для него аватар.
Дальнейшее «общение» с ботом будет происходить в виде текстовых команд. Для создания нового бота, выполните команду:
После ввода и отправки данной команды, главный бот запросит отображаемое имя, в нем допускаются пробелы и произвольный формат самого названия.
После указания имени, бот запросит желаемый %username%. При выборе %username% обязательным условием является суффикс «bot» в конце имени, например MikrotikBot или Mikrotik_bot.
Если всё прошло успешно, бот-отец ответит сообщением, содержащим специальный token для доступа к API. Сам токен состоит из двух частей, разделенных двоеточием, например:
Следующим шагом рекомендуется проверить доступность API для вашего бота, делается это в браузере, путем открытия специального URL:
Система возвращает ответы в формате JSON, в коде ответа должен присутствовать параметр «ok: true», если он есть – API доступен.
Собственно бот почти готов, осталось только научить Mikrotik отправлять сообщения, используя API Telegram.
Перед тем, как приступить к настройке RouterOS, необходимо узнать ID чата. При помощи мобильного приложения отправляем нашему боту команду:
После чего, в браузере открываем специальный URL:
В ответе нас интересует параметр message=>chat=>id, в нем хранится уникальный идентификатор чата между вами и созданным ботом. По сути, это ваш идентификатор как пользователя, он будет идентичен для всех ботов в рамках одного аккаунта.
Параметры:
Для того, чтобы отправить сообщение кириллицей, предварительно текст необходимо конвертировать при помощи urlencode, это встроенная функция PHP. Наиболее простой вариант – воспользоваться любым онлайн сервисом, конвертацию выполняем в кодировку UTF-8.
Для отладки, вы можете воспользоваться стандартными возможностями System – Scripts. Вот собственно и все, остальное за вами.
Как вариант, данную систему уведомлений можно комбинировать с USB-модемом. Например, при отключении основного интернет-канала, Mikrotik может отправить уведомление, используя резервный канал. При этом данный метод совершенно бесплатен, в отличие от обычных SMS, за которые оператор взымает плату. Единственное ограничение – доступ к Интернет на самом Mikrotik и конечном устройстве с приложением Telegram (для отправки и получения).
Лично я использую Telegram API в связке со встроенным инструментом Netwatch, он предельно прост в использовании и настройке.
Параметры Netwatch:
Вариантов применения данного метода существует большое количество, если у вас есть интересная идея или реализация – можете поделиться ею в комментариях.
У меня, как и ранее, нет свободного времени, чтобы адаптировать скрипт «Advanced Failover» под свежие версии RouterOS, так что за это я извиняюсь. По возможности в свободное время займусь.
Сегодня мне бы хотелось поговорить об альтернативе классическим SMS-уведомлениям. В частности, о варианте с отправкой Push-уведомлений прямо на смартфон, планшет или даже ПК (PC, Mac, macOS, Linux). Все это без использования платных сервисов-посредников с минимальными затратами времени.
Если Вы хотите научиться настраивать MikroTik, предлагаем пройти онлайн обучение. Более подробную информацию Вы можете найти в конце данной публикации.
В данном варианте реализации речь пойдет о сервисе Telegram у которого есть удобный API для управления ботами. На данный вариант я наткнулся чисто случайно, т.к. до недавнего времени про сам Telegram я, конечно же, слышал, но только в общих чертах и сам с ним не сталкивался.Начинаем работу с Telegram
Первым делом качаем официальное мобильное приложение Telegram, создаем аккаунт. Все ссылки вы можете найти на официальном сайте.После того, как аккаунт создан, при помощи поиска необходимо найти контакт «BotFather» – это главный бот, при помощи которого можно создавать новых ботов и управлять уже существующими. При желании, боту можно будет поменять имя, а также загрузить для него аватар.
Дальнейшее «общение» с ботом будет происходить в виде текстовых команд. Для создания нового бота, выполните команду:
/newbot
После ввода и отправки данной команды, главный бот запросит отображаемое имя, в нем допускаются пробелы и произвольный формат самого названия.
После указания имени, бот запросит желаемый %username%. При выборе %username% обязательным условием является суффикс «bot» в конце имени, например MikrotikBot или Mikrotik_bot.
Если всё прошло успешно, бот-отец ответит сообщением, содержащим специальный token для доступа к API. Сам токен состоит из двух частей, разделенных двоеточием, например:
12558568:Hgsgf74tv7efcdfvhdvhfvcbn65imghmj
Следующим шагом рекомендуется проверить доступность API для вашего бота, делается это в браузере, путем открытия специального URL:
https://api.telegram.org/bot<ваш_токен>/getMe
Система возвращает ответы в формате JSON, в коде ответа должен присутствовать параметр «ok: true», если он есть – API доступен.
Собственно бот почти готов, осталось только научить Mikrotik отправлять сообщения, используя API Telegram.
Перед тем, как приступить к настройке RouterOS, необходимо узнать ID чата. При помощи мобильного приложения отправляем нашему боту команду:
/start
После чего, в браузере открываем специальный URL:
https://api.telegram.org/bot<ваш_токен>/getUpdates
В ответе нас интересует параметр message=>chat=>id, в нем хранится уникальный идентификатор чата между вами и созданным ботом. По сути, это ваш идентификатор как пользователя, он будет идентичен для всех ботов в рамках одного аккаунта.
Отправка тестового Telegram-сообщения
Теперь у нас есть все необходимое для того, чтобы отправлять сообщения при помощи API. Отправка сообщений осуществляется при помощи браузера, по специально сформированной ссылке, которая имеет следующий вид:https://api.telegram.org/bot<ваш_токен>/sendMessage?chat_id=<id_чата>&text=<сообщение>
Параметры:
- <ваш_токен> – ваш уникальный токен для доступа к API, полученный ранее;
- <id_чата> – уникальный идентификатор чата, в который будет отправлено сообщение;
- <сообщение> – текст сообщения;
Для того, чтобы отправить сообщение кириллицей, предварительно текст необходимо конвертировать при помощи urlencode, это встроенная функция PHP. Наиболее простой вариант – воспользоваться любым онлайн сервисом, конвертацию выполняем в кодировку UTF-8.
Отправляем сообщения из Mikrotik RouterOS
Отправить сообщение из RouterOS не составит особых трудностей. Для этого можно воспользоваться следующим кодом:tool fetch url="https://api.telegram.org/bot<ваш_токен>/sendMessage?chat_id=<id_чата>&text=<сообщение>" dst-path=telegram.txt
Для отладки, вы можете воспользоваться стандартными возможностями System – Scripts. Вот собственно и все, остальное за вами.
Как вариант, данную систему уведомлений можно комбинировать с USB-модемом. Например, при отключении основного интернет-канала, Mikrotik может отправить уведомление, используя резервный канал. При этом данный метод совершенно бесплатен, в отличие от обычных SMS, за которые оператор взымает плату. Единственное ограничение – доступ к Интернет на самом Mikrotik и конечном устройстве с приложением Telegram (для отправки и получения).
Лично я использую Telegram API в связке со встроенным инструментом Netwatch, он предельно прост в использовании и настройке.
Параметры Netwatch:
- Host – пингуемый узел;
- Interval – интервал в секундах между попытками проверки, по-умолчанию 1 минута;
- Timeout – таймаут ожидания, по-умолчанию 1000 мс;
Вариантов применения данного метода существует большое количество, если у вас есть интересная идея или реализация – можете поделиться ею в комментариях.
Видеокурс «Настройка оборудования MikroTik» (аналог MTCNA)
Учитесь работать с MikroTik? Рекомендую видеокурс «Настройка оборудования MikroTik». В курсе разобраны все темы из официальной учебной программы MTCNA и много дополнительного материала. Курс сочетает теоретическую часть и практику – настройку маршрутизатора по техническому заданию. Консультации по заданиям курса ведет его автор Дмитрий Скоромнов. Подойдет и для первого знакомства с оборудованием MikroTik, и для систематизации знаний опытным специалистам.