我喜欢在做东西或做饭的时候听收音机,但我住的地方 FM 接收很糟糕。有了互联网,收听世界各地的广播电台是一种享受,但我不喜欢用智能手机听音乐,所以通过谷歌搜索,我找到了几种解决方案。
我将此项目基于另一个教程: akellyirl 的Arduino / Raspberry Pi Internet Radio 。代码是在 Raspberry Pi 上用 Python 编写的,基本上使用 Linux 音乐播放器守护程序 (mpd) 和播放器 (mpd)。有一个库nanpy可以让 Python 与控制按钮和 LCD 的 Arduino 进行通信。
我为带有按钮的 Arduino 使用了 LCD/键盘屏蔽:用于 Arduino 的SainSmart LCD Keypad Shield ,后来添加了一个 4 按钮条,我从一个坏掉的闹钟中报废了它。首先我使用的是带有 USB WiFi 适配器的 Raspberry Pi 2,但现在我使用的是内置 WIFI 且无需天线的 RP3。
最困难的部分是找到我想要的电台的正确 URL。最后我找到了这个程序:URL HELPER ,它可以嗅探您所在的站点并显示正在播放的媒体的 URL。对于声音,我使用了一对从废品中回收的有源电脑扬声器。
RP3 的安装说明(来自Arduino / Raspberry Pi Internet Radio by akellyirl in Arduino ):
1. 更新 Raspbian 到最新的包:
$ sudo apt-get update
2. 安装 mpd/mpc 包:
$ sudo apt-get install mpc mpd
我们希望能够通过在 Pi 上运行的 Python 与 Arduino 对话。为此,我们需要安装 Python 的 nanpy 库和 Arduino 的 nanpy 固件:
1. 安装 Arduino 包为 Arduino 构建 nanpy 固件:
$ apt-get install arduino
2. 获取 Python 的 nanpy 库并从 /home/pi 中提取:
$ wget http://pypi.python.org/packages/source/n/nanpy/nanpy-v0.7.tar.gz $ tar xvf nanpy-v0.7.tar.gz
3. 获取 Python 的 setuptools(nanpy 的依赖项)并提取:
$ wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefe74e $ tar xvf setuptools-0.6c11.tar.gz
4. 获取 Python 的 pyserial(nanpy 的依赖项)并提取:
$ wget http://pypi.python.org/packages/source/p/pyserial/pyserial-2.6.tar.gz $ tar xvf pyserial-2.6.tar.gz
5、进入setuptools目录,安装Python setuptools:
$ cd setuptools-0.6c11 $ sudo python setup.py install
6、进入nanpy目录,安装Python nanpy库:
$ cd ../nanpy $ sudo python setup.py install
7、进入串口目录,安装Python串口库:
$ cd ../pyserial-2.6 $ sudo python setup.py install
现在我们已经有了我们需要的文件,让我们将 nanpy 固件放在 Arduino 上。
nanpy允许在 Raspberry Pi 上运行的 Python 程序使用传统的 Arduino-Sketch 语法来操作 Arduino,例如从 Arduino 读取模拟输入的 Python 程序可能会读取:
int val = Arduino.analogRead(14)
Nanpy 有两个组件:
我们在最后一步安装了 nanpy 的 Python 部分并在 Pi 上下载了 nanpy 的 Arduino 部分。现在我们需要将 nanpy 固件上传到 Arduino。
将 Arduino 插入 Raspberry Pi 的 USB。
1.进入nanpy固件目录,上传到Arduino:
$ cd ../nanpy/firmware $ export BOARD=uno $ make $ make upload
如果您收到在 /dev/ttyACM0 上找不到设备的报告,请将 Arduino 插入另一个 USB 端口。
我创建了一个播放列表脚本和一个 Python 脚本(在代码选项卡中发布)并使 Python 脚本在 Raspberry 启动时自动运行。我还添加了另一个按钮来显示一些菜单选项,例如显示 IP 或选择音频输出。
最后更新:我重做了它:,添加了用于拨号和音量的旋转编码器,并 3d 打印了外壳:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !