Музыкальный программируемый школьный звонок «Школьник-4»



    Аннотация


    На хабре уже не раз делали описание работы с роутером TL-MR3020 в плане расширения его возможностей на базе прошивки openwrt. Я хочу показать ещё один вариант доработки роутера, при котором он может стать полноценным участником школьного учебного процесса. В статье приводится описание устройства и порядок работы с музыкальным программируемым школьным звонком «Школьник-4».

    Модуль «Школьник-4»


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



    Введение


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

    Описываемый ниже вариант является 4-м школьным звонком под незамысловатым названием «Школьник». Первые две версии были выполнены моим другом, Женей Пеннером, который реализовал их на AVR. Я перенял эстафету и третий вариант выполнил на основе мобильного телефона в виде приложения на Java2ME. Все они много лет трудились верой и правдой в некоторых школах на Урале и в Сибири.

    Если мы посмотрим на исходники, то увидим, что очередной звонок представляет из себя набор shell- и javascript-скриптов. Подачей звонков управляют shell-скрипты, используя службу crond. Веб-интерфейс написан на javascript с использованием библиотеки jQuery. Роутер через аудио-карту подключается к усилителю системы проводного вещания. Доступ к управлению может быть организован как по локальной проводной сети, так и по WiFi.

    На данный момент прототипы звонка «Школьник-4» были установлены в двух школах и несколько месяцев проходили опытную эксплуатацию.

    Интерфейс


    Общий вид и описание интерфейса представлены ниже.

    Настройки

    Настроек не много:

    Автомат — это режим, при котором в 1 минуту первого каждый день происходит автоматическая смена расписания согласно годовому плану. Если автоматический режим выключен, то расписание будет постоянным (см. ниже).

    Расписание — выбор расписания для ручного режима переключения.

    Предварительный — время в минутах, за которое подаются предварительные звонки, если они включены (см. вкладку Расписания).

    Мелодия — мелодия для предварительного звонка. Все мелодии из-за ограничения по месту в роутере пока ограничены набором из пяти.

    Кнопка Синхронизировать устанавливает на роутере время из браузера. Дело в том, что TL-MR3020 синхронизируется через сеть, если же её нет, то устанавливается эпоха unix'а. Микросхемы RTC на борту нет. Это один из минусов этого роутера для такого применения.

    Кнопка Останов останавливает службу crond, а Перезапуск — перезапускает.

    Кнопка Тест тестирует звуковой тракт, проигрывая короткий звуковой файл.



    План

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


    Расписания

    Добавлять и убирать расписания в текущей версии нельзя, но их можно редактировать. Выбираем расписание из списка, внизу появляется набор звонков для него. Добавляем / удаляем строчки, меняем мелодию, включаем или исключаем звонок из задания для службы crond, включаем или исключаем дополнительный предварительный звонок. Всё интуитивно понятно. Можно также проиграть текущую мелодию, но проигрываться она будет в браузере, а не через аудио-карту.
    Кнопка Применить нужна, если сразу изменяется несколько расписаний. Сначала нужно Применить текущие изменения, чтобы перейти к следующему расписанию, а потом нажать Сохранить. После этого сохранятся все изменения.


    Вкладки Системный журнал и Отладка содержат специфическую информацию для настройки звонка. CyberWrt модуль «Школьник-4» сразу готов к работе после установки. Если служба crond не запущена, то вместо надписи РАБОТАЕТ будет надпись ОСТАНОВЛЕН. Никаких звонков при этом подаваться не будет.

    Порядок работы


    1. Устанавливаете модуль или собираете его самостоятельно для своей системы.
    2. Редактируете расписания, сохраняете.
    3. Составляете годовой план, сохраняете.
    4. Включаете автоматический режим, сохраняете.
    5. Кнопка Перезапуск.

    Примечание. Если роутер не подключён к локальной сети или по другой причине не может синхронизироваться через сеть для установки времени, то эту операцию нужно выполнить вручную (кнопка Синхронизировать). К сожалению, часовой пояс тоже нужно изменять вручную в конфигурационном файле, что требует специальных познаний.

    Преимущества


    — замена человека, всегда точная подача звонков;
    — более приятная психологическая атмосфера в школе;
    — возможность настройки управления через локальную сеть или WiFi (необходима квалификация);
    — настройка звонка осуществляется через браузер смартфона, планшета, ноутбука или ПК;
    — работа в ручном режиме (выбранное расписание) или автоматическом — по годовому плану.

    Недостатки


    — требуется наличие системы проводного вещания (звонок подключается к свободному входу усилителя);
    — предустановлено 5 мелодий (обычно больше не требуется), возможности загружать свои через интерфейс пока нет;
    — роутер, на котором основан звонок, не имеет возможности сохранять время при выключении питания, но может синхронизироваться через сеть, если настроен для работы в сети, где есть выход в Интернет. Поэтому при включении нужно выполнить операцию синхронизации через интерфейс.
    — доступно для изменения 4 произвольных расписания (в будущем появится возможность добавлять произвольное количество, хотя этого обычно не требуется);

    Файлы


    action.cgi — обработчик post-запросов от странички;
    index.cgi — необходим как часть модуля CyberWrt;
    json.cgi — парсер JSON на shell-скрипте;
    scheduler.cgi — формировать задания для crond;

    main.html — основная страничка;
    style.css — стили для вкладок;

    jquery-1.11.0.min.js — библиотека jQuery;
    main.js — содержит классы для работы с объектами на страничке: расписаниями, настройками, планом и т.д.
    webtoolkit.base64.js — кодек Base64;

    *.json — конфигурационные файлы;
    *.mp3 — мелодии;

    log.txt — журнал сообщений, циклически перезаписывается.

    Прочее


    Исходники распространяются свободно, бесплатно и на свой страх, как говорится. В качестве звуковой карточки подойдёт простая китайская за 150 р. (она изображена на фото сверху, привинчена при помощи скрепки). Если хотите установить такой звонок у себя в школе, то идите договариваться прямо на приём к директору школы, в частном порядке. Мне не нужно никаких плюшек за реализацию, мне было бы приятно просто знать, если где-то будет работать такое устройство. Единственно, я бы принял в дар для коллекции старые советские звонки типа «Электроника».

    Ссылки


    1. Исходники на github.
    2. Школьник-3. Руководство пользователя (pdf).
    3. CyberWrt модуль «Школьник-4» (ветка на форуме).
    4. Музыкальный программируемый школьный звонок «Школьник-3».
    Поделиться публикацией
    Комментарии 46
      +5
      Всё, что нужно школьнику-кулхацкеру.
        0
        Если использовать прошивку CyberWrt, то некоторые пароли там можно поставить. В общем, один пароль на доступ по WiFi, если используется, а второй на доступ к вебке. Да, открытость имеет и обратную сторону.
          0
          Это зависит не от того, какие пароли там стоят, а от грамотности настройщика. Ведь, чем популярнее продукт среди неспециалистов, тем больше вероятность user-based уязвимостей. К тому-же никто не отменял смартфона (с мотоциклетным аккумулятором), который будет всё это дело переберать.
            0
            Я скромно выделил жирным:

            — возможность настройки управления через локальную сеть или WiFi (необходима квалификация);

            Одни товарищи на форуме отписались, что установили звонок и подключили к локалке в школе. Говорят, что пароли настроили (поставили, настроили звонок, уехали, вернулись и поставили пароли, уехали, примерно так :) ).

            К тому же школьных кулхацкеров можно попросить самих для интереса поставить такой звонок у себя в школе и дать задание поломать его, восстановить и убрать уязвимости.
        0
        Да, неплохо, что удалось обойтись таким компактным решением. В школе автоматический звонок я реализовывал на одном из ПК (а там обычный классический звонок, включение через реле, управление через LPT). Правда еще и с часами, указывающими время до звонка/объявлениями, как параллельной нагрузкой, чтобы не просто стоял.

        Но вот интересно, насколько хорошо воспринимается нестандартный звонок? Лучше ли музыкальные мелодии, или для такой утилитарной вещи звон неизменное решение?

        Например, теперь многие на телефонах ставят в качестве мелодии звонка запись звона, поскольку выходит наиболее практично — лучше различимо в шуме/на дальнем расстоянии. Не так ли и со школьным звонком?
          +4
          У меня уже 10 лет опыта в одной школе с музыкальными звонками. Сменил там за это время 3 версии «Школьника». Народу нравится, привыкли. Больше всего нравится вахтерше, которая раньше звонки вручную подавала.

          С детишками нужно быть аккуратнее, я один раз для эксперимента Неуловимых мстителей поставил, так мне потом от учителей взбучка была. Дети как услышали Неуловимых начали по школе табунами скакать.

          На github'е находятся мелодии, к которым привыкли в этой школе, кроме тестовых.
            +1
            Мода на «музыкальные звонки» пошла от какого-то кретина из столичного департамента образования, который решил, что простой звонок «травмирует психику детей». А какой-то, видимо, брат по разуму этого деятеля загрузил в турникеты московской подземки трель «Подмосковные вечера», которая играет при попытке пройти без оплаты.

            Мы все знаем и видим пошлость и скудоумие в графике и в видео, но такая же пошлость возможна и в аудио, музыкальные звонки — это как раз она, в кристалльно-чистом виде, хоть в Палату мер и и весов забирай.
              –1
              Т.е. вам нравится старая допотопная система звонков: два — начало урока, один — конец урока, три — эвакуация?
              А вы учитывает, что поставив разные мелодии (с самого начала разные) + голосовое оповещение вместо 3х звонков мы сможем ускорить процесс восприятия типа звонка?
                +2
                Я не могу понять, какую смысловую нагрузку может нести паршивая MIDI-аранжировка того же «Князя Игоря», исполненная через паршивый динамик, в учебном процессе. Я не видел ни одного учителя или завуча, которым бы эта новация приносила какую-то пользу — все, кого не спросишь, поднимают глаза к небу и сквозь зубы клянут ДепОбр.
                  0
                  Никто не мешает использовать mp3 файлы с качественной музыкой, но по факту их просто не слышно из-за низкого качества звуковой техники в школах. Звуковой файл должен быть таким, чтобы «пробивать» любую такую систему. Именно поэтому используется такое качество.

                  Я предлагал разные мелодии, их выбирали именно учителя и те, кто принимал устройство. В любых таких звонках, что я видел, везде можно использовать любое звуковое сопровождение.
                    +1
                    Решения по эргономике не принимаются общим голосованием — точно так же, как автоконцерн не будет выяснять требования к подушке безопасности для новой модели авто на фокус-группах. Потому что при народных голосованиях с большим отрывом побеждают картины Глазунова и Радио Дача.

                    У вас, как инженера, на входе была задача — сделать оповещение таким, чтобы оно было отчётливо слышным, но не оглушающим, передающим однозначную информацию о скором начале занятий утром, о начале и конце урока, о длинной перемене. Откуда вы изобрели требование «развлекать приёмную комиссию MIDI-шками» в ТЗ — вам виднее.

                    Когда мы передизайнивали IVR-систему одного федерального сотового оператора, мы анализировали все джинглы-отбивки между уровнями голосового меню, смотрели, как искажается звук при разных уровнях сжатия GSM-кодека и слышен у абонента. К счастью, там всё просто — плохая непонятная неудобная IVR-система приводит к росту нагрузки на колл-центр и стоит компании денег, и контраргументы «во-первых, это красиво» тут не канают. А вот в школах такое протащить можно, да.
                      +2
                      У меня есть очень простой способ проверить «эргономику». Я устанавливаю музыкальный звонок в школе и смотрю на реакцию детей. За 10 лет жалоб не было.

                      На этапе опытной эксплуатации жалобы были, но относились они только к ранним версиям звонков, которые могли «врать», подавая звонок раньше или позже, чем нужно. Это единственное, на что обращали внимание учителя и дети.
                        +2
                        Вы думаете, как инженер в плохом смысле этого слова. Вы считает человека рациональным существом, который может отрефлексировать, что ему плохо, понять почему именно плохо, и без стеснения заявить о своих проблемах.

                        Более 10 лет личного опыта в исследованиях потребителей показывают, что это не так. В ситуации с сотовым оператором никто не жаловался на неудобство отбивок в IVR. Абоненты просто уходили к конкурентам и компания теряла деньги.

                        Школьнику уходить некуда, он в это здание должен приходить 11 лет.
                          0
                          Когда школьник сидит и ждёт конца урока, а он всё никак не происходит, то наступает «рефлексия». На это ума им хватает сделать замечание, помножьте ещё это на всех учащихся в школе. Там такая рефлексия, что мало не покажется.
                          Или я приводил пример с другой мелодией. Когда стада школьников одновременно прыгают по коридорам, учителя нашли меня в тот же день и как следует отрефлексировали.

                          Я бы не стал беспокоиться за современных школьников, за словом в карман они не полезут.
                            0
                            Да, кстати, а детский гул на переменах регламентируется СанПиНами, вы не в курсе?
                    +1
                    … старая допотопная система звонков: два — начало урока, один — конец урока, три — эвакуация?
                    Старая допотопная система — это один звонок. А эвакуация — это когда прибегает человек и всех выгоняет из кабинета на улицу.
                      0
                      У кого как — у нас были кодированные сигналы.
                    +2
                    Мы все знаем и видим пошлость и скудоумие в графике и в видео, но такая же пошлость возможна и в аудио, музыкальные звонки — это как раз она, в кристалльно-чистом виде, хоть в Палату мер и и весов забирай.

                    Не надо обобщать. Есть простое правило: критикуя предлагай.

                    Мода на громкий бой пошла от дедушки Ленина, который электрифицировал всю страну. До этого была «мода» на колокольный звон.

                    Музыкальный звонок без проблем имитирует и обычный звонок, и колокольный звон, и мелодии. И это не то, на что здесь стоит обращать центральное внимание. Вы гуманитарий? Технический специалист прежде всего обратит внимание на слово «программируемый».
                      0
                      > Есть простое правило: критикуя предлагай.

                      Предлагаю почитать что-нибудь по эргономике и usability. Ведь если я поинтересуюсь у вас, какова должна быть громкость звонка в дБ в школьном помещении относительно ambient sound level — вы мне со ссылками на нормативные документы, СанПиН-ы и профильные публикации ответить сможете, или нет?

                      В скольких школах из тех, где вы устанавливали своё изделие, вы после установки померяли уровень звукового давления?
                        0
                        А усилитель на что? Устройство подключается к уже установленной системе оповещения, которая должна быть сейчас в каждой школе. Устанавливают её обычно пожарники. Такая система обязательно включает в себя усилитель, к доп. входу которого и подключается устройство. Если пожарники установили такую систему, то все вопросы касательно СанПиНов «автоматически согласованы».

                        И как вы вообще представляете замер звукового давления? При каком положении уровня громкости на усилителе? Вы предлагаете пломбировать ручку настройки уровней на всех каналах?
                          +1
                          Вот мы и приехали — человек, который ставит школьные звонки, не видит никакой проблемы, что дети больше десяти раз на дню слушают паршивые MIDI-шки на громкости пожарной сирены.

                          Лишь бы вебинтерфейс был няшный и можно было бы поковыряться в прикольной железке.
                            +1
                            Вы даже не знаете что такое пожарная система оповещения. Это микрофон, усилитель и динамики. В хороших системах дополнительно к микрофону есть система, которая воспроизводит голосовые записи. Ничто там не орёт, а голосом предлагается покинуть помещения.

                            Ваши комментарии тут неадекватные.
                      –1
                      Для вас плохая новость: в турникетах совсем не «Подмосковные вечера» играют :)

                      Когда-то регулярно бывал в одной школе, где музыкальные звонки были. Гораздо приятнее на слух, чем обычный мозговыносящий звонок.
                        +1
                        В моей школе, которую я закончил в 2004м, были обычные электромагнитные звонки с двумя «чашками». А вот в колледже была дурацкая система с мелодичными звонками. Звонок с урока — это была бравурная тема из фильмов Индианы Джонс, звонок на урок — какая-то коротенькая печальная мелодия. То есть уже тут подтекст яснее некуда: на урок (на пару) идём как пленники на расстрел, а с урока — под бравурную музыку. Круто, да? А ведь мы не третьеклассники, уже есть интерес и тяга к знаниям, да и за учёбу вообще-то уплачено, нафига мне такие унизительные шуточки?

                        Потом, никто не объяснил и не дал прослушать этот музыкальный звонок перед занятиями. Я в первый день в колледже опоздал два раза на пары, пока понял, что эта дурацкая музычка — не пришедшая кому-то на громкий телефон смс-ка, а официальный звонок!
                        И наконец, очень быстро эти мелодии и правда стали включать на телефонах, смущая всех, и поначалу это иногда позволяло слинять с пары на 5-10 минут пораньше.

                        Если вместо электромагнитных звонков используются динамики и mp3 — пожалуйста, но надо думать головой и ставить какую-нибудь нейтральную трель. Или так: «Дин-дин, внимание, начинается первая пара», «Дин-дин, внимание, оканчивается первая пара, перерыв 10 минут» и т.д.
                        0
                        Второй абзац прекрасен, хоть и заставляет подозревать повышенную секрецию желчи ;)
                        Плюсую, так как человек особенно в детском возрасте имеет полное право быть огражденным от пошлости и банальности во всех пространствах — зрительном, звуковом, вкусовом, обонятельном и даже осязательном, ибо иначе велик шанс, что подросши, сам станет распространителем этой заразы дальше. В итоге общества, затрачивающие усилия на поддержание этого барьера, в долгосрочной перспективе выигрывают. Поэтому совсем не пронзительный звонок и грифельная доска хоронят национальный IQ, а нечто совсем другое.
                      0
                      В колледже, где я учился, наверное с самого основания и по настоящее время жива система музыкальных звонков, я даже не уверен что ее с момента установки хоть как-то модифицировали или меняли на что-то более продвинутое. Все довольны. Единственный минус — мелкие советские динамики (наверное у меня на ладони поместится) не добивают до конца некоторых коридоров.
                        +2
                        В одной московской школе используют Time — Pink Floyd. Можно поискать что-то подобное.
                        0
                        Вы распространяете это как коробочное решение?
                        На этом роутере же есть USB. (Может я что то путаю) Неужели, нет способа прицепить часы и флешку?
                          +1
                          Нет, не распространяю, так как бессмысленно. Трудно заинтересовать Департамент образования в переходе на автоматизированные системы. Я пробовал как-то делать это в Нижневартовске, послушали и забыли.

                          Да, usb есть, часы в принципе можно пристроить, можно даже взять аналогичный роутер с аккумулятором внутри. На картинке сверху я выпаял usb-разъём, чтобы карточку внутри корпуса разместить.

                          Этот пример является рабочим прототипом. Если не лень делать синхронизацию через браузер или с питанием все впорядке, то часы можно и не устанавливать.
                          0
                          В MR3020 есть i2c. Дать ссылку на плату RTC с DS1307 и держателем для батарейки на плате? DS1307 хоть и 5 вольт, но если подтянуть линии данных к 3.3В, то, по отзывам, всё нормально даже с Raspberry Pi. А по ценам компонентов из Китая выходит очень дёшево =) Да и часы можно достать по доллару на том же eBay.
                          А вообще, такие роутеры — отличная штука, хоть порой и дороговаты — та же Карамбола в некоторых случаях выигрывает по цене. Кстати, на Ебее китаец один продаёт модифицированные wr703n с памятью 64мб и флешкой 16мб по 40$. Думаю закупиться, как деньги появятся, у меня на них особые планы — а самому модифицировать выходит дороже. Мне кажется, из таких могли бы выйти неплохие контроллеры для умного дома =)
                            +1
                            Да я знаю. Проблема в том, что подпаяться к свободным GPIO там трудно и не гарантируется качество при потоковом применении. Поэтому я не упомянул об этом. Чуть перегреешь площадку и она отваливается, провод нужен тонкий, в общем повторить неспециалисту будет трудно.

                            Более надёжно ставить usb hub и к нему, к примеру, подключить простую плату usb-i2c, выполненную по аналогии с проектом avr-cdc японского автора. Самодельные usb 1.0 устройства роутер поддерживает, если они включены через промежуточный hub.
                              +1
                              www.harbaum.org/till/i2c_tiny_usb/index.shtml
                              О, тогда это будет интересным — USB-I2C на ATTiny85 =)
                                0
                                Да, что-то вроде этого. Я в своё время не нашёл этого проекта. Насколько я понял не нужно специальных драйверов в случае Linux'а. Можно попробовать этот вариант.
                              0
                              Разве у него не софтварный i2c? В любом случае, подпаиваться к тем пинам, что указаны в инструкции не очень удобно, да и после пайки нужно надёжно фиксировать провод, иначе площадка или вся дорожка с лёгкостью отклеится от платы. Проще вешать i2c вместо переключателя режимов роутера, там площадки выглядят понадёжнее. И да, действительно лучше купить уже модифицированный роутер. Пытался обычным паяльником заменить память и флешку, получилось не очень, вне корпуса плата работала, в корпусе переставала, видимо из-за деформации где-то контакт отходил, после неоднократной повторной пропайки плата перестала отвечать.
                              0
                              в моём детстве за автоматические звонки отвечала систем из одной бабки, часов и кнопки как у дверного звонка.
                              и взломать такую систему было проблематично :)
                                +1
                                Вы что, прикалываетесь? Выходите «в туалет», разливаете воду в одном конце коридора, она бежит туда, подходите и нажимаете кнопку звонка. Все, урок окончен.
                                  0
                                  В нашей школе звонок был в гардеробе, в котором и сидел вахтер. Гардероб закрывался, когда вахтер уходил. Хак не работал :)
                                0
                                В полку звонков прибыло. Отлично =)

                                Отдельное спасибо за CGI на SH =)
                                  +1
                                  Я в своё время делал обзор существующих звонковых систем: Аналоги.

                                  Альбом
                                  +2
                                  Вячеслав, спасибо за удобное решение, автоматизировал с его помощью звонок в одной из московских школ.
                                  «Раскраска» то, смотрю, похорошела = )
                                  Предыдущий звонок, к сожалению, уже сдали в музей, там было что-то совсем уж архаичное.
                                    +2
                                    Таким звонком можно программировать людей в итоге.
                                    В качестве звонка на урок можно использовать голос врагов народа.
                                    В качестве звонка для перемены — голос партии.
                                    Ненависть или радость будут надежно прививатся на протяжении десятка лет
                                    0
                                    У меня есть стандартный репертуар для звонка — это классика, как мировая, так и советская. По ссылке в статье на Руководство пользователя для звонка «Школьник-3» можно найти список стандартных мелодий в конце. Я предпочитаю советскую классику. На картинках выше есть пример использования: Князь Игорь и Гостья из будущего.

                                    Здесь нужно ещё отметить одну вещь. Мелодии нужно специально обрабатывать, чтобы их было слышно.
                                      0
                                      Спасибо, за полезное устройство!
                                      Посмотрел демку CyberWrt, Ваш модуль находится в двух папках, test и Multimedia
                                      Чем они отличаются?
                                        0
                                        Думаю, что ни чем. Просто модуль показал достаточную надёжность, чтобы перейти в другую категорию. Вообще, там есть вкладка «О модуле», где указан номер версии в стиле MS. Последняя версия: 0.2.5186.21677.
                                        0
                                        Обнаружил ошибку в работе с датами. Заплатка есть тут.

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

                                        Самое читаемое