Loading... # 0x00 <div class="tip inlineBlock warning"> 未尽有关部门批准私人架设FM电台是违法的,轻则拘留重则判刑。本教程仅供实验、学习研究,切勿用作实际用途。 </div> # 0x01 安装 安装依赖组件 ```shell $ sudo apt install libsndfile1-dev ``` 检查是否有`rpi-mailbox`驱动,该驱动在2015年以后的Raspbian自带。 下载并安装所需程序 ```shell $ git clone https://github.com/ChristopheJacquet/PiFmRds.git $ cd PiFmRds/src $ make clean $ make ``` # 0x02 使用 FM发射信号的发射天线定义在GPIO 4(pin 7)号针脚上,可以在此针脚连接杜邦线增强信号。 ## 发射信号: ```shell $ sudo ./pi_fm_rds -audio sound.wav ``` ## 运行pi_fm_rds的一般语法: ```shell pi_fm_rds [-freq 信号频率] [-audio 音频文件] [-ppm 振荡器误差] [-pi 广播代码] [-ps 电台名称] [-rt 传输无线电文本] ``` ## 参数介绍: - `-freq`指定载波频率(以MHz为单位)。示例:`-freq 107.9` - `-audio`指定要作为音频播放的音频文件。采样率无关紧要:Pi-FM-RDS将重新采样并对其进行过滤。如果提供立体声文件,Pi-FM-RDS将产生FM立体声信号。示例:`-audio sound.wav`。支持的格式取决于`libsndfile`。这包括WAV和Ogg / Vorbis(以及其他),但不包括MP3。指定`-`作为文件名来读取标准输入上的音频数据(用于将音频传输到Pi-FM-RDS,见下文)。 - `-pi`指定RDS广播的PI代码。4个十六进制数字。示例:`-pi FFFF`。 - `-ps`指定RDS广播的电台名称(节目服务名称,PS)。限制:8个字符。示例:`-ps RASP-PI`。 - `-rt`指定要传输的无线电文本(RT)。限制:64个字符。示例:`-rt 'Hello, world!'`。 - `-ctl` 指定一个命名管道(FIFO),用作控制通道,在运行时更改PS和RT(见下文)。 - `-ppm` 以百万分率(ppm)表示您的Raspberry Pi振荡器误差,请参见下文。 默认情况下,PS在`Pi-FmRds`序列号之间来回切换,从`00000000`开始。PS每秒变化一次。 ## 高级发射音频: 如果使用参数`-audio -`,Pi-FM-RDS将读取标准输入的音频数据。这允许您将程序的输出传输到Pi-FM-RDS。例如,这可以用于使用Sox读取MP3文件: ``` sox -t mp3 http://www.linuxvoice.com/episodes/lv_s02e01.mp3 -t wav - | sudo ./pi_fm_rds -audio - ``` 或者将声卡的AUX输入传输到Pi-FM-RDS: ``` sudo arecord -fS16_LE -r 44100 -Dplughw:1,0 -c 2 - | sudo ./pi_fm_rds -audio - ``` # 0x03 END 其他问题请查看该[项目说明文件](https://github.com/ChristopheJacquet/PiFmRds) Last modification:October 24, 2019 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 如果觉得我的文章对你有用,请随意赞赏