Озвучивание торговых площадей при помощи интернет радио (пример исполнение канала через устройства raspberry pi)

Собираем и пишем MP3 и Online Radio плеер на Raspberry Pi

Что нам необходимо?
Обязательно:
1.Наушники\Колонка - проверять звук.
2.Кнопки 5 штук - кнопки для перемотки\паузы и т.п (Если рядом нет магазинов, то разбираем мышку)
3.Паяльник - без комментариев.
Не обязательно, но я использовал:
1.Аккумулятор - если вы хотите сделать малинку переносной.В моём случае был аккумулятор от Nokia 5130.
2.Wifi адаптер - конектиться по SSH и слушать онлайн радио через малинку.
3.led 2 штуки - индикация включения и нажатия кнопки.
Необходимое ПО:
putty - ssh
filezilla - ftp

Начинаем

Через raspi-config ставим "Console Text console, requiring login(default)"
После перезагрузки подключаемся через SSH.
Нам необходимо сразу входить в систему и запускать скрипт "управления".

1. Автологин
Редактируем inittab
sudo nano /etc/inittab

находим строку, похожую на

 
1:2345:respawn:/sbin/getty --noclear 38400 tty1

меняем на

 
1:2345:respawn:/sbin/getty --autologin pi --noclear 38400 tty1

 

2. Автоматическое подключение к интернету через wifi.
Редактируем interfaces
sudo nano /etc/network/interfaces

 

Содержимое interfaces
auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "имя точки"
wpa-psk "пароль"

 

 

2. Ставим сам плеер и настраиваем его:
Установка mpc,mpd
sudo apt-get install mpd mpc

 

Настройка mpd
sudo nano /etc/mpd.conf

Ищем строку:
bind_to_address “localhost”
Изменяем на:
#bind_to_address “localhost”

Так же изменяем:
music_directory "/home/pi/music/"
playlist_directory "/home/pi/music/"
db_file "/home/pi/music/tag_cache"
log_file "/home/pi/music/mpd.log"
pid_file "/home/pi/music/pid"
state_file "/home/pi/music/state"
sticker_file "/home/pi/music/sticker.sql"
user "pi"

Убираем # из строк:
auto_update "yes"
auto_update_depth "5"

 

 

3. Добавляем скрипт, который будет работать после запуска малинки.
sudo nano /etc/init.d/radio
sudo chmod 755 /etc/init.d/radio
sudo update-rc.d radio defaults

 

 

Содержимое /etc/init.d/radio
#!/bin/sh
sudo service mpd restart
mpc clear
mpc update
sudo python /home/pi/script.py

 

 

Содержимое script.py. Не забудьте вставить ссылку на Ваш радио-поток!
import os
import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)

#===MPC setup===
os.system("mpc stop")#just leave it here
os.system("mpc repeat on")#turn on repeat
os.system("mpc add http://ССЫЛКА НА ВАШЕ РАДИО") # Ваш радио-канал
os.system("mpc listall | mpc add")#adding music from music folder
#===GPIO setup===
#===LED===
GPIO.setup(27, GPIO.OUT)#led 1
GPIO.setup(17, GPIO.OUT)#led 2
#===Buttons===
GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(25, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(22, GPIO.IN, pull_up_down=GPIO.PUD_UP)
while True:
GPIO.output(17,True)#Just for make sure our script is working
GPIO.output(27,False)#Turn off led 2
if (GPIO.input(4) == 0):
os.system("mpc toggle")
GPIO.output(27,True) #pressed button = turn on led 2
time.sleep(1)
if (GPIO.input(24) == 0):
os.system("mpc volume -5")
GPIO.output(27,True)
time.sleep(1)
if (GPIO.input(22) == 0):
os.system("mpc volume +5")
GPIO.output(27,True)
time.sleep(1)
if (GPIO.input(23) == 0):
os.system("mpc next")
GPIO.output(27,True)
time.sleep(1)
if (GPIO.input(25) == 0):
os.system("mpc prev")
GPIO.output(27,True)
time.sleep(1)
GPIO.cleanup()
time.sleep(1)

Самое время припаять кнопки,led и соединить. Если необходимо и аккумулятор тоже.

Купить готовый плеер iTeleradio можно на сайте linuxcenter.ru