Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
linux:ubuntu:alexamusictitleonwebsite [2019/10/05 13:43] – lunetikk | linux:ubuntu:alexamusictitleonwebsite [2019/11/24 22:11] – lunetikk |
---|
====== Display playing music title on website ====== | ====== Display playing music title on website ====== |
| |
I wrote my own script based on [[linux:ubuntu:alexaremotecontrol|Alexa Remote Control]] to display the current music title played by my Echo device on my website | I wrote my own script based on [[linux:ubuntu:alexaremotecontrol|Alexa Remote Control]] to display the current music title played by my Echo device on my website. Check my updated version [[linux:ubuntu:alexamusictodatabase|here]] |
| |
{{:linux:ubuntu:pasted:20191005-132910.png}} | {{:linux:ubuntu:pasted:20191005-132910.png}} |
The script will execute the the "Alexa Remote Control" with "-q / query queue" to get the current tracks, then cuts out the playing song with all its info and albumcover to pipe it into the php file. | The script will execute the the "Alexa Remote Control" with "-q / query queue" to get the current tracks, then cuts out the playing song with all its info and albumcover to pipe it into the php file. |
| |
<code shellscript copyTracks.sh> | <code bash copyTracks.sh> |
#!/bin/bash | #!/bin/bash |
/alexa/alexa-remote-control/alexa_remote_control.sh -q > /tmp/audio.txt | |
| |
TMPFILE=/tmp/audio.txt | TMPFILE=/tmp/audio.txt |
WEBFILE=/var/www/mysite/audio.php | WEBFILE=/var/www/mysite/audio.php |
| |
OFFLINE=`grep -m1 'message' $TMPFILE | cut -d '"' -f 3 | cut -d ' ' -f 2` | /alexa-remote-control/alexa_remote_control.sh -q > $TMPFILE |
| |
| #OFFLINE=`grep -m1 'message' $TMPFILE | cut -d '"' -f 3 | cut -d ' ' -f 2` |
| OFFLINE=`grep -m1 'message' $TMPFILE | awk 'BEGIN{FS=" "}{gsub(",",""); print $2}'` |
STATE=`grep -m1 'state' $TMPFILE | cut -d '"' -f 4` | STATE=`grep -m1 'state' $TMPFILE | cut -d '"' -f 4` |
| STATENULL=`grep -m1 'state' /tmp/audio.txt | awk 'BEGIN{FS=" "}{gsub(",",""); print $2}'` |
ARTIST=`grep -m1 'subText1' $TMPFILE | cut -d '"' -f 4` | ARTIST=`grep -m1 'subText1' $TMPFILE | cut -d '"' -f 4` |
TITLE=`grep -m1 'title' $TMPFILE | cut -d '"' -f 4` | TITLE=`grep -m1 'title' $TMPFILE | cut -d '"' -f 4` |
echo "" > $WEBFILE | echo "" > $WEBFILE |
| |
if [ "$OFFLINE" != "null" ]; then | if [ "$OFFLINE" != "null" ] && [ "$STATENULL" != "null" ]; then |
echo "<table style="width:100%"><tr><td>" >> $WEBFILE | echo "<table style='width:100%'><col style='width:90%'><col style='width:10%'><tr><td>" >> $WEBFILE |
echo "State: $STATE </br>" >> $WEBFILE | echo "State: $STATE </br>" >> $WEBFILE |
echo "Artist: $ARTIST </br>" >> $WEBFILE | echo "Artist: $ARTIST </br>" >> $WEBFILE |
echo "Iam not listening to music right now..." >> $WEBFILE | echo "Iam not listening to music right now..." >> $WEBFILE |
fi | fi |
| </code> |
| |
| ==== Automation ==== |
| |
| The bashscript can be automated via crontab (example runs every 2 minutes). |
| |
| <code> |
| */2 * * * * /alexa-remote-control/copyTrack.sh >/dev/null 2>&1 |
</code> | </code> |