UP-FM Transmitter: Difference between revisions

From Iskomunidad
No edit summary
No edit summary
Line 132: Line 132:




You will get the following warning message but this can be safely ignored. This is due to the fact that you are using a piped output to pifm and sox is issuing a warning that it is not possible to go back to the beginning of the stream and write the correct size into the RIFF/WAVE header, like it would be possible with a physical file.
You will get the following warning message but '''this can be safely ignored'''. This is due to the fact that you are using a piped output to pifm and sox is issuing a warning that it is not possible to go back to the beginning of the stream and write the correct size into the RIFF/WAVE header, like it would be possible with a physical file.




          '''''wav: Length in output .wav header will be wrong since can't seek to fix it
'''''





Revision as of 08:42, 28 April 2014

DESCRIPTION

A Raspberry Pi-based program FM transmitter that plays online UP-FM music radio. Radio receivers can tune in to 87.5MHz if the transmitter is in range.

Individuals from the different UP campuses, UP alumni and friends in different locations, lovers of Filipino indie music are encouraged to build and use this device to broadcast UP-FM in their areas.


COMPONENTS

A. For PIFM:


  • Raspberry PI (model B).

  • SD Card with Raspbian "Wheezy" OS (operating system) installed.


  • Power Brick (5 volts, 2 amperes)

  • Solid wire,no.22 and GPIO Cable (for the antenna)

  • Soldering iron, Soldering lead, Electrical tape


B. For Programming:


PROCEDURES

A. Making a Simple Antenna

Since you may not have an ideal antenna, you will use a solid wire (no.22) as substitute. Cut a solid wire about 32 centimeters and stripe one end at least 1 cm. Also cut the GPIO cable wire near the socket and leave at least 1 cm wire on it. Stripe the wire near the GPIO socket. Combine both ends of the solid wire and GPIO socket using lead and soldering iron. Wrap the soldered wire and GPIO with the tape (see pictures below).


B. Installing and Running Raspbian "wheezy

You will now prepare the PIfm in Raspberry PI. To do so, you must have an SD card, with Raspbian "wheezy" OS installed. One way to do it is to download and install the Win 32 disk imager to your windows PC. Also download zip file of Raspbian "wheezy" and extract the file. Plug in your SD card. Write the disk image file on the SD card.Then you have now the installed Raspbian "wheezy" OS in your SD card.


Enabling network connection



C. Programming the PIFM

Once you have installed the Raspbian "wheezy" and ran it to your Raspberry PI, you can now program the UP-FM transmitter from LXterminal.

  • open your lxterminal.


  • create a dedicated directory within the home directory and download the pifm files from icrobotics site as follows:


        cd ~
        mkdir pifm
        cd pifm 
        wget http://www.icrobotics.co.uk/wiki/images/c/c3/Pifm.tar.gz
        tar -xvf Pifm.tar.gz


  • download the application called sox (Sound Exchange) package. This is required to stream the internet radio and pipe it to PIFM program for transmission.


        sudo apt-get install sox libsox-fmt-all


  • create a script to make it easier to execute.


        sudo nano pifmradio.sh


Type following command line inside the script and press ctrl+x, Y and then Enter to save.


#!/bin/bash
sox -v .9 -t mp3 "http://updox.upd.edu.ph/stream/2/;stream.nsv" -t wav --input-buffer 80000 -r 22050 -c 1 - | sudo /home/pi/pifm/pifm - 87.5


  • Change the mode of the script to be executable.


        sudo chmod +x pifmradio.sh


  • Run it as follows to run it in the background.
        ./pifmradio.sh &
       


Autostarting UP-FM at boot


You will get the following warning message but this can be safely ignored. This is due to the fact that you are using a piped output to pifm and sox is issuing a warning that it is not possible to go back to the beginning of the stream and write the correct size into the RIFF/WAVE header, like it would be possible with a physical file.


          wav: Length in output .wav header will be wrong since can't seek to fix it





Development Team

  • Jhon Mark Sorio
  • Nestor Tiglao (consultant)
  • Peter Sy (project management)
UP-FM transmitter in action
see sample clip


Cost Estimate

  • Raspberry Pi Type B 512MB: Php 1,500
  • SD Card
  • wire antenna


References




See Also