Raspberry地下電臺  

十月 31, 2014
Facebook
Twitter

這個專題可以讓你將Raspberry Pi改造成強力的FM發射器,訊號範圍可以涵蓋自家或宿舍、DIY汽車電影院、高中球賽的場館,甚至是機車遊行(但要看隊伍的長度),這是我們目前見過用極少的材料就可以做出來的酷炫Pi裝置。
你將從可讓Raspberry Pi運作的最基本配備開始著手也就是SD卡、電源和開發板本身,然後再加上一條電線就可以了。PiFM軟體可巧妙地運用硬體,讓GPIO接腳產生擴展頻譜所用的時脈訊號,藉此輸出FM無線電的能量。

PiFM的原創者是奧利佛‧馬多斯(Oliver Mattos)和奧斯卡‧偉格(Oskar Weigl),並由萊恩‧葛拉索(Ryan Grassel)對其進行改良。現在由MAKE團隊所貢獻的PirateRadio.py程式碼不需輸入指令行便可自動進行循環播放,也能執行常見的音檔格式,而這個程式是由實習生溫特‧伍茲在MAKE實驗室中寫出來的。

图片

筆記:Pi的放送頻率範圍從1MHz250MHz,因此可能干擾政府頻道。設定頻道限制,將你的發送頻率限制在87.5MHz108.0MHz之間(見步驟3),並選擇還沒有被用到的頻率,以免與已經得到許可的頻道互相衝突。

材料


步驟一:製作天線

  • 嚴格說起來,只需要一條線纜就可以做天線了。如果要做個較佳的天線,您可以把75公分的的線纜接到第4接腳,並把一條75公分的電源線指向相反方向。(如此就可以製做出100MHz的半波雙極天線,接近FM的中間波段。)我們用了40公分12 AWG實心線,因為線太長會導致整個裝置重心不穩。
  • 把一條母跳線剪開並剝線,再焊接到天線末端,然後用熱縮套管進行絕緣處理。
  • 在接合處滴上熱熔膠作為支撐,並把它黏到Raspberry PiGPIO4接腳。熱熔膠能讓天線更硬,站得比較穩。
  • 注意:若您有Raspberry Pi開發組件,而且趕時間,可以把公跳接線接到Cobbler轉接板就好!(組件中兩者都有。)它可以用,但範圍大約只有40公分12 AWG實心銅線的一半。

步驟二:刷新SD卡並放入音樂

  • 為了節省您進行設定的時間,MAKE實驗室製做了磁碟映像檔,可以在這裡下載。(只想要原始碼的進階玩家可以在介紹段落裡找到連結。)
  • 原本的PiFM程式碼以令人驚艷的結果驗證了這個概念。MAKE映像檔省去了把SD卡分割成systemdata的工作,還能自動裝載資料分割區。它使用的CPU和原本程式碼用量相比微不足道,並且能播放MP3FLAC和其他格式音檔。另外,它開機後便會執行PirateRadio.py指令碼,所以在發射器啟動後就會播放您放進去的音樂。最後這一點會節省您很多時間:不能直接把檔案拖曳到SD卡,必須先刷新才能播放。
  • 把映像檔刷新到SD卡。若您對這個程序不熟悉,沒關係,在這裡有不錯的教學。在Windows可以使用Win32DiskImager,如果是OS X就用Command Line Tools (1)的說明。這裡我就先假設Linux已經沒人在用了。
  • OS XLinux使用者直接開啟PirateRadio分割區就可以執行。如果是使用Windows,請參考我們WinSCP藉由SSH連接至Pi 的說明。
  • 新增音樂時,只要將您的演出者或專輯資料夾新增至SD卡「Pirate Radio」分割區的根目錄。您的音樂可以放在這些資料夾內,所以不用把所有音樂檔一股腦丟到同一個目錄裡。

步驟三:編輯config檔

图片

  • 可以在pirateradio.config檔中設定您想播放的電臺頻率。用文字編輯器開啟之後,可以看到這樣的文字:

[pirateradio] 
 frequency = 108.2 
shuffle = True 
repeat_all = True

  •  frequency 設為你想播放的電臺頻道。可用的FM頻率範圍通常是87.5MHz108.0MHz之間。(108.2是我們的測試用電臺可以達到的最高頻率,而且沒有和其他電臺競爭。)
  •  shuffle 設為 True 以執行隨機播放檔案,或設為 False 使其依字母順序播放。
  • 若想要循環播放,則可以把 repeat_all 設為 True

步驟四:電臺開播!

調整FM收音機的頻率來收聽你的頻道,並接上Raspberry Pi的電源,等待約15秒後你便能清楚聽到播放的音樂!

步驟五:運作原理

图片

  • 引述PiFM wiki內容:「它使用Raspberry Pi設計來以GPIO接腳產生展頻時脈訊號的硬體輸出FM無線電能量。意思就是,若想要把Raspberry Pi變成一臺(強得莫名其妙)的FM發射器,只需把一條作為天線的線纜(只要20公分就行)接到GPIO第4接腳並執行程式碼。」
  • 頻率調節的方法是「以分數式分頻器調整頻率」。舉例來說,若目標廣播頻率為100MHz,則訊號設定在100.025Mhz和99.975Mhz之間震盪,產生聲音訊號。
  • Python程式碼的預設值為87.9FM,並把隨機播放和循環播放設為「關」。它會掃描SD卡上的音樂檔並依據config檔中的選項建立播放清單。接著它會把每個檔案送到對應的解碼器,之後再將這些檔案再重新編碼成PiFM能處理的格式。如此您除了可以播放WAV檔,也能播放MP3、FLAC、M4A、AAC和WMA檔。

步驟六:更進一步

  • 把所有東西裝到Raspberry Pi開發組件的塑膠盒裡,就可以出發了。或者,如果想看起來更酷或是更像危險份子,就來做個自己的外殼。在 thingiverse.com/makelabs可以下載由MAKE實驗室管理者山姆‧費里曼所設計的酷炫無線電塔外殼。
  • 接著裝上RadioShackUSB電池組,讓你可以把電臺帶到任何你想放送的地方(當然也可以裝進無線電塔裡)。
  • 注意:若您遇到廣播範圍的問題,確認一下天線接在哪一個接腳。在MAKE實驗室裡,我們被天線的效能不足困擾了好幾個小時,最後發現只是把它插到隔壁接腳去了。
(譯:屠建明)
[原文]
Social media & sharing icons powered by UltimatelySocial