Можете да използвате Raspberry Pi за разнообразни проекти. Но наскоро установих, че можете да използвате и малкото устройство като FM предавател. И това се случва без много раздразнение.

Голяма част от хората в "Код клуб пихак" написаха програма за използване на хардуер на "Малина Пи", чиято цел е да генерират часовникови сигнали с широкоспектърно спектър, за да излъчват FM радиосигнали.

Заден план

Ето малко предистория. Освен познатите аудио, Ethernet, HDMI и USB портове на Raspberry Pi, устройството има и интерфейси, които са проектирани да се свързват по-директно с други чипове и модули.

Тези "пристанища" с общо предназначение (GPIO) са 26-пина (подредени в 2 × 13 ленти), които виждате на дъската. Тези интерфейси не са plug-and-play, но могат да се контролират чрез софтуер.

За да предавате изненадващо силен FM сигнал, всичко, от което се нуждаете, е да прикрепите проводник към 4-пинов GPIO. Дори без кабела, FM сигналът, излъчван от Raspberry Pi, ще бъде качен от близките FM приемници.

Бележка : Законите за излъчване на FM сигнали варират в различните страни. Моля, проверете местните правила, преди да опитате този проект.

Вземи, остави, тръгни

Включете Pi и се насочете към командния ред чрез SSH или директно да влезете в устройството.

Сега ще вземем кода, написан в hackfest на Code Club, и ще го извлечем:

 mkdir ~ / pifm cd pifm wget http://omattos.com/pifm.tar.gz tar zxvf pifm.tar.gz 

Директорията вече съдържа шест файла. Изненадващо това е всичко за него. Вече можете да излъчвате включения файл "sound.wav":

 sudo ./pifm sound.wav 102.3 

Сега вземете FM приемник и го поставете на FM 102.3 и трябва да чуете музиката на Star Wars. Всъщност можете да промените честотата на излъчване от 88 MHz до 108 MHz само чрез добавяне на честотата на канала в края на командата.

Пускане на песни

Можете да възпроизвеждате и други аудио файлове, но те трябва да са само 16-битови 22050 Hz моно и само във формат WAV. Това може да изглежда като истинско ограничение, но наистина не е така. Всичко, от което се нуждаете, е софтуерът за звуков обмен на SoX, който ще обработва вашия MP3 файл и ще го преобразува в WAV файла в движение.

Инсталирайте аудио редактора и неговите зависимости с:

 sudo apt-get инсталирате sox libsox-fmt-all 

Когато това стане, въведете следната команда, замествайки "SomeSong.mp3" с името на MP3 файла, който искате да играете:

 sox -t mp3 SomeSong.mp3 -t wav -r 22050 -c 1 - | sudo. / пифм - 102.3 

Първата част от командата превежда МР3 файла във WAV файл, променя неговата честота на изваждане на аудио сигнал до 22050 и смесва пистата на моно. Преобразуваната траектория се изпраща към стандартния изход, обозначен с тирето (-) и след това се предава (|) в стандартния вход на командата pifm.

Единствената разлика в командата pifm в горния пример е, че вместо да посочим името на файла за излъчване, искаме скриптът да предава стандартен вход.

Ако все още имате FM приемник, настроен на 102.3 честота, сега трябва да чуете вашето MP3! Отново, подобно на оригиналния пример, не се колебайте да замените честотата на никъде между 88 MHz и 108 MHz.

Излъчване на подкасти

Можете да направите някои чудесни неща със Сокс. Можете например да го използвате, за да излъчвате любимите си потоци на живо от интернет.

Излъчване на подкаст за глас на Linux:

 sox -t mp3 http://www.linuxvoice.com/episodes/lv_s02e01.mp3 -t wav -r 22050 -c 1 - | sudo. / пифм - 102.3 

Единствената разлика между тази команда и предишния пример е, че вместо да сочи към местен MP3, сега насочвате към такъв, който се намира онлайн.

По същия начин можете да излъчвате онлайн радиостанция. Много станции публикуват файл M3U и можете да посочите към него:

 sox -t mp3 http://www.ndr.de/resources/metadaten/audio/m3u/ndrloop5.m3u -t wav -r 22050 -c 1 - | sudo. / пифм - 102.3 

Не всички станции излъчват потоци от MP3 файлове. Някои използват други формати като OGG. Всичко, което трябва да промените типа на входния файл, който преобразувате със сокс. Като:

 sox -t ogg http://network.absoluteradio.co.uk/core/audio/ogg/live.pls?service=a6bb -t wav -r 22050 -c 1 - | sudo. / пифм - 102.3 

Ако търсите онлайн радиостанции, ето голям списък от европейски радиостанции, които се разпространяват онлайн.

Кредит за изображението: Робърт Ашуърт