Оглавление:

RFID Jukebox: 3 шага (с изображениями)
RFID Jukebox: 3 шага (с изображениями)

Видео: RFID Jukebox: 3 шага (с изображениями)

Видео: RFID Jukebox: 3 шага (с изображениями)
Видео: КАЖДОМУ ПО ЛОХОТРОНУ! ► JackBox Party Pack 3 Смертельная вечеринка 2024, Ноябрь
Anonim
Image
Image
RFID Музыкальный автомат
RFID Музыкальный автомат

Это моя работа в конкурсе «Аудио» - если она вам интересна, то проголосуйте, пожалуйста

В этом сообщении будет предпринята попытка создать "удобную для прокрутки" версию обучающего видео, включенного в верхнюю часть этого сообщения

В видео очень подробно рассказывается о потоке управления и о том, какое программное обеспечение я использую. Взгляните на это, если хотите узнать больше.

Поток следующий:

Нормальная работа - чтение карт и запуск Spotify для воспроизведения песен:

1) RFID-метка считывается совместимым кард-ридером

2) Кардридер выдает серийные данные для каждой карты на Arduino

3) Arduino "Последовательно печатает" полученные данные на Raspberry Pi.

4) Pi получает идентификатор карты от Arduino. Pi ищет идентификатор карты в таблице, чтобы найти соответствующий URI Spotify.

5) Pi вызывает Spotify API для воспроизведения выбранного URI

Этап настройки: привязка RFID-метки к Spotify URI

1) через 3) сверху

4) Pi ожидает аргумент командной строки с конкретным URI Spotify, который вы хотите связать с картой.

5) Pi создает новую запись (или отменяет, если идентификатор карты уже найден в таблице) для пары cardID, SpotifyURI

Таким образом, вы не «программируете» эти теги. Эти теги имеют собственный встроенный микроконтроллер, который модулирует поле, исходящее от катушки считывателя, в соответствии с его конкретным идентификатором. Все, что вы делаете, это создаете словарь пар ключ-значение, из которого будет считываться число Пи.

Например, допустим, у меня есть карта с идентификатором «2_54_57_53_23_33_3». Я изначально не знаю, что это за идентификатор, но когда я читаю вывод Arduino после его сканирования, я получаю вот что.

Допустим, я хочу, чтобы на этой карточке играл альбом лучших хитов Эла Грина, когда он будет отсканирован. Для этого я бы пошел в Spotify и скопировал URI альбома, получив «spotify: album: 6W0V8B0fJItvOwC8v114rZ». Теперь, как видно на видео, я передаю этот URI программе на Python, чтобы связать идентификатор карты «2_54_57_53_23_33_3» с URI spotify «spotify: album: 6W0V8B0fJItvOwC8v114rZ» в таблице. «Ключ» - это идентификатор карты, а «значение» - это URI.

Теперь, когда я развертываю основную программу и мой пи получает идентификатор карты «2_54_57_53_23_33_3», он будет искать ее в таблице, собирать связанный с ней URI и предоставлять URI в качестве аргумента Spotify API.

Запасы

Выделенный компьютер (для этого урока лучше всего подходит raspberry pi)

Модуль считывания карт RFID для подключения к выделенному компьютеру

Карты RFID, совместимые с вашим считывателем

Необязательно, но рекомендуется: запасной Arduino в качестве посредника между устройством чтения и компьютером для экономии времени разработки.

Шаг 1. Обзор кода

Обзор кода
Обзор кода
Обзор кода
Обзор кода

Прикрепленные снимки экрана показывают базовую структуру кода для взаимодействия с последовательным интерфейсом на Arduino и Pi. Преимущество использования Arduino в качестве посредника заключается в том, что я могу подключить его непосредственно к USB-порту Pi в качестве последовательного входа. Это избавило меня от тонны головной боли, поскольку теперь мне не нужно знать, как настроить контакты GPIO в качестве последовательного ввода.

Моя конкретная комбинация карта / считыватель дает мне необычный результат: все карты начинаются с 2 и заканчиваются цифрой 3. Это дало мне быстрый и грязный способ узнать, когда передача начинается или заканчивается. В зависимости от имеющихся у вас карт / ридеров ваш код придется изменить.

Шаг 2: интеграция Spotify

Image
Image
Интеграция Spotify
Интеграция Spotify
Интеграция Spotify
Интеграция Spotify
Интеграция Spotify
Интеграция Spotify

Теперь самое сложное - взаимодействие со Spotify. Здесь я сильно полагался на 3 ресурса:

1) Проект Spotifyd, который позволяет вашему устройству выступать в качестве дополнительного динамика для вашей учетной записи Spotify.

2) Проект Diskplayer, в котором какой-то случайный парень написал свои собственные сценарии go для взаимодействия с Spotify API.

3) Этот красивый мужчина, перебравший OAUTH на Spotify. Без него я бы потратил еще столько часов.

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

Затем, когда это сработало, я использовал Diskplayer для тестирования API Spotify. Именно здесь он попросит вас предоставить токен Spotify API. Если вы используете установку без головы, как я, вы не сможете открыть ее в браузере на Pi. По этой причине вам нужно будет выполнить шаги, перечисленные в видео выше в шаге 3). Этот проект не состоялся бы без человека из этого видео!

Шаг 3: Сделайте это красивее

Делаем это красивее!
Делаем это красивее!

Как только все заработает, у вас останется беспорядок проводов, которые воспроизводят все, что вы хотите, от Spotify. Чтобы очистить его, положите все в футляр и распечатайте несколько этикеток для своих открыток! Я использовал этикетки Avery 22822 (которые идут в комплекте с пустым шаблоном Photoshop для печати дома). Я смог получить изображения из Google и вставить их в шаблон фотошопа по мере необходимости. После нескольких часов изучения Photoshop я распечатал и наклеил этикетки на свои пустые RFID-метки.

Я получил много удовольствия от этого проекта и буду использовать его в будущем, чтобы развлекать людей в моей квартире. Дай мне знать, если ты сделаешь это сам!

Я участвую в конкурсе «Аудио» - если вам понравилось, не стесняйтесь голосовать. Спасибо!

Рекомендуемые: