我們的需求
使用 樹莓派
和收音機(jī)模塊來收聽FM廣播
硬件環(huán)境
- 樹莓派2B+
我們將使用到樹莓派的I2C總線 - TEA5767帶天線(四針腳)
不帶天線的芯片也大同小異,(通過SDA和SCL來傳輸數(shù)據(jù)) -
母對母的杜邦線 x4
TEA5767
軟件環(huán)境與準(zhǔn)備工作
- 打開樹莓派的I2C接口
- i2c-tools
- 通過
sudo apt install i2c-tools
安裝
安裝好后法希,接上FM模塊枷餐,執(zhí)行sudo i2cdetect -y 0
, 能看到模塊的i2c總線地址是0x600 1 2 3 4 5 6 7 8 9 a b c d e f
- 通過
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
```
- Python 3
- smbus
- 通過
https://procrastinative.ninja/2014/07/21/smbus-for-python34-on-raspberry/
安裝
- 通過
- websocket
- 通過pip安裝
- quick2wire
- 通過
https://github.com/quick2wire/quick2wire-python-api.git
來安裝
- 通過
- smbus
打開樹莓派的I2C接口
sudo raspi-config
打開配置工具后苫亦,進(jìn)入Interfacing Options
=> SPI
=> Enable
TEA5767 控制代碼
感謝開源項目https://github.com/LinuxCircle/tea5767
毛肋,我們會用到這個文件
https://github.com/LinuxCircle/tea5767/blob/master/tea5767stationscanner.py
將上面的文件下載后放入當(dāng)前目錄,以python自帶IDE為準(zhǔn)屋剑,進(jìn)入python
$ python
>>> from tea5767stationscanner import tea5767
>>> radio = tea5767()
>>> radio.writeFrequency(91.6, 0, 1) # 收聽91.6MHz
當(dāng)然這么使用有點麻煩润匙,你可以使用下面這個python代碼來更方便地控制收音機(jī)
from tea5767stationscanner import tea5767
radio = None
def main():
radio = tea5767()
show_welcome()
for frequency in loop():
print('To %s MHz'%frequency)
radio.writeFrequency(frequency, 0, 1)
def loop():
while True:
line = input()
if line == 'quit':
break
else:
try:
line = float(line)
if line < 76.0 or line > 108.0:
raise ValueError()
yield line
show_welcome()
except ValueError:
print('frequency region 76.0 ~ 108.0')
def show_welcome():
print('??輸入[ 76 ~ 108 ],輸入quit退出程序')
main()
參考
樹莓派gpio圖示
確保樹莓派2B+(同樹莓3)的針腳指向你唉匾,并保持在右上角孕讳,那么這些針腳代表有著以下的含義