랭킹으로 돌아가기

MiczFlor/RPi-Jukebox-RFID

PHPphoniebox.de

A Raspberry Pi jukebox, playing local music, podcasts, web radio and streams triggered by RFID cards, web app or home automation. All plug and play via USB. GPIO scripts available.

rfidjukeboxcontactlessmusicboxraspberryrfid-jukeboxaudio
스타 성장
스타
1.8k
포크
461
주간 성장
이슈
164
5001k1.5k
2017년 3월2020년 4월2023년 6월2026년 7월
아티팩트Packagistcomposer require miczflor/rpi-jukebox-rfid
README

Phoniebox: the RPi-Jukebox-RFID

GitHub last commit (branch)

Python Checks and Tests Test Install Scripts Debian CodeQL PHP Tests

Coverage Status

Matrix chat

Introduction

Phoniebox is a contactless jukebox for the Raspberry Pi, playing audio files, playlists, podcasts, web streams and spotify triggered by RFID cards. All plug and play via USB, no soldering iron needed. It also features GPIO buttons control support.

Everyone builds an original

This is one of the most inspiring and gratifying experiences: Phoniebox is about Open Source AND Open Design.

See innovation, upcycling and creativity in the Phoniebox Gallery

Caption Caption Caption Caption Caption Caption

Install Phoniebox

🔥 Version 3 is coming

The goal for Version 3 was to tidy up the codebase, focus on a single programming language for the core (Python), establish a solid plugin system and build a responsive web client. Read on here if you want to learn about more reasons.

👋 Looking for adopters, testers and contributors

If you want to test or help develop this new version called future3, let us know what you think about the new architecture, the new web application and help us find bugs (or fix them proactively).

While Version 3 is still under development, it is becoming a lot more stable! Although not all of the features from version 2.x have been ported to version 3 so far.

If you seek the adventure, your support will be more then welcome. Before contributing, check out the following references.


🎶 Version 2

[!NOTE] Version 3 is becoming mature and will soon be the new default of Phoniebox. Therefore Version 2 is slowly going into a maintenance mode and no new features will be added to this version.

Check out the following references.

