Здрастє, я Tarasius. Це мій бложик.

Особисті думки, нариси, проекти та коротко про мене

Raspberry Pi: Інтернет-радіо

Є Распі, колонки та інтернет. Чому б не зробити плеєр інтернет-радіо? Сказано – зроблено. Нижче приведений невеличкий скрипт, який переключає радіостанції по колу. Список радіостанцій та номер останньої зберігається в INI файлі виду

[current]
station = 2

[stations]
1 = http://cast.radiogroup.com.ua:8000/jamfm
2 = http://online-radioroks.tavrmedia.ua/RadioROKS
3 = http://nrcu.gov.ua:8000/ur1-mp3-m

В цьому файлі має бути список радіостанцій, пронумерований починаючи з одиниці. Секція current зберігає значення радіостанції, що грається. Після кожного запуску скрипту цей номер буде збільшуватись на 1, а якщо він стане більше, ніж кількість станцій, то повернеться до першої. Таким чином запускаючи даний скрипт, ми будемо перемикати станції по колу.
В даному прикладі використовується плеєр mpg123, який треба поставити окремо, але його можна замінити на будь-який інший.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, ConfigParser

cfgfilename = "radio.ini"

Config = ConfigParser.ConfigParser()
Config.read(cfgfilename)
curstation = int(Config.get("current", "station"))

num = 1
for number, url in Config.items("stations"):
  if int(number)<>num:
    print "Error in INI file. URL with num %s must have num %s" % (number,num)
  num+=1

if curstation>num-2:
  curstation = 1
else:
  curstation+=1

os.system("mpg123 -q '"+ Config.get("stations", str(curstation)) +"'")

cfgfile = open(cfgfilename,'w')
Config.set("current","station", curstation)
Config.write(cfgfile)
cfgfile.close()

Отже, маємо скрипт запуску радіо. А якщо на Распі є кнопки, то зробимо запуск радіо по короткому натисненню кнопки і вимкнення по довгому. За деталями дивитись пост Raspberry Pi: Кнопки

#!/bin/bash

echo "Button 2 pressed" | wall
/leds+buttons/button4long
python /leds+buttons/radio.py > /dev/null&
exit
#!/bin/bash

echo "Button 2 long pressed" | wall
pkill mpg123
exit

 

Сподобалось? Поділися з друзями!

Позначки:, ,

Категорія: Інженерія. Автор: tarasius. Опубліковано 10 лютого 2015р. в 15:49.

Прокоментуй!



Прокоментуй!


Залишити коментар