Найти тему

Поющий микротик

Оглавление

Роутеры Mikrotik умеют своим маленьким динамиком не только сигнализировать о загрузке, но и играть разные мелодии. Ну, как играть - пищать. Многие знают об этом, но не знают, как это сделать. Я вот только вчера сам научился. Все делается легко и просто. Если разобраться.

Рассказываю на примере модельки RB951G-2HnD. Этот крот живут у меня в квартире уже около полугода и отлично справляется с функциями маршрутизатора, раздавая интернет по проводу и без. Скучные и важные штуки вроде правил, маршрутов и прочего я настроил кое-как и по чужим словам, все заработало и я надолго забыл о кастомной настройке зверька. Но накануне дня святого Патрика настало время приключений и экспериментов!

Для работы нам потребуется сам роутер, его родная утилита Winbox и холодный расчет и осознанный выбор. На самом деле, третьим ингредиентом должно было стать знание нотной грамоты, но есть способ заменить его специализированными ресурсами так, чтобы все получилось даже у людей, далеких от музыки (как я).

Все описанное дальше будет происходить в окнах winbox и браузере. Сначала расскажу об интересном и простом, а потом о специфике, чтобы ваш "иссяк запал не очень быстро".

Очень простая часть. Где что лежит.

В отличие от по-настоящему опасных экспериментов, извлечение осмысленной и узнаваемой музыки из микротовской пищалки не грозит какими-то потерями и коллапсами, но для самоуспокоения все процедуры можно проводить в режиме safe mode

Полагаю, вы и так знаете, зачем нужна эта кнопочка, но если нет, я расскажу. В безопасном режиме всё, что вы делаете с роутером, не сохраняется после перезагрузки. То есть, имея физический доступ к работающему аппарату и зажав кнопочку safe mode, можно править правила, менять маршруты и творить иные безумства. Как только уровень безумств превысит уровень прочности логики микротика и его "защиты от пользователя" (когда он перестанет отвечать на ваши команды), можно просто выключить его и снова включить. Вы откатитесь на момент нажатия волшебной кнопки и все снова будет работать.

Итак, кнопка безопасного режима нажата, можно творить беспредел. Поехали! Отправляемся в system-scripts

-2

Нажав в появившемся окошке плюсик, мы создадим новый скрипт. Да-да, проигрывание мелодии в микротике - это выполнение скрипта, последовательности неких действий.

-3

Скрипту можно задать имя - это не влияет ни на что, кроме красоты, облегчения поиска и последующего использования. Что же надо писать в большом пустом окошке №2? Может быть, месторасположение музыкального файла на локальном ПК или в облаке? Просто название песни и исполнителя? Имя любимого котика, потому что котики всегда к месту и ко времени? На все три вопроса твердое нет (имя котика можно присвоить имени скрипта, если очень хочется). И тут начинается

просто простая часть. как что достать и сделать

В большом окне нам нужно написать, собственно, скрипт: сказать пищалке роутера как именно и как долго пищать. К сожалению, микротик не понимает ни по-русски,

-4

ни по-английски,

-5

а только "по-скриптовски". Ну и ладно, будем вежливыми и напишем на его языке. Вот так, например:

:beep frequency=XXX length=YYYms;

:delay ZZZms;

Это не надо запоминать, это образец синтаксиса. Здесь мы даем микротику команду (:beep) пищать с определенной частотой (frequency) и длительностью (length). И потом говорим, сколько подождать (:delay). Про частоту и длительность звучания ноты можно узнать у Вики (если вы, как и я, не учили это в музыкальной школе).

Если не указывать задержку, то мелодия будет протяжная и непонятная. А нам надо как раз наоборот, поэтому про параметр :delay не забываем.

На этом месте обычно мануал заканчивается, а разгневанный юный микротовод закрывает окошко и обещает "никогда, никогда больше" не читать автора. Потому что "ну непонятно же ничего, какие ноты! хочу I'm a Barbie girl !"

О, я был именно таким! Поэтому расскажу, как сделать все до конца. И хит "Аквы", конечно, прилагается.

Подбирать ноты и длительность самостоятельно вручную - правильно, но муторно. А лень, как известно, двигатель прогресса. Поэтому для создания скрипта был придуман специальный конвертер.

Конвертирует он не абы что, а великий и могучий Ring Tone Transfer Language в готовый микротовский скрипт. RTTTL - это привет из времени кнопочных телефонов. При помощи этого колдунства в телефоны фирмы Nokia можно было грузить мелодии. Почему колдунство? Потому что грузить надо было в текстовом формате. А игрались они музыкой.

-6

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

Тут надо понимать и помнить, что RTTTL - это время мелодий mid. И инструменты перевода форматов соответствуют эпохе. Нельзя просто так взять mp3 файл с "ушастого" сайта и переложить его на нотную грамоту.

-7

Это было бы слишком просто и понятно. Не-е-е... сначала надо заполучить мелодию в формате mid. Например, отсюда. Или любыми иными способами.

Заполучив миди, переводим ее на язык динозавров здесь. Теперь осталось вспомнить, по какой ссылке выше живет конвертер с RTTTL на микротовский язык скриптов и получить окончательный код, который и станет нашим скриптом.

Вся черная магия, в которой вы, скорее всего, уже запутались, выглядит так:

1. Начинаем хотеть, чтобы микротик пищал тоненьким розовым голоском маленькой блондинки I'm a Barbie girl.

2. Всеми правдами и неправдами находим mid этой песни.

3. Переводим mid в машинный RTTTL формат.

4. Конвертируем его в микротовский скрипт (конвертером или вручную, подбирая частоту и паузы)

5. Вставляем готовый скрипт в соответствующее окошечко в микротике.

6. Нажимаем там же "Запустить скрипт"

-8

7. Радуясь, подпеваем, пугая кота своим писком, а соседей - писком микротика.

ВАЖНО! Совет бывалого: не пытайтесь проверить работу скрипта ночью. Потому что скрипт сработает, а пищать микрот будет динамиком, а не в наушники.

Как это можно применять в повседневной жизни, я расскажу как-нибудь в другой раз. А пока же - обещанный скрипт для барби гёла

:beep frequency=831 length=240ms;

:delay 250ms;

:beep frequency=659 length=240ms;

:delay 250ms;

:beep frequency=831 length=240ms;

:delay 250ms;

:beep frequency=1109 length=240ms;

:delay 250ms;

:beep frequency=880 length=480ms;

:delay 490ms;

:delay 480ms;

:beep frequency=740 length=240ms;

:delay 250ms;

:beep frequency=622 length=240ms;

:delay 250ms;

:beep frequency=740 length=240ms;

:delay 250ms;

:beep frequency=988 length=240ms;

:delay 250ms;

:beep frequency=831 length=480ms;

:delay 490ms;

:beep frequency=740 length=240ms;

:delay 250ms;

:beep frequency=659 length=240ms;

:delay 250ms;

:delay 480ms;

:beep frequency=659 length=240ms;

:delay 250ms;

:beep frequency=554 length=240ms;

:delay 250ms;

:beep frequency=740 length=480ms;

:delay 490ms;

:beep frequency=554 length=480ms;

:delay 490ms;

:delay 480ms;

:beep frequency=740 length=240ms;

:delay 250ms;

:beep frequency=659 length=240ms;

:delay 250ms;

:beep frequency=831 length=480ms;

:delay 490ms;

:beep frequency=740 length=480ms;

:delay 490ms;

и полезный ресурс с уже готовыми текстовыми версиями мелодий (RTTTL). Может быть, вы найдете там что-то интересное.

Пока-пока. Звените-пищите!