烧写树莓派系统
- 到树莓派官网下载官方安装器:https://www.raspberrypi.com/software/
- 树莓派引脚定义网页:https://pinout.xyz/
- 系统选择:Raspberry Pi OS(other) --> Raspberry Pi OS(64 bit)
- 选择tf存储卡
- 右下角的齿轮进行配置:
设置主机名:默认就行
选择开启SSH服务;使用密码登录;设置用户名,密码(均可自定义)
选择配置wifi:输入热点名和热点密码,WIFI国家选择CN
选择语言设置:Asia/Shanghai
键盘布局:US - 执行 烧录 操作,第一次烧录,此软件需要去网上下载树莓派的镜像,因此比较慢
- tf卡插入到树莓派进行启动系统
- 在路由器上查看树莓派的IP地址,用户ssh登录
更改系统参数
- 修改启动配置文件:/boot/config.txt
- 在以下行 disable_overscan=1 下添加gpu_freq=250
- 如果无法修改文件,可以sz到windows然后再rz到linux中;
- 重启设备:reboot
安装PiFMAdv的依赖及编译
- 安装libsndfile:apt-get install libsndfile1-dev;apt install libsoxr-dev
- 下载PiFmAdv:https://github.com/miegl/PiFmAdv.git
- 修改PiFmAdv/src下的Makefile文件
- 修改如下:
...
LSCPU := $(shell lscpu | grep "Model name" | awk '{print $$3}')
...
...
else ifeq ($(UNAME), aarch64)
ifeq ($(LSCPU), Cortex-A72)
CFLAGS = $(STD_CFLAGS) -march=armv8-a -mtune=cortex-a72 -ffast-math -DRASPI=4
TARGET = pi4
else
CFLAGS = $(STD_CFLAGS) -march=armv7-a -ffast-math -DRASPI=2
TARGET = pi2
endif
else
CFLAGS = $(STD_CFLAGS)
TARGET = other
endif
...
- 在PiFmAdv/src执行make,就会出现pi_fm_adv可执行文件
广播默认音频文件
默认会使用GPIO 4银脚进行FM广播发射,默认支持wav格式音频文件;
使用命令:./pi_fm_adv --audio sound.wav --freq 107.9
使用手台FM功能进行收听
广播除WAV之外的音频文件
- 安装格式装换工具:apt-get install sox libsox-fmt-all
- 可支持mp3 ogg等格式的转换,转换成wav输出到标准输出,pi_fm_adv总标准输入获取数据进行广播,命令行如下:
sox -t mp3 ruok.mp3 -t wav - | ./pi_fm_adv --freq 107.9 --audio -
sox -t ogg xxx.ogg -t wav - | ./pi_fm_adv --freq 107.9 --audio -
使用USB麦克风进行语言讲话广播
- 使用USB麦克风插入到树莓派的USB接口中
- 查看USB麦克风的card ID和device ID:
root@raspberrypi:/home/PiFmAdv/src# arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
- plughw中第一位是card ID,第二位为device ID命令行如下:
arecord -D plughw:1,0 -c 2 - | ./pi_fm_adv --freq 107.9 --audio -