Музыка по карточкам

    Проект «музыка по карточкам» прошел путь от ip-считывателя карточек на базе arduino до законченного решения, позволяющего хранить и воспроизводить музыку, управляя этим процессом с помощью RFID карточек «метрошного» стандарта mifare ultralight.



    Устройство предназначалось в подарок дружественному ребёнку и его родителям, поэтому статья построена в жанре инструкций для трёх категорий пользователей: детей, взрослых и программистов. Тем, кому интересно только внутреннее устройство коробочки, лучше сразу перейти к третьей части статьи.


    Детская версия


    Приложи карточку к цветочку на коробочке. Начнёт играть музыка. Люди старше 3-х лет в этот момент обычно испытывают бурную радость.


    Взрослая версия


    внутренности коробочки

    Как привязать новую карточку.

    1. Открыть сетевую папку \\rfidmusic\music
    2. Поднести новую карточку к считывателю.
    3. В папке с музыкой появится файл с именем card_id.xxxxxxxx, где xxxxxxxx — уникальный номер карточки.
    4. Создать папку с именем xxxxxxxx, записать туда музыку.

    Как записать новую музыку или удалить старую.

    1. Скопировать новую музыку в существующий каталог, соответствующий номеру карточки или в новый каталог, созданный так, как описано в разделе «Как привязать новую карточку».
    2. Создать каталог update в папке \\rfidmusic\music. В течении 5 минут новая музыка будет проиндексирована и станет доступна для воспроизведения. Каталог update после этого будет автоматически удалён.



    Версия для программистов


    Железо

    Коробочка представляет из себе микрокомпьютер Raspberry Pi с подключёнными считывателем RFID карточек и WiFi донглом. Никаких проблем при подключении периферии к RPi не возникло, всё заработало сразу и без проблем, достаточно было прописать SSID и пароль от WiFi-ной сетки. Схема подключения RFID ридера описана в статье [3].

    Софт

    состоит из трёх модулей:

    1. Samba сервера. Каталог с музыкой доступен в домашней сети по адресу \\rfidmusic\music. Музыка хранится на той же SD-карточке, с которой грузится система.

    2. Музыкального сервера. Это MPD (http://en.wikipedia.org/wiki/Music_Player_Daemon) в стандартной конфигурации. К этому музыкальному серверу есть клиенты подо всё, что движется, в частности есть программки для андроида (mpdroid) и iphone (MPaD). Т.е. управлять музыкой можно не только карточками, но и обычным способом, с телефона, компьютера и т.п.

    3. Считывателя карточек. У каждой карточки есть уникальный номер. Если в папке с музыкой есть каталог с именем, совпадающим с номером карточки, то запускается музыка из этого каталога. В любом случае, в папке с музыкой создается файл с именем card_id.xxxxxxxx, где xxxxx — уникальный номер последней поднесённой к считывателю карточки. Считыватель запускается из /etc/inittab инструкцией

    RF:23:respawn:/home/pi/rfid/run.sh


    4. Индексатора новой музыки. Раз в 5 минут проверяется наличие каталога с именем update в папке с музыкой. Если он там есть, то MPD заново перечитывает всю музыку (командой mpc update) и удаляет каталог update. Индексатор запускается из крона юзера pi.

    Ссылки



    (первая версия «музыки по карточкам» управляла Squeezebox player-ом)

    1. Код первой и второй версии проекта на гитхабе
    2. Считыватель карточек, совместимый с RPi
    3. Схема подключения и установка необходимых питоновых модулей (на испанском)
    Поделиться публикацией
    Никаких подозрительных скриптов, только релевантные баннеры. Не релевантные? Пиши на: adv@tmtm.ru с темой «Полундра»

    Зачем оно вам?
    Реклама
    Комментарии 18
    • +2
      Кот порадовал =3
      • +1
        Усилитель — любимое место кота. Там всегда тепло.
        • 0
          Предлагаю прошить коту «усы, лапы и хвост» чтобы он тоже мог выбирать себе музыку! :)
          • 0
            Между прочим чипы, что вживляются в котов и собак, вполне себе RFID на стандартных частотах. Можно записать кота.
            Или, в случае отсутствия чипа, подарить коту ошейник с RFID. Внутрь информацию, а заодно саундтрек для системы.
            • +1
              Чипы вшиваются в холку, так что коту, к сожалению, чипом пользоваться неудобно — придётся переворачиваться на спину.

              А вот в ошейник можно наверное антенну по всей окружности сделать и порадовать кота таким высокотехнологичным применением ошейника… вопрос в том, как объяснить коту, что он должен быть рад! :)
              • У кота есть свои 2RFID-а, которые он греет на усилителе.
                А вообще идея с RFID ошейником весьма интересна. Можно напримаре сделать RFID поилку.
              • 0
                Там другой стандарт используется. Потому не подойдет.
        • +1
          >Скопировать новую музыку в существующий каталог, соответствующий номеру карточки
          Это точно из раздела не для программистов? :)

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

          Да и при первом сканировании можно сразу создавать каталог для удобства. Может тогда и без файлов можно обойтись?

          А вообще у идеи большой потенциал, как мне кажется. Обучающие интерактивные игрушки, групповые игры и т.д. Развивайте!
          • 0
            А еще можно воспользоваться смартфоном на андроиде (windows phone еще не поддерживает считыватение UID карточки, а iPhone с NFC еще совсем не дружит), чтобы считать номер карточки. :)
            • 0
              Да, это возможный вариант, его преимущество в том, что сразу создаётся каталог, не надо руками это делать.
              Недостаток я вижу в том, что музыкальный каталог будет захламляться пустыми каталогами с абстрактными именами, в них сложнее будет разобраться.

              Игрушки отлично сюда впишутся, да. Есть rfid метки маленького размера, можно их встраивать в фигурки зверей и устраивать представления.
              • 0
                Что значит «захламляться», если он и так будет состоять из таких каталогов. :) Можно разрешить переименовывать каталоги, но чтобы номер карточки там присутствовал. Но это уже сложнее в реализации.
                В любом случае, если пользователю нужно будет запоминать или записывать куда-то эти номера, этим пользоваться не будут. Если делать по уму, то это должен быть плагин к mpd.
            • +1
              Занятная штука. Массовое производство не планируется? Я бы купил ребенку 2-х лет.
              • 0
                Массовое не планировал, но если наберётся десяток желающих, можно будет сделать.
                • 0
                  Возможно, кто-то еще в комментариях отметится. А какую цену Вы видите за эту вещь?
                  • 0
                    Оптимизированная себестоимость у неё — примерно 80 баксов.
              • 0
                На самом деле, я вижу огромный потенциал в вашем устройстве. Как отец со стажем я сталкивался с несколькими проблемами:

                1. Низкое качество собственного воспроизведения песен за счет полного отсутсвия слуха, голоса, а также способности запомнить два куплета к ряду

                2. Музыкальные книги, шкатулки, обезьянки с динамиком — во-первых, ограничен репертуар (белогривые лошадки 50 раз подряд доведут кого угодно), садятся батарейки, произвольное замыкание контактов, когда вдруг что-то начинает орать в 3 ночи, отсутствие регулятора звука.

                3. Интерес ребенка к сложным музыкальным аппаратам с негарантийным ремонтом последних.

                Сейчас я надеюсь, что найдется еще 9 человек, кто сможет инициировать Вас к первой комерческой партии таких устройств.
                • 0
                  Спасибо на добром слове, пока все детки, которые тестдрайвили коробочку, остались довольны.

                  Для совсем малышей (2-х летних) можно карточки заменить игрушками с rfid метками, метки эти продаются в компактном исполнении (в виде 3-х сантиметровых пластиковых дисков толщиной примерно как обычный картон), можно их встраивать в уже имеющиеся игрушки, давая игрушкам тем самым новую жизнь и характер.

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

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