使用树莓派和TEA5767收听广播

我们的需求

使用 树莓派 和收音机模块来收听FM广播

硬件环境

  • 树莓派2B+
    我们将使用到树莓派的I2C总线
  • TEA5767带天线(四针脚)
    不带天线的芯片也大同小异,(通过SDA和SCL来传输数据)
  • 母对母的杜邦线 x4


    使用树莓派和TEA5767收听广播_第1张图片
    TEA5767

软件环境与准备工作

  • 打开树莓派的I2C接口
  • i2c-tools
    • 通过 sudo apt install i2c-tools 安装
      安装好后,接上FM模块,执行sudo i2cdetect -y 0, 能看到模块的i2c总线地址是0x60
          0  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 来安装

打开树莓派的I2C接口

sudo raspi-config

打开配置工具后,进入Interfacing Options => SPI => Enable

TEA5767 控制代码

感谢开源项目https://github.com/LinuxCircle/tea5767,我们会用到这个文件
https://github.com/LinuxCircle/tea5767/blob/master/tea5767stationscanner.py

将上面的文件下载后放入当前目录,以python自带IDE为准,进入python

$ python
>>> from tea5767stationscanner import tea5767
>>> radio = tea5767()
>>> radio.writeFrequency(91.6, 0, 1) # 收听91.6MHz

当然这么使用有点麻烦,你可以使用下面这个python代码来更方便地控制收音机

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)的针脚指向你,并保持在右上角,那么这些针脚代表有着以下的含义


使用树莓派和TEA5767收听广播_第2张图片
树莓派gpio

你可能感兴趣的:(使用树莓派和TEA5767收听广播)