Du kan bruke Raspberry Pi til en rekke geeky prosjekter. Men jeg har nylig funnet ut at du også kunne bruke den dårlige lille enheten som en FM-sender også. Og det gjør uten mye tinkering.

En haug med folk over på Code Club pihack skrev et program for å bruke maskinvare på Raspberry Pi som er ment å generere spread spectrum klokke signaler til å isteden sende FM-radiosignaler.

Bakgrunn

Her er litt bakgrunn. I tillegg til de kjente lyd-, Ethernet-, HDMI- og USB-porter på Raspberry Pi, har enheten også grensesnitt som er designet for å koble mer direkte til andre chips og moduler.

Disse GP-portene (General Purpose Input / Output) er de 26 pinnene (arrangert i en 2 × 13 stripe) som du ser på bordet. Disse grensesnittene er ikke plug-and-play, men kan styres gjennom programvare.

For å overføre et overraskende sterkt FM-signal, er alt du trenger å koble til en ledning til GPIO 4-pin. Selv uten ledningen, vil FM-signalet sendt av Raspberry Pi bli hentet av nærliggende FM-mottakere.

Et forsiktig ord : Loven for kringkasting av FM-signaler varierer fra land til land. Vennligst sjekk dine lokale regler før du prøver dette prosjektet.

Få, sett, gå

Koble opp Pi og hodet til kommandolinjen enten via SSH eller ved å logge direkte inn på enheten.

Vi tar nå koden skrevet på Code Club hackfest og trekker den ut:

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

Kataloget inneholder nå seks filer. Overraskende er det alt der er til det. Du kan nå kringkaste den medfølgende "sound.wav" -filen:

 sudo ./pifm sound.wav 102.3 

Ta nå en FM-mottaker og sett den til FM 102.3, og du bør høre Star Wars-temamusikken. Du kan faktisk endre kringkasting fra hvor som helst mellom 88 MHz og 108 MHz ved å legge til kanalfrekvensen på slutten av kommandoen.

Broadcast spor

Du kan også spille andre lydfiler, men de må bare være 16-bits 22050 Hz mono og i WAV-format. Det kan virke som en ekte begrensning, men det er det egentlig ikke. Alt du trenger er SoX lydutveksling lydredigerer som vil behandle din MP3-fil og konvertere den til WAV-filen on-the-fly.

Installer lydredigering og avhengighet med:

 sudo apt-get installere sox libsox-fmt-all 

Når det er gjort, skriv inn følgende kommando, og erstatt "SomeSong.mp3" med navnet på MP3-filen du ønsker å spille:

 sox -t mp3 SomeSong.mp3 -t wav -r 22050 -c 1 - | sudo ./pifm - 102.3 

Den første delen av kommandoen oversetter MP3-filen til en WAV-fil, endrer lydsamplingsfrekvensen til 22050 og ned-blander sporet til mono. Det konverterte sporet sendes deretter til standardutgangen, betegnet med bindestrekskiltet (-) og ledes deretter (|) til standardinngangen til pifm-kommandoen.

Den eneste forskjellen i pifm kommandoen i eksempelet ovenfor er at i stedet for å spesifisere navnet på filen som skal sendes, ber vi skriptet om å sende standardinngangen i stedet.

Hvis du fortsatt har FM-mottakeren din innstilt til 102, 3-frekvensen, bør du nå høre din MP3! Igjen, akkurat som det opprinnelige eksemplet, kan du erstatte frekvensen til hvor som helst mellom 88 MHz og 108 MHz.

Broadcast podcasts

Du kan gjøre noen fantastiske ting med SoX. Du kan for eksempel bruke den til å kringkaste favorittstrømmene dine live fra Internett.

For å kringkaste Linux Voice podcast:

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

Den eneste forskjellen mellom denne kommandoen og det forrige eksempelet er at i stedet for å peke på en lokal MP3, peker du nå på en som bor online.

Du kan også sende en elektronisk radiostasjon. Mange stasjoner publiserer en M3U-fil, og du kan peke på det:

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

Ikke alle stasjoner sender MP3-strømmer. Noen bruker andre formater som OGG. Alt du trenger for å endre typen av inngangsfilen du konverterer med sox. Som for eksempel:

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

Hvis du leter etter elektroniske radioer, er det en stor liste over europeiske radiostasjoner som streamer på nettet.

Bilde kreditt: Robert Ashworth