0,0
рейтинг
2 декабря 2013 в 17:04

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

Проект «музыка по карточкам» прошел путь от 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. Схема подключения и установка необходимых питоновых модулей (на испанском)
Александр Николаев @variomap
карма
46,5
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

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

Комментарии (18)

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

            А вот в ошейник можно наверное антенну по всей окружности сделать и порадовать кота таким высокотехнологичным применением ошейника… вопрос в том, как объяснить коту, что он должен быть рад! :)
            • 0
              У кота есть свои 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
      На самом деле уже заказал расберюху и ридер, но в принципе если бы было готовое изделие по адекватной цене с удовольствием прикупил бы.

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