Features Version 2

  • The one-line install script handles both Classic and +Spotify when setting up your Phoniebox
    • integrated selection of RFID readers
    • features non-interactive installs based on a config file
  • RFID control for playout and controlling your Phoniebox (e.g. set maximum volume with RFID cards).
  • Support for various RFID readers, e.g.
  • GPIO control for buttons and much more to control your Phoniebox via GPIO.
  • Control via smooth Web App running on ajax from your phone, tablet or PC. You can play, upload, move files, assign new RFID cards, control playout, settings, etc.
  • Support for files with embedded chapters metadata (like m4a)
  • Customizable poweroff command
  • WiFi management
    • RFID cards to toggle WiFi (or switch it on/off)
    • Read out the WiFi IP address (if you are connecting to a new network and don't know where to point your browser)
    • Hotspot Phoniebox: ad-hoc hotspot if no known network found (IP: 10.0.0.5 SSID: phoniebox Password: PlayItLoud)
  • Touchscreen LCD display Player (file: index-lcd.php in web app)
  • Integrate your Phoniebox in your Smart Home with MQTT.
  • Player control
    • Playout Resume switch for audio books, allowing you to jump straight back to where you were (unless you fell asleep...).
    • Playout Shuffle switch to mix up your playlists.
  • Audio sources

Quick install Version 2

Contact and Support

Documentation

Documentation can be found in the GitHub wiki for Phoniebox. Please try to add content in the wiki regarding special hardware, software tweaks and the like.

Manual

In the Manual you will learn:

Troubleshooting

There is a growing section of troubleshooting including:

  • I want to improve the onboard audio quality
  • I am moving, how do I get the Phoniebox into my new WiFi network?
  • The RFID Reader doesn't seem to work.
  • Changing the volume does not work, but the playout works.
  • Script daemon_rfid_reader.py only works via SSH not by RFID cards.
  • Script daemon is closing down unexpectedly.
  • Everything seems to work, but I hear nothing when swiping a card.
  • I would like to use two cards / IDs to do the same thing.

Hardware aka Shopping List

Here is a list of equipment needed. You can find a lot second hand online (save money and the planet). The links below lead to Amazon, not at all because I want to support them, but because their PartnerNet program helps to support the Phoniebox maintenance (a little bit...).

[!NOTE] Depending on individual projects, the hardware requirements vary.

Raspberry Pi

You might be surprised how easy and affordable you can get an RPi second hand. Think about the planet before you buy a new one.

RFID Reader and cards / fobs

Speakers / amps

Arcade Buttons

Special hardware

These are links to additional items, which will add an individual flavour to your Phoniebox setup. Consult the issue threads to see if your idea has been realised already.

Components

Special hardware is now organised in the folder components. If you have new hardware attached to your Phoniebox, please add to this library! It currently contains soundcards, displays, GPIO controls, RFID reader, smarthome integration.

Support Phoniebox

If you like your Phoniebox, consider to buy me a coffee or donate via PayPal to micz.flor@web.de using the friends option.

Media

Visit the Phoniebox Gallery

Videos and Screenshots

Prototype of the RFID jukebox

See the Phoniebox code in action, watch this video and read the blog post from iphone-ticker.de

We love Tech published a video screencast on how to build your Phoniebox (in German), you can find all the steps and see the final product here:

Installation und Hardware Web App and Audio / Spotify The finished Phoniebox in action
Installation und Hardware Web App and Audio / Spotify The finished Phoniebox in action

A new video screencast about

What makes this Phoniebox easy to install and use:

  • Runs on all Raspberry Pi models (1, 2, 3 and 4) and Raspberry Zero.
  • Just plug and play using USB, no soldering iron needed.
  • Once the Phoniebox is up and running, add music from any computer on your home network.
  • Register new RFID cards easily without having to connect to the RPi.
  • Play single or multiple files, podcasts or web streams.
  • Volume control is also done with RFID cards or key fobs.
  • Connect to your Phoniebox via your wifi network or run the Phoniebox like an access point and connect directly without a router.
  • Bonus: control the Phoniebox from your phone or computer via a web app.

The web app allows you to change the volume level, list and play audio files and folders, stop the player and shut down the RPi gracefully.

The web app runs on any device and is mobile optimised. It provides:

  • An audio player to pause, resume, shuffle, loop, stop and skip to previous and next track.
  • Sub folder support: manage your collection in sub folders. Phoniebox has two play buttons: only this folder and eeeeverything in this folder.
  • Manage files and folders via the web app.
  • Register new RFID cards, manage Phoniebox settings, display system info and edit the wifi connection.
  • Covers displayed in the web app (files called cover.jpg).

Sustainability

You might be surprised how easy and affordable you can get a RaspberryPi or an "appropriate" housing for your Phoniebox second hand. Think about the planet before you buy a new one. Creating a Phoniebox may be sustainable for the following reasons:

  • You buy things second hand or do upcycling on unused objects and reduce newly produced products
  • You built your Phoniebox yourself, so maintaining and repairing is not a problem (Additionally a great community helps you)
  • Since the Phoniebox uses Linux as a base system it's very unlikely that you run out of system and security updates - so it can run and run and run...
  • RFID cards or tags can be reused - no need to buy new plastic elements for changing the music or story linked to a card
  • Build it together with your kids to show them that building things on their own is possible and in cooperation with others makes life easier and fun at the same time

Contributing improvements

Read the CONTRIBUTING.md file for more infos on how to contribute code.

Acknowledgments

There are many, many, many inspiring suggestions and solutions on the web to bring together the idea of a jukebox with RFID cards. I want to mention a few of these that have inspired me.

I also want to link to two proprietary and commercial projects, because they were an inspiration in the early days of the Phoniebox. Since the first release, the Phoniebox code has shown the power of open source development. Today, Phoniebox might be the most versatile project of its kind.

관련 저장소
flipperdevices/flipperzero-firmware

Flipper Zero firmware source code

CGNU General Public License v3.0nfcrfid
flipper.net
16.3k3.4k
ikarus23/MifareClassicTool

An Android NFC app for reading, writing, analyzing, etc. MIFARE Classic RFID tags.

JavaMavenGNU General Public License v3.0mifareandroid
icaria.de/mct/
6.2k1k
RfidResearchGroup/proxmark3

Iceman Fork - Proxmark3

CGNU General Public License v3.0nfcrfid
icedev.se
5.8k1.4k
geo-tp/ESP32-Bit-Pirate

A Hardware Hacking Tool with Web-Based CLI That Speaks Every Protocol

C++MIT Licenseesp32hardware-hacking
geo-tp.github.io/ESP32-Bit-Pirate/
4.4k350
RfidResearchGroup/ChameleonUltra

The new generation chameleon based on NRF52840 makes the performance of card emulation more stable. And gave the chameleon the ability to read, write, and decrypt cards.

CGNU General Public License v3.0125khzchameleon
2.8k414
emsec/ChameleonMini

The ChameleonMini is a versatile contactless smartcard emulator compliant to NFC. The ChameleonMini was developed by https://kasper-oswald.de. The device is available at https://shop.kasper.it. For further information see the Getting Started Page https://rawgit.com/emsec/ChameleonMini/master/Doc/Doxygen/html/_page__getting_started.html or the Wiki tab above.

COthernfccard
1.9k399
18601949127/DiDiCallCar

这是我自己做的一个类似滴滴打车的Android出行项目,主要针对滴滴等出行平台一直饱受质疑的“人车不符”问题,以及当前越发火热的或计划和出海战略,给出行项目增加了下面几个功能: 1. RFID识别验证功能:在司机证件或者车内识别硬件嵌入RFID识别芯片,乘客使用手机读取到芯片信息,并且通过网络发送到出行平台数据库进行验证(我用JNI加了一个C语言的MD5加密算法对识别到的信息进行了加密)。如果不是合规的“人”或“车”,则不能完成订单并向平台或监管单位汇报当前位置。(为了方便读者测试,可以使用手机读取任何一个加密或非加密RFID芯片,比如银行卡、公交卡等,我在代码中的验证前阶段把芯片信息都换成我自己的司机信息,确保读者测试时可以收到服务器的回复) 2. 海外版功能:点击切换当前语言。 3. 司机证件号码识别功能:读取司机证件上的证件号码,也可以用来与出行平台数据库的接单司机信息进行。I complete this whole project on my own . Including Android application programming,web server ( Apache + PHP + MySQL), and UI. 1.Map route planing。You can use mobile phone choose pick up & destination address,application provide address name hint and draw optimized route for user , then call car for you. 2.RFID authentication function:User can use application to scan driver license or other RFID hardware, then use NDK MD5 algorithm encrypt RFID number, and send it to Web Server Database, check with driver information and authenticate ID number , if ID number coherent with driver info , send back driver information to User and continue call car order . record user location and alert if ID not coherent. 3.Driver License Number Recognition : Application can recognize driver license digit number ,and also can send to web server for authentication & feed back result to user.

JavaMavenandroidrfid
1.2k385