Raspberry pi做成FM射頻發射器

用 Raspberry Pi 做一個小型 FM 調頻廣播電臺

2015-02-11  經驗  8 條評論 熱度 711℃

今天和同學聊天談到 Raspberry Pi 樹莓派的一個有趣玩法:把它變成一個小型的 FM 調頻發射站!想起自己初中時也有過這個想法,但是實踐過程中遇到了很多問題,摸索了很久才成功做出來。於是我便想寫篇教程,把我的製作經驗告訴大家,讓大家更快速簡單地實現這一想法。

你需要準備

1. 一隻樹莓派

2. 一根用來充當天線的 20cm 母頭杜邦線

步驟

1. 下載由國外玩家 Oliver Mattos 與 Oskar Weigl 製作的 PiFM 開源代碼模塊(下載地址:百度雲

2. 將其解壓後得到的 pifm 文件夾拷貝至樹莓派的 SD 卡上

3. 給樹莓派的 GPIO 4 引腳插上準備好的杜邦線

make-a-pifm-gpio

4. 在終端中進入 pifm 目錄後執行下列語句

sudo ./pifm sound.wav 103.3

5. 此時打開你的收音機設備,調到 103.3MHz 應該就能聽到美妙的音樂了

參數說明

sound.wav

指的是示例音頻文件的路徑,可以把它替換成自己的音樂。但要注意只能使用 16 位單聲道的 WAV 文件!

103.3

指的是發射頻率。樹莓派硬件上可支持的範圍爲 1MHz-250MHz,不過中國境內大部分收音機只能接收到 76MHz-108MHz 的頻率,所以推薦在其中挑選一個空閒頻率來使用。

如果你想播放立體聲 WAV 格式並指定採樣率可以使用下列語句

sudo ./pifm left_right.wav 103.3 22050 stereo

22050

指的是音頻採樣率是 22050Hz。

stereo

指的是以立體聲模式播放該文件。如果你希望播放單聲道文件,把它改爲 mono 或刪除這一參數即可。

如果你想播放 MP3 格式可以使用下列語句

ffmpeg -i input.mp3 -f s16le -ar 22.05k -ac 1 - | sudo ./pifm - 103.3

這裏使用了 ffmpeg 解碼器,它的作用是把“input.mp3”文件以模式 s16le 與 22050Hz 的採樣率進行實時解碼並作爲 PiFM 模塊的輸入。由於 s16le 的模式代表生成 16 位的單聲道 WAV 格式,所以此處不需另外填寫參數。

還可以通過 USB 接口的麥克風來實現喊話功能

arecord -d0 -c2 -f S16_LE -r 22050 -twav -D copy | sudo ./pifm - 103.3

用途

它可以被做成一臺便攜式的 FM 發射器,隨身攜帶來傳遞你的個性化聲音。

它可以用來做對講機,住宿學生黨的神器。

它可以用來做校園廣播。

……

常見問題

1. 收音機裏聽到的全是雜音

請從以下兩個方面嘗試:更換一個頻率,檢查天線接觸是否良好。

2. 執行語句時提示“找不到命令”或收音機中噪音消失但沒有聲音

通常是因爲你沒有足夠的權限來運行 pifm,或是音頻文件路徑有誤。可以嘗試使用下述語句給文件提權。

sudo chmod 777 ./pifm

3. 運行時收音機中發出響亮的“嗶”聲

可能是因爲你亂來被和諧了……開個玩笑~多半是因爲文件被佔用無法讀取,就像一個正在被使用的文件不能被刪除一樣。最簡單的方法就是重啓系統。

4. 聽到的聲音播放速度不正常

基本是由於你選擇了錯誤的採樣率及聲道,仔細檢查一下吧!

5. 收音距離不夠長

可以嘗試延長杜邦線,把它纏繞在水管或是晾衣杆上,效果會好很多。

6. 聽說法律規定私人搭建大功率無線電發射站是要被查水錶的,是不是真的快告訴我

放心啦,樹莓派的發射功率很小的,幻想着能用它來干擾衛星或是航天飛機什麼的基本上是不可能的,所以 ZF 自然不會來找你麻煩的。不過,請注意調頻內容一定要積極向上哦!

7. 我還有問題

推薦你到模塊開發者提供的 Wiki 上逛逛,說不定會有不少收穫哦~

樹莓派

轉自“鏡態極研”


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章