chill wrote:
> This should be straightforward. You'll need a 'momentary' switch,
> rather than a toggle switch, because the action associated with a button
> is triggered when the gpio pin is earthed briefly. You can set it up so
> that the button issues the 'pause' command when it is pressed. 'Pause'
> will pause the player if it is playing, and release the pause if it is
> paused.
>
> Pick a suitable gpio pin that isn't being used by anything else, such as
> an audio hat. In my example I'll use gpio24. This is a cut down
> version of the script that I use for a button board and a rotary encoder
> - I've trimmed out most of the bits you don't need, but left it so that
> you can add other buttons if you wish.
>
> This particular version of the script will issue the 'pause' command
> with a short press, and the 'stop' command with a press longer than half
> a second (500 millisec).
>
> >
Code:
--------------------
> > #!/bin/sh
>
> # start pigpiod daemon
> pigpiod -t 0 -f -l -s 10
>
> # wait for pigpiod to initialize - indicated by 'pigs t' exit code of zero
>
> count=10 # approx time limit in seconds
> while ! pigs t >/dev/null 2>&1 ; do
> if [ $((count--)) -le 0 ]; then
> printf "\npigpiod failed to initialize within time limit\n"
> exit 1
> fi
> # printf "\nWaiting for pigpiod to initialize\n"
> sleep 1
> done
> printf "\npigpiod is running\n"
>
> # load uinput module - required to be able to send keystrokes
> # then set the permission to group writable, so you don't need to run sbpd
with root permissions
> sudo modprobe uinput
> sudo chmod g+w /dev/uinput
>
> PLAYER_MAC=aa:bb:cc:dd:ee:ff
>
> # button SW1
> SW1=24 # GPIO pin
number
> SH1=PAUS # command for SHORT
press
> LO1=STOP # command for LONG press
> LMS1=500 # milliseconds for long
press
>
> sbpd -v -M $PLAYER_MAC -f /home/tc/sbpd_commands.cfg
b,$SW1,$SH1,2,0,$LO1,$LMS1
--------------------
> >
>
> The button can control any player - if your father has more than one
> player you can put its MAC address in the script so that it controls
> the desired player. If he only has one player, you can remove the -M
> option from the command in the last line.
>
> The commands should be defined in a file in your home directory called
> sbpd_commands.cfg. This is my version - I've left all the commands I
> use in there, so feel free to experiment.
>
> >
Code:
--------------------
> > #
> # <CODE>=<JSON Formatted lms cli command>
> #
> # CODE - MUST be a 4 character code, to be reference on command line
when
> #
> # For commands reference the LMS cli documentation, commands are to
be JSO
> #
> # Default commands
> PAUS=["pause"]
> VOL-=["button","voldown"]
> VOL+=["button","volup"]
> PREV=["button","rew"]
> NEXT=["button","fwd"]
> POWR=["power"]
> MIX+=["mixer","volume","+5"]
> MIX-=["mixer","volume","-5"]
> VMAX=["mixer","volume","100"]
> MUTE=["mixer","volume","0"]
> PLAY=["button","rew.single"]
> STOP=["stop"]
> SHUF=["button","shuffle.single"]
> RSRT=["restartserver"]
> PRE1=["button","preset_1.single"]
> PRE2=["button","preset_2.single"]
> PRE3=["button","preset_3.single"]
> PRE4=["button","preset_4.single"]
> PRE5=["button","preset_5.single"]
> PRE6=["button","preset_6.single"]
> PRE7=["button","preset_7.single"]
>
--------------------
> >
>
> You'll need to install the sbpd extension, and I'm not sure if that
> also installs pigpio as a dependency - if not, install that too.
>
> To use this:
> 1) wire your momentary switch so that it connects gpio24 (in this
> case) to one of the GND pins.
> 2) Put the above script into a file in your home folder, e.g.
> sbpd-script.sh, and make it executable ('sudo chmod +x
> sbpd-script.sh').
> 3) Put '/home/tc/sbpd=script.sh' into one of the user commands on the
> tweaks page.
> 4) Put 'sbpd_commands.cfg' into your home folder.
>
> Reboot and the button should work.
Thank you very much,
now it is a lot clearer to me, how this is supposed to work.
I will try to get a momentary switch in the next few days and then will
try to do it:-)
Regards
Pommes
The Earth Has Music For Those Who Listen
------------------------------------------------------------------------
Pommes's Profile: http://forums.slimdevices.com/member.php?userid=67682
View this thread: http://forums.slimdevices.com/showthread.php?t=114075
_______________________________________________
diy mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/diy