Pull to refresh

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

Reading time 2 min
Views 25K
Проект «музыка по карточкам» прошел путь от 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. Схема подключения и установка необходимых питоновых модулей (на испанском)
Tags:
Hubs:
+29
Comments 18
Comments Comments 18

Articles