You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+2-12
Original file line number
Diff line number
Diff line change
@@ -15,16 +15,6 @@
15
15
16
16
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.
17
17
18
-
## Important Notice regarding Spotify Integration
19
-
20
-
**Spotify has [disabled access to libspotify on May 16, 2022](https://developer.spotify.com/community/news/2022/04/12/libspotify-sunset/).**
21
-
22
-
This means **Spotify in Phoniebox doesn't work at the moment**. For further information see [Spotify FAQ](https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/Spotify-FAQ)
23
-
24
-
We are working to provide an integrated solution.
25
-
For Version 2 there is a possible fix to reactivate spotify with a manual installation described [here](https://github.com/MiczFlor/RPi-Jukebox-RFID/issues/1815#issuecomment-1666535983).
26
-
For Version 3 [#2164](https://github.com/MiczFlor/RPi-Jukebox-RFID/pull/2164) is laying the groundwork. Help is greatly appreciated.
27
-
28
18
## The new Phoniebox Calendar is here
29
19
30
20
Another bunch of wonderful designs!
@@ -80,11 +70,11 @@ Check out the following references.
80
70
*[**RFID** control](https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/MANUAL#cardcontrol) for playout and controlling your Phoniebox (e.g. set [maximum volume with RFID](https://github.com/MiczFlor/RPi-Jukebox-RFID/pull/633) cards).
81
71
* Support for various RFID readers, e.g.
82
72
* USB
83
-
*[RC422](components/rfid-reader/RC522/README.md)
73
+
*[RC522](components/rfid-reader/RC522/README.md)
84
74
*[PN532](components/rfid-reader/PN532/README.md)
85
75
* PC/SC
86
76
* also [multiple readers](https://github.com/MiczFlor/RPi-Jukebox-RFID/pull/1012#issue-434052529) simultaneously
87
-
*[**GPIO** control](components/gpio_control/README.md) for [buttons](https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/Using-GPIO-hardware-buttons), [knobs / dials](https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/Audio-RotaryKnobVolume) and much more to control your Phoniebox via GPIO.
77
+
*[**GPIO** control](components/gpio_control/README.md) for [buttons](https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/Using-GPIO-hardware-buttons) and much more to control your Phoniebox via GPIO.
88
78
* Control via smooth [**Web App**](https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/MANUAL#webapp) running on ajax from your phone, tablet or PC. You can play, upload, move files, assign new RFID cards, control playout, settings, etc.
89
79
* Support for files with embedded chapters metadata (like m4a)
Copy file name to clipboardexpand all lines: components/bluetooth-sink-switch/README.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ If no bluetooth device is connected, the output defaults back to speakers. After
16
16
17
17
### Limitations
18
18
19
-
This feature only works for the *Classic* Edition. Why? It relies on the mpd multiple output channels feature to switch between outputs. This is no available in mopidy, which is used in the Spotify Edition.
19
+
This feature only works for the *Classic* Edition. Why? It relies on the mpd multiple output channels feature to switch between outputs. This is not available in mopidy, which is used in the Spotify Edition.
Copy file name to clipboardexpand all lines: components/gpio_control/README.md
+65-11
Original file line number
Diff line number
Diff line change
@@ -24,20 +24,18 @@ Up to now the following input devices are implemented:
24
24
***ShutdownButton**:
25
25
A specialized implementation for a shutdown button with integrated (but optional) LED support. It initializes a shutdown if the button is pressed more than `time_pressed` seconds and a (optional) LED on GPIO `led_pin` is flashing until that time is reached. For additional information, see [extended documentation below](#shutdownbutton).
26
26
27
-
***RotaryEncoder**:
28
-
Control of a rotary encoder, for example KY040, see also in [Wiki](https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/Audio-RotaryKnobVolume).
29
-
It can be configured using `pinUp` and `PiNDown` (use GPIO numbers here), `functionCallUp`, `functionCallDown`, and `timeBase` see [extended documentation below](#rotaryencoder).
30
-
31
27
***TwoButtonControl**:
32
28
This Device uses two Buttons and implements a third action if both buttons are pressed together. See [extended documentation below](#twobuttoncontrol).
33
29
30
+
***RotaryEncoder**:
31
+
Control of a rotary encoder, for example KY040.
32
+
It can be configured using `Pin1` and `Pin2` (use GPIO numbers here), `functionCall1`, `functionCall2` see [extended documentation below](#rotaryencoder).
33
+
34
34
***StatusLED**:
35
35
A LED which will light up once the Phoniebox has fully booted up and is ready to be used. For additional information, see [extended documentation below](#statusled).
36
36
37
37
Each section needs to be activated by setting `enabled: True`.
38
38
39
-
Many example files are located in `~/RPi-Jukebox-RFID/components/gpio_control/example_configs/`.
40
-
41
39
## Extended documentation
42
40
43
41
This section provides some extended documentation and guideline. Especially some exemplary configurations are introduced showing how these controls can be set up in the configuration file `~/RPi-Jukebox-RFID/settings/gpio_settings.ini`.
@@ -172,19 +170,75 @@ Furthermore, the following settings can be used as described for the [regular bu
172
170
A RotaryEncoder can be created using an `ini` entry like this:
173
171
174
172
```bash
175
-
[VolumeControl]
173
+
[RotaryVolumeControl]
176
174
enabled: True
177
175
Type: RotaryEncoder
178
-
Pin1: 7
179
-
Pin2: 8
180
-
timeBase: 0.02
176
+
Pin1: 22
177
+
Pin2: 23
178
+
timeBase: 0.1
181
179
functionCall1: functionCallVolU
182
180
functionCall2: functionCallVolD
183
181
```
184
182
185
-
Pin1 and FunctionCall1 correspond to rotary direction "up", while Pin2 and FunctionCall2 correspond to "down".
183
+
***enabled**: This needs to be `True` for the rotary encoder to work.
184
+
***Pin1**: GPIO number corresponding to rotary direction "clockwise" ('CLK')
185
+
***Pin2**: GPIO number corresponding to rotary direction "counter clockwise" ('DT')
186
+
***functionCall1**: function called for every rotation step corresponding to rotary direction "clockwise". See below for passed arguments. See [function documentation below](#functions).
187
+
***functionCall2**: function called for every rotation step corresponding to rotary direction "counter clockwise". See below for passed arguments. See [function documentation below](#functions).
188
+
***timeBase**: Factor used for calculating the rotation value base on rotation speed, defaults to `0.1`. Use `0` for deactivating rotation speed influence.
189
+
Example:
190
+
* a single rotation step leads to the value 1 passed to the function.
191
+
* steady rotation of two to or more steps, leads to the value 1 for the first call and the value 2 for all further calls.
192
+
* speeding up rotation of two to or more steps, leads to the value 1 for the first call, the value 2 for the second, the value 3 for the third and so on.
193
+
***functionCall1Args**: Arguments for `functionCall1`, defaults to `None`. If defined takes precedence over rotation value. Arguments are ignored, if `functionCall1` does not take any.
194
+
***functionCall2Args**: Arguments for `functionCall2`, defaults to `None`. If defined takes precedence over rotation value. Arguments are ignored, if `functionCall1` does not take any.
195
+
196
+
To also use the push button of the encoder just a button definition:
197
+
```bash
198
+
[Mute]
199
+
enabled: True
200
+
Type: Button
201
+
Pin: 27
202
+
functionCall: functionCallVol0
203
+
```
204
+
186
205
Note that the old configuration entries PinUp/PinDown and functionCallUp/functionCallDown are deprecated and might stop working in future.
187
206
207
+
208
+
```bash
209
+
[RotarySeekingControl]
210
+
enabled: True
211
+
Type: RotaryEncoder
212
+
Pin1: 22
213
+
Pin2: 23
214
+
timeBase: 0.1
215
+
functionCall1: functionCallPlayerSeekFwd
216
+
functionCall1Args: 5
217
+
functionCall2: functionCallPlayerSeekBack
218
+
functionCall2Args: 5
219
+
```
220
+
221
+
In this example, the encoder will be used to seek for- and backwards by 5 seconds on every rotation step. The rotation value will **NOT** be used in this case as the function args are defined!
222
+
223
+
224
+
#### Circuit diagram
225
+
```text
226
+
.---------------. .---------------.
227
+
| | | |
228
+
| CLK |----------------------| GPIO 22 |
229
+
| | | |
230
+
| DT |----------------------| GPIO 23 |
231
+
| | | |
232
+
| SW |----------------------| GPIO 27 |
233
+
| | | |
234
+
| + |----------------------| 3.3V |
235
+
| | | |
236
+
| GND |----------------------| GND |
237
+
| | | |
238
+
'---------------' '---------------'
239
+
KY-040 Raspberry
240
+
```
241
+
188
242
### StatusLED
189
243
190
244
A StatusLED can be created using an `ini` entry like this:
0 commit comments