项目简介
本项目是一个集成了音乐播放、网络控制和物理交互功能的嵌入式系统项目,主要用于在树莓派等嵌入式平台上控制和管理一个老式收音机设备,实现对传统收音机的现代化改造与功能升级。
项目的主要特性和功能
- 音乐播放:借助树莓派上的音乐播放器程序(如 mpg123),可播放本地存储设备(如 SD 卡或 USB 驱动器)上的 MP3 等音乐文件。用户能通过物理按钮或网络请求选择音乐曲目、播放列表或频道。
- 网络控制:基于 PHP 和 HTML 的 Web 服务器实现远程控制和状态更新。用户通过 Web 浏览器发送请求,PHP 脚本处理请求并写入特定文本文件,树莓派上的程序读取并执行相应操作,可控制播放特定歌曲、切换频道或调整音量。
- 物理交互:通过树莓派的物理引脚和按钮实现本地控制,用户可进行音乐曲目选择、频道切换、音量调整等操作,还具备使用磁力感应切换歌曲或频道等特殊功能。
- 文件管理和处理:项目包含处理音乐文件和文本文件的脚本与程序,如 Python 脚本生成 JSON 格式的专辑信息,C 语言程序读取和控制音量设置。
安装使用步骤
假设用户已经下载了本项目的源码文件,安装步骤如下: ``` sudo apt-get update sudo apt-get upgrade sudo apt-get install apache2 php git python3-pip wiringpi pip3 install tinytag gcc -o musiikki musiikki.c -l wiringPi gcc -o volume volume.c -l wiringPi gcc -o viesti viesti.c mkdir /home/pi/control systemctl enable volume.service systemctl enable viesti.service systemctl enable musiikki.service
volume.c, pitää ehkä säätää oikea ulostulo tähän: "amixer sset Headphone,0" Eli Headphonen tilalle joku toinen tällä voi katsoa vaihtoehtoja: "amixer scontrols"
Serial asetus: raspi-config/interface options/Serial port shell accessible over serial: Ei serial port hardware enabled: Kyllä ```
服务配置
/etc/systemd/system/volume.service
``` [Unit] Description=Äänenvoimmakkuus After=network.target
[Service] ExecStart=/home/pi/volume WorkingDirectory=/home/pi StandardOutput=inherit StandardError=inherit Restart=always User=root
[Install] WantedBy=multi-user.target ```
/etc/systemd/system/viesti.service
``` [Unit] Description=Viestin lähettäminen After=network.target
[Service] ExecStart=/home/pi/viesti WorkingDirectory=/home/pi StandardOutput=inherit StandardError=inherit Restart=always User=root
[Install] WantedBy=multi-user.target ```
/etc/systemd/system/musiikki.service
``` [Unit] Description=Musiikin toisto After=network.target
[Service] ExecStart=/home/pi/musiikki WorkingDirectory=/home/pi StandardOutput=inherit StandardError=inherit Restart=always User=root
[Install] WantedBy=multi-user.target ```
安装完成后,用户可通过物理按钮或 Web 浏览器对收音机进行控制,实现音乐播放、频道切换、音量调整等功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】