littlebot
Published on 2025-03-31 / 2 Visits
0

【源码】基于Busybox shell脚本的网络收音机控制系统

项目简介

本项目借助Busybox shell脚本达成对网络收音机播放行为的智能控制。用户在收听广播时,常受节目间穿插的糟糕音乐干扰,该系统能在歌曲播放时自动调低音量,歌曲结束后再调高音量,有效提升收听体验。

项目的主要特性和功能

  1. 收音机操作控制:运用Busybox shell脚本和UPnP命令,可控制收音机的播放、音量调节以及频道切换。
  2. 自动音量调节:当播放音乐时自动降低音量,歌曲结束后恢复音量。
  3. 歌曲时长检测:通过调用MusicBrainz等互联网音乐数据库的API,自动检测当前播放歌曲的时长。
  4. 跨设备支持:可在运行Busybox且支持UPnP接口的多种品牌型号收音机上使用。

安装使用步骤

  1. 获取项目源码文件并解压,得到所有必要的脚本和工具。
  2. 确保收音机设备支持Busybox且具备UPnP接口。
  3. 在PC上使用python -m pyftpdlib -i 192.168.178.49 -w -p 2121 -d /home/me/FTP命令搭建临时FTP服务器,用于与收音机进行文件交换。
  4. 获取必要工具:
    • 从网络找到适用于收音机Arm芯片的netcat工具,或者自行编译。通过ftpget -v 192.168.178.49 -P 2121 /tmp/netcat netcat命令将其下载到收音机的/tmp目录,并使用chmod +x /tmp/netcat赋予执行权限。
    • 编译getq工具:
    • config.mak中设置TARGET = arm-linux-musleabi
    • 执行make(耗时约两小时)和make install
    • 使用~/Dev/musl/musl-cross/musl-cross-make/output/bin/arm-linux-musleabi-gcc -Wall -g -static getq.c -o getq编译getq
  5. 在收音机上执行ifconfig lo 127.0.0.1命令,确保localhost配置正确,可使用ifconfig命令检查是否显示UP LOOPBACK RUNNING
  6. 获取电台URI:若收音机有互联网服务可选择收藏电台,可从中获取所需电台的URI;也可通过ftpput 192.168.178.49 -v -P 2121 /tmp/myradio.cfg myradio.cfg命令从收音机获取/tmp/myradio.cfg文件,查找电台URI。还可使用favlist.exe工具根据playlist.csv文件重新创建电台预设。
  7. 通过ftpget 192.168.178.49 -P 2121 /tmp/MuteMusic.sh MuteMusic.sh命令将MuteMusic.sh脚本下载到收音机的/tmp目录,并使用chmod +x /tmp/MuteMusic.sh赋予执行权限。
  8. 执行/tmp/MuteMusic.sh脚本,开始控制收音机。

注意事项: - 本项目要求用户具备一定的Linux/Unix系统编程和网络知识。 - 本项目不适用于不支持Busybox或无开放UPnP接口的设备。 - 使用前请仔细阅读相关文档,确保收音机满足项目要求。

下载地址

点击下载 【提取码: 4003】